SConscript 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. from building import *
  2. import os
  3. from building import *
  4. import rtconfig
  5. cwd = GetCurrentDir()
  6. src_base = []
  7. sample_data_template_src = []
  8. sample_light_data_template_src = []
  9. sample_mqtt_basic_src = []
  10. sample_raw_data_src = []
  11. sample_ota_src = []
  12. sample_gateway_src = []
  13. sample_dyn_src = []
  14. CPPPATH = []
  15. CPPDEFINES = []
  16. LOCAL_CCFLAGS = ''
  17. #include headfile
  18. CPPPATH += [cwd + '/ports/ssl']
  19. CPPPATH += [cwd + '/qcloud-iot-explorer-sdk-embedded-c/include']
  20. CPPPATH += [cwd + '/qcloud-iot-explorer-sdk-embedded-c/include/exports']
  21. CPPPATH += [cwd + '/qcloud-iot-explorer-sdk-embedded-c/sdk_src/internal_inc']
  22. #common src file
  23. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/protocol/mqtt/*.c')
  24. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/services/data_template/*.c')
  25. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/utils/*.c')
  26. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/network/*.c')
  27. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/network/socket/*.c')
  28. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/network/tls/*.c')
  29. src_base += Glob('ports/rtthread/*.c')
  30. SrcRemove(src_base, 'ports/rtthread/HAL_UDP_rtthread.c')
  31. CPPDEFINES += ['MQTT_COMM_ENABLED', 'AUTH_MODE_KEY']
  32. #ota src file
  33. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_OTA']):
  34. CPPDEFINES += ['OTA_MQTT_CHANNEL']
  35. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/services/ota/*.c')
  36. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/protocol/http/utils_httpc.c')
  37. if GetDepend(['PKG_USING_OTA_HTTPS']):
  38. CPPDEFINES += ['OTA_USE_HTTPS']
  39. #gateway src file
  40. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_GATEWAY']):
  41. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/services/gateway/*.c')
  42. CPPDEFINES += ['GATEWAY_ENABLED','MULTITHREAD_ENABLED']
  43. #TLS used
  44. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_TLS']):
  45. src_base += Glob('ports/ssl/HAL_TLS_mbedtls.c')
  46. if rtconfig.CROSS_TOOL == 'keil' or rtconfig.CROSS_TOOL == 'iar':
  47. CPPDEFINES += ['MBEDTLS_CONFIG_FILE=<tc_tls_config.h>']
  48. # else: #gcc
  49. # import shutil
  50. # cp_src = cwd + '/ports/ssl/tc_tls_config.h''
  51. # cp_dst = cwd + '/../mbedtls-v2.7.10/ports/inc/tls_config.h'
  52. # shutil.copyfile(cp_src, cp_dst)
  53. else:
  54. CPPDEFINES += ['AUTH_WITH_NOTLS']
  55. #dyn src file
  56. if GetDepend(['PKG_USING_DYN_REG']):
  57. sample_dyn_src += Glob('samples/dynreg_dev/dynreg_dev_sample.c')
  58. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/services/dynreg/*.c')
  59. CPPDEFINES += ['DEV_DYN_REG_ENABLED']
  60. group = DefineGroup('sample_dyn_reg', sample_dyn_src, depend = ['PKG_USING_DYN_REG'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  61. #Err log upload used
  62. if GetDepend(['PKG_USING_LOG_UPLOAD']):
  63. src_base += Glob('qcloud-iot-explorer-sdk-embedded-c/sdk_src/services/log/*.c')
  64. CPPDEFINES += ['LOG_UPLOAD']
  65. if GetDepend(['PKG_USING_MULTITHREAD_ENABLED']):
  66. CPPDEFINES += ['MULTITHREAD_ENABLED']
  67. #IoT Explorer C-SDK core
  68. group = DefineGroup('tencent-iot-explorer', src_base, depend = ['PKG_USING_TENCENT_IOT_EXPLORER'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  69. #Data Template Example
  70. if GetDepend(['PKG_USING_DATA_TEMPLATE_PROTOCOL']):
  71. sample_data_template_src += Glob('samples/data_template/data_template_sample.c')
  72. if GetDepend(['PKG_USING_EVENT_POST']):
  73. CPPDEFINES += ['EVENT_POST_ENABLED']
  74. if GetDepend(['PKG_USING_ACTION']):
  75. CPPDEFINES += ['ACTION_ENABLED']
  76. group = DefineGroup('sample_data_template', sample_data_template_src, depend = ['PKG_USING_DATA_TEMPLATE_PROTOCOL'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  77. #Data Template light Example
  78. if GetDepend(['PKG_USING_SMART_LIGHT_SAMPLE']):
  79. sample_light_data_template_src += Glob('samples/scenarized/light_data_template_sample.c')
  80. group = DefineGroup('sample_data_template_light', sample_light_data_template_src, depend = ['PKG_USING_SMART_LIGHT_SAMPLE'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  81. #MQTT Example and Raw-data Example
  82. if GetDepend(['PKG_USING_SELF_DEFINE_PROTOCOL']):
  83. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_MQTT']):
  84. sample_mqtt_basic_src += Glob('samples/mqtt/mqtt_sample.c')
  85. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_RAW_DATA']):
  86. sample_raw_data_src += Glob('samples/raw_data/raw_data_sample.c')
  87. group = DefineGroup('tc_sample_mqtt_basic', sample_mqtt_basic_src, depend = ['PKG_USING_TENCENT_IOT_EXPLORER_MQTT'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  88. group = DefineGroup('sample_raw_data', sample_raw_data_src, depend = ['PKG_USING_TENCENT_IOT_EXPLORER_RAW_DATA'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  89. #OTA Example
  90. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_OTA']):
  91. sample_ota_src += Glob('samples/ota/ota_mqtt_sample.c')
  92. group = DefineGroup('sample_ota', sample_ota_src, depend = ['PKG_USING_TENCENT_IOT_EXPLORER_OTA'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  93. #Gateway Example
  94. if GetDepend(['PKG_USING_TENCENT_IOT_EXPLORER_GATEWAY']):
  95. sample_gateway_src += Glob('samples/gateway/*.c')
  96. group = DefineGroup('sample_gateway', sample_gateway_src, depend = ['PKG_USING_TENCENT_IOT_EXPLORER_GATEWAY'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS, CPPDEFINES = CPPDEFINES)
  97. Return('group')