SConscript 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. import os
  2. from building import *
  3. import rtconfig
  4. cwd = GetCurrentDir()
  5. src = []
  6. CPPPATH = []
  7. #
  8. # atm
  9. #
  10. if GetDepend(['ATM_ENABLED']):
  11. src += Glob("iotkit-embedded/src/atm/at_api.c")
  12. if GetDepend(['AT_TCP_ENABLED']):
  13. src += Split("""
  14. iotkit-embedded/src/atm/at_conn_mbox.c
  15. iotkit-embedded/src/atm/at_conn_mgmt.c
  16. iotkit-embedded/src/atm/at_tcp.c
  17. """)
  18. if GetDepend(['AT_MQTT_ENABLED']):
  19. src += Glob("iotkit-embedded/src/atm/at_mqtt.c")
  20. if GetDepend(['AT_PARSER_ENABLED']):
  21. src += Glob("iotkit-embedded/src/atm/at_parser.c")
  22. CPPPATH += [cwd + '/iotkit-embedded/src/atm']
  23. #### atm end ####
  24. #
  25. # infra
  26. #
  27. src += Glob('iotkit-embedded/src/infra/infra_defs.c')
  28. if GetDepend(['INFRA_AES']):
  29. src += Glob('iotkit-embedded/src/infra/infra_aes.c')
  30. if GetDepend(['INFRA_CJSON']):
  31. src += Glob('iotkit-embedded/src/infra/infra_cjson.c')
  32. if GetDepend(['INFRA_COMPAT']):
  33. src += Glob('iotkit-embedded/src/infra/infra_compat.c')
  34. if GetDepend(['INFRA_HTTPC']):
  35. src += Glob('iotkit-embedded/src/infra/infra_httpc.c')
  36. if GetDepend(['INFRA_JSON_PARSER']):
  37. src += Glob('iotkit-embedded/src/infra/infra_json_parser.c')
  38. if GetDepend(['INFRA_LOG']):
  39. src += Glob('iotkit-embedded/src/infra/infra_log.c')
  40. if GetDepend(['INFRA_MD5']):
  41. src += Glob('iotkit-embedded/src/infra/infra_md5.c')
  42. if GetDepend(['INFRA_MEM_STATS']):
  43. src += Glob('iotkit-embedded/src/infra/infra_mem_stats.c')
  44. if GetDepend(['INFRA_NET']):
  45. src += Glob('iotkit-embedded/src/infra/infra_net.c')
  46. if GetDepend(['INFRA_PREAUTH']):
  47. src += Glob('iotkit-embedded/src/infra/infra_preauth.c')
  48. if GetDepend(['INFRA_LOG_NETWORK_PAYLOAD']):
  49. src += Glob('iotkit-embedded/src/infra/infra_prt_nwk_payload.c')
  50. if GetDepend(['INFRA_REPORT']):
  51. src += Glob('iotkit-embedded/src/infra/infra_report.c')
  52. if GetDepend(['INFRA_SHA1']):
  53. src += Glob('iotkit-embedded/src/infra/infra_sha1.c')
  54. if GetDepend(['INFRA_SHA256']):
  55. src += Glob('iotkit-embedded/src/infra/infra_sha256.c')
  56. if GetDepend(['INFRA_STRING']):
  57. src += Glob('iotkit-embedded/src/infra/infra_string.c')
  58. if GetDepend(['INFRA_TIMER']):
  59. src += Glob('iotkit-embedded/src/infra/infra_timer.c')
  60. CPPPATH += [cwd + '/iotkit-embedded/src/infra']
  61. #### infra end ####
  62. #
  63. # mqtt
  64. #
  65. if GetDepend(['MQTT_COMM_ENABLED']):
  66. src += Glob('iotkit-embedded/src/mqtt/*.c')
  67. if GetDepend(['MQTT_DEFAULT_IMPL']):
  68. src += Glob('iotkit-embedded/src/mqtt/impl/*.c')
  69. CPPPATH += [cwd + '/iotkit-embedded/src/mqtt/impl']
  70. CPPPATH += [cwd + '/iotkit-embedded/src/mqtt']
  71. #### mqtt end ####
  72. #
  73. # coap
  74. #
  75. if GetDepend(['COAP_COMM_ENABLED']):
  76. if GetDepend(['COAP_CLIENT']):
  77. src += Glob('iotkit-embedded/src/coap/client/*.c')
  78. CPPPATH += [cwd + '/iotkit-embedded/src/coap/client']
  79. if GetDepend(['COAP_PACKET']):
  80. src += Glob('iotkit-embedded/src/coap/CoAPPacket/*.c')
  81. CPPPATH += [cwd + '/iotkit-embedded/src/coap/CoAPPacket']
  82. if GetDepend(['COAP_SERVER']):
  83. src += Glob('iotkit-embedded/src/coap/server/*.c')
  84. CPPPATH += [cwd + '/iotkit-embedded/src/coap/server']
  85. CPPPATH += [cwd + '/iotkit-embedded/src/coap']
  86. #### coap end ####
  87. #
  88. # device bind
  89. #
  90. if GetDepend(['DEV_BIND_ENABLED']):
  91. src += Glob("iotkit-embedded/src/dev_bind/impl/*.c")
  92. src += Glob("iotkit-embedded/src/dev_bind/impl/awss_reset/*.c")
  93. src += Glob("iotkit-embedded/src/dev_bind/impl/os/*.c")
  94. CPPPATH += [cwd + '/iotkit-embedded/src/dev_bind']
  95. CPPPATH += [cwd + '/iotkit-embedded/src/dev_bind/awss_reset']
  96. CPPPATH += [cwd + '/iotkit-embedded/src/dev_bind/os']
  97. #### device bind ####
  98. #
  99. # device model
  100. #
  101. if GetDepend(['DEVICE_MODEL_ENABLED']):
  102. src += Split("""
  103. iotkit-embedded/src/dev_model/client/dm_client.c
  104. iotkit-embedded/src/dev_model/client/dm_client_adapter.c
  105. iotkit-embedded/src/dev_model/dm_api.c
  106. iotkit-embedded/src/dev_model/dm_cota.c
  107. iotkit-embedded/src/dev_model/dm_fota.c
  108. iotkit-embedded/src/dev_model/dm_ipc.c
  109. iotkit-embedded/src/dev_model/dm_manager.c
  110. iotkit-embedded/src/dev_model/dm_message_cache.c
  111. iotkit-embedded/src/dev_model/dm_message.c
  112. iotkit-embedded/src/dev_model/dm_opt.c
  113. iotkit-embedded/src/dev_model/dm_ota.c
  114. iotkit-embedded/src/dev_model/dm_msg_process.c
  115. iotkit-embedded/src/dev_model/dm_utils.c
  116. iotkit-embedded/src/dev_model/iotx_cm_mqtt.c
  117. iotkit-embedded/src/dev_model/impl_linkkit.c
  118. iotkit-embedded/src/dev_model/iotx_cm.c
  119. """)
  120. if GetDepend(['LOG_REPORT_TO_CLOUD']):
  121. src += Split("""
  122. iotkit-embedded/src/dev_model/dm_log_report.c
  123. """)
  124. # ALCS(alink local communication service) is a communication between phone and device
  125. if GetDepend(['ALCS_ENABLED']):
  126. src += Glob("iotkit-embedded/src/dev_model/alcs/*.c")
  127. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model/alcs']
  128. if GetDepend(['COAP_COMM_ENABLED']):
  129. src += Glob("iotkit-embedded/src/dev_model/iotx_cm_coap.c")
  130. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model']
  131. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model/client']
  132. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model/server']
  133. #### device model end ####
  134. #
  135. # device sign
  136. #
  137. if GetDepend(['DEV_SIGN']):
  138. src += Glob('iotkit-embedded/src/dev_sign/dev_sign_mqtt.c')
  139. CPPPATH += [cwd + '/iotkit-embedded/src/dev_sign']
  140. #### device sign end ####
  141. #
  142. # device reset
  143. #
  144. if GetDepend(['DEV_RESET']):
  145. src += Glob('iotkit-embedded/src/dev_reset/dev_reset.c')
  146. CPPPATH += [cwd + '/iotkit-embedded/src/dev_reset']
  147. #### device reset end ####
  148. #
  149. # dynamic register
  150. #
  151. if GetDepend(['DYNAMIC_REGISTER']):
  152. src += Glob("iotkit-embedded/src/dynamic_register/*.c")
  153. CPPPATH += [cwd + '/iotkit-embedded/src/dynamic_register']
  154. #### dynamic register end ####
  155. #
  156. # http
  157. #
  158. if GetDepend(['HTTP_COMM_ENABLED']):
  159. src += Glob("iotkit-embedded/src/http/*.c")
  160. CPPPATH += [cwd + '/iotkit-embedded/src/http']
  161. #### http end ####
  162. #
  163. # http2
  164. #
  165. if GetDepend(['HTTP2_COMM_ENABLED']):
  166. src += Glob("iotkit-embedded/src/http2/http2_api.c")
  167. src += Glob("iotkit-embedded/src/http2/iotx_http2.c")
  168. if GetDepend(['FS_ENABLED']):
  169. src += Glob("iotkit-embedded/src/http2/http2_upload_api.c")
  170. CPPPATH += [cwd + '/iotkit-embedded/src/http2']
  171. #### http end ####
  172. #
  173. # ota
  174. #
  175. if GetDepend(['OTA_ENABLED']):
  176. src += Split("""
  177. iotkit-embedded/src/ota/iotx_ota.c
  178. iotkit-embedded/src/ota/ota_fetch.c
  179. iotkit-embedded/src/ota/ota_lib.c
  180. """)
  181. CPPPATH += [cwd + '/iotkit-embedded/src/ota']
  182. #### ota end ####
  183. #
  184. # wifi provision
  185. #
  186. if GetDepend(['WIFI_PROVISION_ENABLED']):
  187. if GetDepend(['AWSS_SUPPORT_SMARTCONFIG']):
  188. src += Glob("iotkit-embedded/src/wifi_provision/smartconfig/*.c")
  189. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/smartconfig']
  190. if GetDepend(['AWSS_SUPPORT_SMARTCONFIG_WPS']):
  191. src += Glob("iotkit-embedded/src/wifi_provision/p2p/*.c")
  192. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/p2p']
  193. if GetDepend(['AWSS_SUPPORT_ZEROCONFIG']):
  194. src += Glob("iotkit-embedded/src/wifi_provision/zero_config/*.c")
  195. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/zero_config']
  196. if GetDepend(['AWSS_SUPPORT_AHA']):
  197. src += Glob("iotkit-embedded/src/wifi_provision/phone_ap/*.c")
  198. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/phone_ap']
  199. if GetDepend(['AWSS_SUPPORT_ADHA']):
  200. src += Glob("iotkit-embedded/src/wifi_provision/router_ap/*.c")
  201. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/router_ap']
  202. if GetDepend(['AWSS_SUPPORT_DEV_AP']):
  203. src += Glob("iotkit-embedded/src/wifi_provision/dev_ap/*.c")
  204. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/dev_ap']
  205. if GetDepend(['AWSS_FRAMEWORKS']):
  206. src += Glob("iotkit-embedded/src/wifi_provision/frameworks/*.c")
  207. src += Glob("iotkit-embedded/src/wifi_provision/frameworks/*/*.c")
  208. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks']
  209. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/aplist']
  210. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/ieee80211']
  211. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/statics']
  212. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/utils']
  213. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision']
  214. #### wifi provision end ####
  215. #
  216. # wrappers | port
  217. #
  218. src += Split("""
  219. ports/rtthread/HAL_OS_rtthread.c
  220. ports/rtthread/HAL_TCP_rtthread.c
  221. ports/rtthread/HAL_UDP_rtthread.c
  222. ports/wrapper.c
  223. """)
  224. if GetDepend(['SUPPORT_TLS']) or GetDepend(['COAP_DTLS_SUPPORT']):
  225. src += Glob('iotkit-embedded/certs/root_ca.c')
  226. if GetDepend(['SUPPORT_TLS']):
  227. src += Glob('ports/tls/mbedtls/HAL_TLS_mbedtls.c')
  228. if GetDepend(['COAP_DTLS_SUPPORT']):
  229. src += Glob('ports/tls/mbedtls/HAL_DTLS_mbedtls.c')
  230. if GetDepend(['HAL_CRYPTO']):
  231. src += Glob('ports/rtthread/HAL_Crypt_rtthread.c')
  232. CPPPATH += [cwd + '/iotkit-embedded/wrappers']
  233. #### wrappers | port end ####
  234. #
  235. # samples
  236. #
  237. if GetDepend(['PKG_USING_ALI_IOTKIT_DEV_MODEL_SAMPLE']):
  238. src += Split("""
  239. samples/dev_model/linkkit_example_solo.c
  240. """)
  241. CPPPATH += [cwd + '/iotkit-embedded/samples/dev_model']
  242. if GetDepend(['PKG_USING_ALI_IOTKIT_MQTT_SAMPLE']):
  243. src += Split("""
  244. samples/mqtt/mqtt-example.c
  245. """)
  246. if GetDepend(['PKG_USING_ALI_IOTKIT_COAP_SAMPLE']):
  247. src += Split("""
  248. samples/coap/coap_example.c
  249. """)
  250. if GetDepend(['PKG_USING_ALI_IOTKIT_OTA_SAMPLE']):
  251. src += Split("""
  252. samples/ota/ota_mqtt-example.c
  253. """)
  254. #### samples end ####
  255. group = DefineGroup('ali-iotkit', src, depend = ['PKG_USING_ALI_IOTKIT'], CPPPATH = CPPPATH)
  256. Return('group')