SConscript 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  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. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model']
  129. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model/client']
  130. CPPPATH += [cwd + '/iotkit-embedded/src/dev_model/server']
  131. #### device model end ####
  132. #
  133. # device sign
  134. #
  135. if GetDepend(['DEV_SIGN']):
  136. src += Glob('iotkit-embedded/src/dev_sign/dev_sign_mqtt.c')
  137. CPPPATH += [cwd + '/iotkit-embedded/src/dev_sign']
  138. #### device sign end ####
  139. #
  140. # device reset
  141. #
  142. if GetDepend(['DEV_RESET']):
  143. src += Glob('iotkit-embedded/src/dev_reset/dev_reset.c')
  144. CPPPATH += [cwd + '/iotkit-embedded/src/dev_reset']
  145. #### device reset end ####
  146. #
  147. # dynamic register
  148. #
  149. if GetDepend(['DYNAMIC_REGISTER']):
  150. src += Glob("iotkit-embedded/src/dynamic_register/*.c")
  151. CPPPATH += [cwd + '/iotkit-embedded/src/dynamic_register']
  152. #### dynamic register end ####
  153. #
  154. # http
  155. #
  156. if GetDepend(['HTTP_COMM_ENABLED']):
  157. src += Glob("iotkit-embedded/src/http/*.c")
  158. CPPPATH += [cwd + '/iotkit-embedded/src/http']
  159. #### http end ####
  160. #
  161. # http2
  162. #
  163. if GetDepend(['HTTP2_COMM_ENABLED']):
  164. src += Glob("iotkit-embedded/src/http2/http2_api.c")
  165. src += Glob("iotkit-embedded/src/http2/iotx_http2.c")
  166. if GetDepend(['FS_ENABLED']):
  167. src += Glob("iotkit-embedded/src/http2/http2_upload_api.c")
  168. CPPPATH += [cwd + '/iotkit-embedded/src/http2']
  169. #### http end ####
  170. #
  171. # ota
  172. #
  173. if GetDepend(['OTA_ENABLED']):
  174. src += Split("""
  175. iotkit-embedded/src/ota/iotx_ota.c
  176. iotkit-embedded/src/ota/ota_fetch.c
  177. iotkit-embedded/src/ota/ota_lib.c
  178. """)
  179. CPPPATH += [cwd + '/iotkit-embedded/src/ota']
  180. #### ota end ####
  181. #
  182. # wifi provision
  183. #
  184. if GetDepend(['WIFI_PROVISION_ENABLED']):
  185. if GetDepend(['AWSS_SUPPORT_SMARTCONFIG']):
  186. src += Glob("iotkit-embedded/src/wifi_provision/smartconfig/*.c")
  187. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/smartconfig']
  188. if GetDepend(['AWSS_SUPPORT_SMARTCONFIG_WPS']):
  189. src += Glob("iotkit-embedded/src/wifi_provision/p2p/*.c")
  190. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/p2p']
  191. if GetDepend(['AWSS_SUPPORT_ZEROCONFIG']):
  192. src += Glob("iotkit-embedded/src/wifi_provision/zero_config/*.c")
  193. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/zero_config']
  194. if GetDepend(['AWSS_SUPPORT_AHA']):
  195. src += Glob("iotkit-embedded/src/wifi_provision/phone_ap/*.c")
  196. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/phone_ap']
  197. if GetDepend(['AWSS_SUPPORT_ADHA']):
  198. src += Glob("iotkit-embedded/src/wifi_provision/router_ap/*.c")
  199. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/router_ap']
  200. if GetDepend(['AWSS_SUPPORT_DEV_AP']):
  201. src += Glob("iotkit-embedded/src/wifi_provision/dev_ap/*.c")
  202. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/dev_ap']
  203. if GetDepend(['AWSS_FRAMEWORKS']):
  204. src += Glob("iotkit-embedded/src/wifi_provision/frameworks/*.c")
  205. src += Glob("iotkit-embedded/src/wifi_provision/frameworks/*/*.c")
  206. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks']
  207. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/aplist']
  208. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/ieee80211']
  209. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/statics']
  210. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision/frameworks/utils']
  211. CPPPATH += [cwd + '/iotkit-embedded/src/wifi_provision']
  212. #### wifi provision end ####
  213. #
  214. # wrappers | port
  215. #
  216. src += Split("""
  217. ports/rtthread/HAL_OS_rtthread.c
  218. ports/rtthread/HAL_TCP_rtthread.c
  219. ports/rtthread/HAL_UDP_rtthread.c
  220. ports/wrapper.c
  221. """)
  222. if GetDepend(['SUPPORT_TLS']) or GetDepend(['COAP_DTLS_SUPPORT']):
  223. src += Glob('iotkit-embedded/certs/root_ca.c')
  224. if GetDepend(['SUPPORT_TLS']):
  225. src += Glob('port/tls/mbedtls/HAL_TLS_mbedtls.c')
  226. if GetDepend(['COAP_DTLS_SUPPORT']):
  227. src += Glob('port/tls/mbedtls/HAL_DTLS_mbedtls.c')
  228. CPPPATH += [cwd + '/iotkit-embedded/wrappers']
  229. #### wrappers | port end ####
  230. #
  231. # samples
  232. #
  233. if GetDepend(['PKG_USING_ALI_IOTKIT_DEV_MODEL_SAMPLE']):
  234. src += Split("""
  235. samples/dev_model/cJSON.c
  236. samples/dev_model/linkkit_example_solo.c
  237. """)
  238. CPPPATH += [cwd + '/iotkit-embedded/samples/dev_model']
  239. #### samples end ####
  240. group = DefineGroup('ali-iotkit', src, depend = ['PKG_USING_ALI_IOTKIT'], CPPPATH = CPPPATH)
  241. Return('group')