CMakeLists.txt 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640
  1. if(CONFIG_BT_ENABLED)
  2. if(CONFIG_IDF_TARGET_ESP32)
  3. set(srcs "controller/esp32/bt.c"
  4. "controller/esp32/hli_api.c"
  5. "controller/esp32/hli_vectors.S")
  6. elseif(CONFIG_IDF_TARGET_ESP32C3)
  7. set(srcs "controller/esp32c3/bt.c")
  8. elseif(CONFIG_IDF_TARGET_ESP32S3)
  9. set(srcs "controller/esp32s3/bt.c")
  10. endif()
  11. set(include_dirs common/osi/include)
  12. if(CONFIG_IDF_TARGET_ESP32)
  13. list(APPEND include_dirs include/esp32/include)
  14. elseif(CONFIG_IDF_TARGET_ESP32C3)
  15. list(APPEND include_dirs include/esp32c3/include)
  16. elseif(CONFIG_IDF_TARGET_ESP32S3)
  17. list(APPEND include_dirs include/esp32s3/include)
  18. endif()
  19. list(APPEND priv_include_dirs
  20. common/btc/include
  21. common/include)
  22. list(APPEND include_dirs
  23. common/api/include/api
  24. common/btc/profile/esp/blufi/include
  25. common/btc/profile/esp/include)
  26. list(APPEND srcs "common/btc/core/btc_alarm.c"
  27. "common/api/esp_blufi_api.c"
  28. "common/btc/core/btc_manage.c"
  29. "common/btc/core/btc_task.c"
  30. "common/btc/profile/esp/blufi/blufi_prf.c"
  31. "common/btc/profile/esp/blufi/blufi_protocol.c"
  32. "common/osi/alarm.c"
  33. "common/osi/allocator.c"
  34. "common/osi/buffer.c"
  35. "common/osi/config.c"
  36. "common/osi/fixed_queue.c"
  37. "common/osi/future.c"
  38. "common/osi/hash_functions.c"
  39. "common/osi/hash_map.c"
  40. "common/osi/list.c"
  41. "common/osi/mutex.c"
  42. "common/osi/thread.c"
  43. "common/osi/osi.c"
  44. "common/osi/semaphore.c")
  45. if(CONFIG_BT_BLUEDROID_ENABLED)
  46. list(APPEND priv_include_dirs
  47. host/bluedroid/bta/include
  48. host/bluedroid/bta/ar/include
  49. host/bluedroid/bta/av/include
  50. host/bluedroid/bta/dm/include
  51. host/bluedroid/bta/gatt/include
  52. host/bluedroid/bta/hf_ag/include
  53. host/bluedroid/bta/hf_client/include
  54. host/bluedroid/bta/hd/include
  55. host/bluedroid/bta/hh/include
  56. host/bluedroid/bta/jv/include
  57. host/bluedroid/bta/sdp/include
  58. host/bluedroid/bta/sys/include
  59. host/bluedroid/device/include
  60. host/bluedroid/hci/include
  61. host/bluedroid/external/sbc/decoder/include
  62. host/bluedroid/external/sbc/encoder/include
  63. host/bluedroid/external/sbc/plc/include
  64. host/bluedroid/btc/profile/esp/include
  65. host/bluedroid/btc/profile/std/a2dp/include
  66. host/bluedroid/btc/profile/std/include
  67. host/bluedroid/btc/include
  68. host/bluedroid/stack/btm/include
  69. host/bluedroid/stack/gap/include
  70. host/bluedroid/stack/gatt/include
  71. host/bluedroid/stack/hid/include
  72. host/bluedroid/stack/l2cap/include
  73. host/bluedroid/stack/sdp/include
  74. host/bluedroid/stack/smp/include
  75. host/bluedroid/stack/avct/include
  76. host/bluedroid/stack/avrc/include
  77. host/bluedroid/stack/avdt/include
  78. host/bluedroid/stack/a2dp/include
  79. host/bluedroid/stack/rfcomm/include
  80. host/bluedroid/stack/include
  81. host/bluedroid/common/include)
  82. list(APPEND include_dirs host/bluedroid/api/include/api)
  83. list(APPEND srcs "host/bluedroid/api/esp_a2dp_api.c"
  84. "host/bluedroid/api/esp_avrc_api.c"
  85. "host/bluedroid/api/esp_bt_device.c"
  86. "host/bluedroid/api/esp_bt_main.c"
  87. "host/bluedroid/api/esp_gap_ble_api.c"
  88. "host/bluedroid/api/esp_gap_bt_api.c"
  89. "host/bluedroid/api/esp_gatt_common_api.c"
  90. "host/bluedroid/api/esp_gattc_api.c"
  91. "host/bluedroid/api/esp_gatts_api.c"
  92. "host/bluedroid/api/esp_hidd_api.c"
  93. "host/bluedroid/api/esp_hidh_api.c"
  94. "host/bluedroid/api/esp_hf_ag_api.c"
  95. "host/bluedroid/api/esp_hf_client_api.c"
  96. "host/bluedroid/api/esp_spp_api.c"
  97. "host/bluedroid/bta/ar/bta_ar.c"
  98. "host/bluedroid/bta/av/bta_av_aact.c"
  99. "host/bluedroid/bta/av/bta_av_act.c"
  100. "host/bluedroid/bta/av/bta_av_api.c"
  101. "host/bluedroid/bta/av/bta_av_cfg.c"
  102. "host/bluedroid/bta/av/bta_av_ci.c"
  103. "host/bluedroid/bta/av/bta_av_main.c"
  104. "host/bluedroid/bta/av/bta_av_sbc.c"
  105. "host/bluedroid/bta/av/bta_av_ssm.c"
  106. "host/bluedroid/bta/dm/bta_dm_act.c"
  107. "host/bluedroid/bta/dm/bta_dm_api.c"
  108. "host/bluedroid/bta/dm/bta_dm_cfg.c"
  109. "host/bluedroid/bta/dm/bta_dm_ci.c"
  110. "host/bluedroid/bta/dm/bta_dm_co.c"
  111. "host/bluedroid/bta/dm/bta_dm_main.c"
  112. "host/bluedroid/bta/dm/bta_dm_pm.c"
  113. "host/bluedroid/bta/dm/bta_dm_sco.c"
  114. "host/bluedroid/bta/dm/bta_dm_qos.c"
  115. "host/bluedroid/bta/gatt/bta_gatt_common.c"
  116. "host/bluedroid/bta/gatt/bta_gattc_act.c"
  117. "host/bluedroid/bta/gatt/bta_gattc_api.c"
  118. "host/bluedroid/bta/gatt/bta_gattc_cache.c"
  119. "host/bluedroid/bta/gatt/bta_gattc_ci.c"
  120. "host/bluedroid/bta/gatt/bta_gattc_co.c"
  121. "host/bluedroid/bta/gatt/bta_gattc_main.c"
  122. "host/bluedroid/bta/gatt/bta_gattc_utils.c"
  123. "host/bluedroid/bta/gatt/bta_gatts_act.c"
  124. "host/bluedroid/bta/gatt/bta_gatts_api.c"
  125. "host/bluedroid/bta/gatt/bta_gatts_co.c"
  126. "host/bluedroid/bta/gatt/bta_gatts_main.c"
  127. "host/bluedroid/bta/gatt/bta_gatts_utils.c"
  128. "host/bluedroid/bta/hd/bta_hd_api.c"
  129. "host/bluedroid/bta/hd/bta_hd_act.c"
  130. "host/bluedroid/bta/hd/bta_hd_main.c"
  131. "host/bluedroid/bta/hh/bta_hh_act.c"
  132. "host/bluedroid/bta/hh/bta_hh_api.c"
  133. "host/bluedroid/bta/hh/bta_hh_cfg.c"
  134. "host/bluedroid/bta/hh/bta_hh_le.c"
  135. "host/bluedroid/bta/hh/bta_hh_main.c"
  136. "host/bluedroid/bta/hh/bta_hh_utils.c"
  137. "host/bluedroid/bta/jv/bta_jv_act.c"
  138. "host/bluedroid/bta/jv/bta_jv_api.c"
  139. "host/bluedroid/bta/jv/bta_jv_cfg.c"
  140. "host/bluedroid/bta/jv/bta_jv_main.c"
  141. "host/bluedroid/bta/hf_ag/bta_ag_act.c"
  142. "host/bluedroid/bta/hf_ag/bta_ag_api.c"
  143. "host/bluedroid/bta/hf_ag/bta_ag_at.c"
  144. "host/bluedroid/bta/hf_ag/bta_ag_cfg.c"
  145. "host/bluedroid/bta/hf_ag/bta_ag_cmd.c"
  146. "host/bluedroid/bta/hf_ag/bta_ag_main.c"
  147. "host/bluedroid/bta/hf_ag/bta_ag_rfc.c"
  148. "host/bluedroid/bta/hf_ag/bta_ag_sco.c"
  149. "host/bluedroid/bta/hf_ag/bta_ag_sdp.c"
  150. "host/bluedroid/bta/hf_client/bta_hf_client_act.c"
  151. "host/bluedroid/bta/hf_client/bta_hf_client_api.c"
  152. "host/bluedroid/bta/hf_client/bta_hf_client_at.c"
  153. "host/bluedroid/bta/hf_client/bta_hf_client_cmd.c"
  154. "host/bluedroid/bta/hf_client/bta_hf_client_main.c"
  155. "host/bluedroid/bta/hf_client/bta_hf_client_rfc.c"
  156. "host/bluedroid/bta/hf_client/bta_hf_client_sco.c"
  157. "host/bluedroid/bta/hf_client/bta_hf_client_sdp.c"
  158. "host/bluedroid/bta/sdp/bta_sdp.c"
  159. "host/bluedroid/bta/sdp/bta_sdp_act.c"
  160. "host/bluedroid/bta/sdp/bta_sdp_api.c"
  161. "host/bluedroid/bta/sdp/bta_sdp_cfg.c"
  162. "host/bluedroid/bta/sys/bta_sys_conn.c"
  163. "host/bluedroid/bta/sys/bta_sys_main.c"
  164. "host/bluedroid/bta/sys/utl.c"
  165. "host/bluedroid/btc/core/btc_ble_storage.c"
  166. "host/bluedroid/btc/core/btc_config.c"
  167. "host/bluedroid/btc/core/btc_dev.c"
  168. "host/bluedroid/btc/core/btc_dm.c"
  169. "host/bluedroid/btc/core/btc_main.c"
  170. "host/bluedroid/btc/core/btc_profile_queue.c"
  171. "host/bluedroid/btc/core/btc_sec.c"
  172. "host/bluedroid/btc/core/btc_sm.c"
  173. "host/bluedroid/btc/core/btc_storage.c"
  174. "host/bluedroid/btc/core/btc_util.c"
  175. "host/bluedroid/btc/profile/std/a2dp/bta_av_co.c"
  176. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp.c"
  177. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_control.c"
  178. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_sink.c"
  179. "host/bluedroid/btc/profile/std/a2dp/btc_a2dp_source.c"
  180. "host/bluedroid/btc/profile/std/a2dp/btc_av.c"
  181. "host/bluedroid/btc/profile/std/avrc/btc_avrc.c"
  182. "host/bluedroid/btc/profile/std/avrc/bta_avrc_co.c"
  183. "host/bluedroid/btc/profile/std/hf_ag/bta_ag_co.c"
  184. "host/bluedroid/btc/profile/std/hf_ag/btc_hf_ag.c"
  185. "host/bluedroid/btc/profile/std/hf_client/btc_hf_client.c"
  186. "host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c"
  187. "host/bluedroid/btc/profile/std/hid/btc_hd.c"
  188. "host/bluedroid/btc/profile/std/hid/btc_hh.c"
  189. "host/bluedroid/btc/profile/std/hid/bta_hh_co.c"
  190. "host/bluedroid/btc/profile/std/gap/btc_gap_ble.c"
  191. "host/bluedroid/btc/profile/std/gap/btc_gap_bt.c"
  192. "host/bluedroid/btc/profile/std/gap/bta_gap_bt_co.c"
  193. "host/bluedroid/btc/profile/std/gatt/btc_gatt_common.c"
  194. "host/bluedroid/btc/profile/std/gatt/btc_gatt_util.c"
  195. "host/bluedroid/btc/profile/std/gatt/btc_gattc.c"
  196. "host/bluedroid/btc/profile/std/gatt/btc_gatts.c"
  197. "host/bluedroid/btc/profile/std/spp/btc_spp.c"
  198. "host/bluedroid/device/bdaddr.c"
  199. "host/bluedroid/device/controller.c"
  200. "host/bluedroid/device/interop.c"
  201. "host/bluedroid/external/sbc/decoder/srce/alloc.c"
  202. "host/bluedroid/external/sbc/decoder/srce/bitalloc-sbc.c"
  203. "host/bluedroid/external/sbc/decoder/srce/bitalloc.c"
  204. "host/bluedroid/external/sbc/decoder/srce/bitstream-decode.c"
  205. "host/bluedroid/external/sbc/decoder/srce/decoder-oina.c"
  206. "host/bluedroid/external/sbc/decoder/srce/decoder-private.c"
  207. "host/bluedroid/external/sbc/decoder/srce/decoder-sbc.c"
  208. "host/bluedroid/external/sbc/decoder/srce/dequant.c"
  209. "host/bluedroid/external/sbc/decoder/srce/framing-sbc.c"
  210. "host/bluedroid/external/sbc/decoder/srce/framing.c"
  211. "host/bluedroid/external/sbc/decoder/srce/oi_codec_version.c"
  212. "host/bluedroid/external/sbc/decoder/srce/synthesis-8-generated.c"
  213. "host/bluedroid/external/sbc/decoder/srce/synthesis-dct8.c"
  214. "host/bluedroid/external/sbc/decoder/srce/synthesis-sbc.c"
  215. "host/bluedroid/external/sbc/encoder/srce/sbc_analysis.c"
  216. "host/bluedroid/external/sbc/encoder/srce/sbc_dct.c"
  217. "host/bluedroid/external/sbc/encoder/srce/sbc_dct_coeffs.c"
  218. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_mono.c"
  219. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_bit_alloc_ste.c"
  220. "host/bluedroid/external/sbc/encoder/srce/sbc_enc_coeffs.c"
  221. "host/bluedroid/external/sbc/encoder/srce/sbc_encoder.c"
  222. "host/bluedroid/external/sbc/encoder/srce/sbc_packing.c"
  223. "host/bluedroid/external/sbc/plc/sbc_plc.c"
  224. "host/bluedroid/hci/hci_audio.c"
  225. "host/bluedroid/hci/hci_hal_h4.c"
  226. "host/bluedroid/hci/hci_layer.c"
  227. "host/bluedroid/hci/hci_packet_factory.c"
  228. "host/bluedroid/hci/hci_packet_parser.c"
  229. "host/bluedroid/hci/packet_fragmenter.c"
  230. "host/bluedroid/main/bte_init.c"
  231. "host/bluedroid/main/bte_main.c"
  232. "host/bluedroid/stack/a2dp/a2d_api.c"
  233. "host/bluedroid/stack/a2dp/a2d_sbc.c"
  234. "host/bluedroid/stack/avct/avct_api.c"
  235. "host/bluedroid/stack/avct/avct_ccb.c"
  236. "host/bluedroid/stack/avct/avct_l2c.c"
  237. "host/bluedroid/stack/avct/avct_lcb.c"
  238. "host/bluedroid/stack/avct/avct_lcb_act.c"
  239. "host/bluedroid/stack/avdt/avdt_ad.c"
  240. "host/bluedroid/stack/avdt/avdt_api.c"
  241. "host/bluedroid/stack/avdt/avdt_ccb.c"
  242. "host/bluedroid/stack/avdt/avdt_ccb_act.c"
  243. "host/bluedroid/stack/avdt/avdt_l2c.c"
  244. "host/bluedroid/stack/avdt/avdt_msg.c"
  245. "host/bluedroid/stack/avdt/avdt_scb.c"
  246. "host/bluedroid/stack/avdt/avdt_scb_act.c"
  247. "host/bluedroid/stack/avrc/avrc_api.c"
  248. "host/bluedroid/stack/avrc/avrc_bld_ct.c"
  249. "host/bluedroid/stack/avrc/avrc_bld_tg.c"
  250. "host/bluedroid/stack/avrc/avrc_opt.c"
  251. "host/bluedroid/stack/avrc/avrc_pars_ct.c"
  252. "host/bluedroid/stack/avrc/avrc_pars_tg.c"
  253. "host/bluedroid/stack/avrc/avrc_sdp.c"
  254. "host/bluedroid/stack/avrc/avrc_utils.c"
  255. "host/bluedroid/stack/hid/hidd_api.c"
  256. "host/bluedroid/stack/hid/hidd_conn.c"
  257. "host/bluedroid/stack/hid/hidh_api.c"
  258. "host/bluedroid/stack/hid/hidh_conn.c"
  259. "host/bluedroid/stack/btm/btm_acl.c"
  260. "host/bluedroid/stack/btm/btm_ble.c"
  261. "host/bluedroid/stack/btm/btm_ble_addr.c"
  262. "host/bluedroid/stack/btm/btm_ble_adv_filter.c"
  263. "host/bluedroid/stack/btm/btm_ble_batchscan.c"
  264. "host/bluedroid/stack/btm/btm_ble_bgconn.c"
  265. "host/bluedroid/stack/btm/btm_ble_cont_energy.c"
  266. "host/bluedroid/stack/btm/btm_ble_gap.c"
  267. "host/bluedroid/stack/btm/btm_ble_5_gap.c"
  268. "host/bluedroid/stack/btm/btm_ble_multi_adv.c"
  269. "host/bluedroid/stack/btm/btm_ble_privacy.c"
  270. "host/bluedroid/stack/btm/btm_dev.c"
  271. "host/bluedroid/stack/btm/btm_devctl.c"
  272. "host/bluedroid/stack/btm/btm_inq.c"
  273. "host/bluedroid/stack/btm/btm_main.c"
  274. "host/bluedroid/stack/btm/btm_pm.c"
  275. "host/bluedroid/stack/btm/btm_sco.c"
  276. "host/bluedroid/stack/btm/btm_sec.c"
  277. "host/bluedroid/stack/btu/btu_hcif.c"
  278. "host/bluedroid/stack/btu/btu_init.c"
  279. "host/bluedroid/stack/btu/btu_task.c"
  280. "host/bluedroid/stack/gap/gap_api.c"
  281. "host/bluedroid/stack/gap/gap_ble.c"
  282. "host/bluedroid/stack/gap/gap_conn.c"
  283. "host/bluedroid/stack/gap/gap_utils.c"
  284. "host/bluedroid/stack/gatt/att_protocol.c"
  285. "host/bluedroid/stack/gatt/gatt_api.c"
  286. "host/bluedroid/stack/gatt/gatt_attr.c"
  287. "host/bluedroid/stack/gatt/gatt_auth.c"
  288. "host/bluedroid/stack/gatt/gatt_cl.c"
  289. "host/bluedroid/stack/gatt/gatt_db.c"
  290. "host/bluedroid/stack/gatt/gatt_main.c"
  291. "host/bluedroid/stack/gatt/gatt_sr.c"
  292. "host/bluedroid/stack/gatt/gatt_utils.c"
  293. "host/bluedroid/stack/hcic/hciblecmds.c"
  294. "host/bluedroid/stack/hcic/hcicmds.c"
  295. "host/bluedroid/stack/l2cap/l2c_api.c"
  296. "host/bluedroid/stack/l2cap/l2c_ble.c"
  297. "host/bluedroid/stack/l2cap/l2c_csm.c"
  298. "host/bluedroid/stack/l2cap/l2c_fcr.c"
  299. "host/bluedroid/stack/l2cap/l2c_link.c"
  300. "host/bluedroid/stack/l2cap/l2c_main.c"
  301. "host/bluedroid/stack/l2cap/l2c_ucd.c"
  302. "host/bluedroid/stack/l2cap/l2c_utils.c"
  303. "host/bluedroid/stack/l2cap/l2cap_client.c"
  304. "host/bluedroid/stack/rfcomm/port_api.c"
  305. "host/bluedroid/stack/rfcomm/port_rfc.c"
  306. "host/bluedroid/stack/rfcomm/port_utils.c"
  307. "host/bluedroid/stack/rfcomm/rfc_l2cap_if.c"
  308. "host/bluedroid/stack/rfcomm/rfc_mx_fsm.c"
  309. "host/bluedroid/stack/rfcomm/rfc_port_fsm.c"
  310. "host/bluedroid/stack/rfcomm/rfc_port_if.c"
  311. "host/bluedroid/stack/rfcomm/rfc_ts_frames.c"
  312. "host/bluedroid/stack/rfcomm/rfc_utils.c"
  313. "host/bluedroid/stack/sdp/sdp_api.c"
  314. "host/bluedroid/stack/sdp/sdp_db.c"
  315. "host/bluedroid/stack/sdp/sdp_discovery.c"
  316. "host/bluedroid/stack/sdp/sdp_main.c"
  317. "host/bluedroid/stack/sdp/sdp_server.c"
  318. "host/bluedroid/stack/sdp/sdp_utils.c"
  319. "host/bluedroid/stack/smp/aes.c"
  320. "host/bluedroid/stack/smp/p_256_curvepara.c"
  321. "host/bluedroid/stack/smp/p_256_ecc_pp.c"
  322. "host/bluedroid/stack/smp/p_256_multprecision.c"
  323. "host/bluedroid/stack/smp/smp_act.c"
  324. "host/bluedroid/stack/smp/smp_api.c"
  325. "host/bluedroid/stack/smp/smp_br_main.c"
  326. "host/bluedroid/stack/smp/smp_cmac.c"
  327. "host/bluedroid/stack/smp/smp_keys.c"
  328. "host/bluedroid/stack/smp/smp_l2c.c"
  329. "host/bluedroid/stack/smp/smp_main.c"
  330. "host/bluedroid/stack/smp/smp_utils.c")
  331. list(APPEND srcs "common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c")
  332. if(CONFIG_BLE_MESH)
  333. list(APPEND srcs "esp_ble_mesh/mesh_core/bluedroid_host/mesh_bearer_adapt.c")
  334. endif()
  335. endif()
  336. if(CONFIG_BLE_MESH)
  337. list(APPEND include_dirs
  338. "esp_ble_mesh/mesh_common/include"
  339. "esp_ble_mesh/mesh_common/tinycrypt/include"
  340. "esp_ble_mesh/mesh_core"
  341. "esp_ble_mesh/mesh_core/include"
  342. "esp_ble_mesh/mesh_core/storage"
  343. "esp_ble_mesh/btc/include"
  344. "esp_ble_mesh/mesh_models/common/include"
  345. "esp_ble_mesh/mesh_models/client/include"
  346. "esp_ble_mesh/mesh_models/server/include"
  347. "esp_ble_mesh/api/core/include"
  348. "esp_ble_mesh/api/models/include"
  349. "esp_ble_mesh/api")
  350. list(APPEND srcs "esp_ble_mesh/api/core/esp_ble_mesh_ble_api.c"
  351. "esp_ble_mesh/api/core/esp_ble_mesh_common_api.c"
  352. "esp_ble_mesh/api/core/esp_ble_mesh_local_data_operation_api.c"
  353. "esp_ble_mesh/api/core/esp_ble_mesh_low_power_api.c"
  354. "esp_ble_mesh/api/core/esp_ble_mesh_networking_api.c"
  355. "esp_ble_mesh/api/core/esp_ble_mesh_provisioning_api.c"
  356. "esp_ble_mesh/api/core/esp_ble_mesh_proxy_api.c"
  357. "esp_ble_mesh/api/models/esp_ble_mesh_config_model_api.c"
  358. "esp_ble_mesh/api/models/esp_ble_mesh_generic_model_api.c"
  359. "esp_ble_mesh/api/models/esp_ble_mesh_health_model_api.c"
  360. "esp_ble_mesh/api/models/esp_ble_mesh_lighting_model_api.c"
  361. "esp_ble_mesh/api/models/esp_ble_mesh_sensor_model_api.c"
  362. "esp_ble_mesh/api/models/esp_ble_mesh_time_scene_model_api.c"
  363. "esp_ble_mesh/btc/btc_ble_mesh_ble.c"
  364. "esp_ble_mesh/btc/btc_ble_mesh_config_model.c"
  365. "esp_ble_mesh/btc/btc_ble_mesh_generic_model.c"
  366. "esp_ble_mesh/btc/btc_ble_mesh_health_model.c"
  367. "esp_ble_mesh/btc/btc_ble_mesh_lighting_model.c"
  368. "esp_ble_mesh/btc/btc_ble_mesh_prov.c"
  369. "esp_ble_mesh/btc/btc_ble_mesh_sensor_model.c"
  370. "esp_ble_mesh/btc/btc_ble_mesh_time_scene_model.c"
  371. "esp_ble_mesh/mesh_common/tinycrypt/src/aes_decrypt.c"
  372. "esp_ble_mesh/mesh_common/tinycrypt/src/aes_encrypt.c"
  373. "esp_ble_mesh/mesh_common/tinycrypt/src/cbc_mode.c"
  374. "esp_ble_mesh/mesh_common/tinycrypt/src/ccm_mode.c"
  375. "esp_ble_mesh/mesh_common/tinycrypt/src/cmac_mode.c"
  376. "esp_ble_mesh/mesh_common/tinycrypt/src/ctr_mode.c"
  377. "esp_ble_mesh/mesh_common/tinycrypt/src/ctr_prng.c"
  378. "esp_ble_mesh/mesh_common/tinycrypt/src/ecc_dh.c"
  379. "esp_ble_mesh/mesh_common/tinycrypt/src/ecc_dsa.c"
  380. "esp_ble_mesh/mesh_common/tinycrypt/src/ecc_platform_specific.c"
  381. "esp_ble_mesh/mesh_common/tinycrypt/src/ecc.c"
  382. "esp_ble_mesh/mesh_common/tinycrypt/src/hmac_prng.c"
  383. "esp_ble_mesh/mesh_common/tinycrypt/src/hmac.c"
  384. "esp_ble_mesh/mesh_common/tinycrypt/src/sha256.c"
  385. "esp_ble_mesh/mesh_common/tinycrypt/src/utils.c"
  386. "esp_ble_mesh/mesh_common/mesh_atomic.c"
  387. "esp_ble_mesh/mesh_common/mesh_buf.c"
  388. "esp_ble_mesh/mesh_common/mesh_common.c"
  389. "esp_ble_mesh/mesh_common/mesh_kernel.c"
  390. "esp_ble_mesh/mesh_common/mesh_mutex.c"
  391. "esp_ble_mesh/mesh_common/mesh_timer.c"
  392. "esp_ble_mesh/mesh_common/mesh_util.c"
  393. "esp_ble_mesh/mesh_core/storage/settings_nvs.c"
  394. "esp_ble_mesh/mesh_core/access.c"
  395. "esp_ble_mesh/mesh_core/adv.c"
  396. "esp_ble_mesh/mesh_core/beacon.c"
  397. "esp_ble_mesh/mesh_core/cfg_cli.c"
  398. "esp_ble_mesh/mesh_core/cfg_srv.c"
  399. "esp_ble_mesh/mesh_core/crypto.c"
  400. "esp_ble_mesh/mesh_core/fast_prov.c"
  401. "esp_ble_mesh/mesh_core/friend.c"
  402. "esp_ble_mesh/mesh_core/health_cli.c"
  403. "esp_ble_mesh/mesh_core/health_srv.c"
  404. "esp_ble_mesh/mesh_core/local_operation.c"
  405. "esp_ble_mesh/mesh_core/lpn.c"
  406. "esp_ble_mesh/mesh_core/main.c"
  407. "esp_ble_mesh/mesh_core/net.c"
  408. "esp_ble_mesh/mesh_core/prov.c"
  409. "esp_ble_mesh/mesh_core/provisioner_main.c"
  410. "esp_ble_mesh/mesh_core/provisioner_prov.c"
  411. "esp_ble_mesh/mesh_core/proxy_client.c"
  412. "esp_ble_mesh/mesh_core/proxy_server.c"
  413. "esp_ble_mesh/mesh_core/settings_uid.c"
  414. "esp_ble_mesh/mesh_core/settings.c"
  415. "esp_ble_mesh/mesh_core/scan.c"
  416. "esp_ble_mesh/mesh_core/test.c"
  417. "esp_ble_mesh/mesh_core/transport.c"
  418. "esp_ble_mesh/mesh_models/common/device_property.c"
  419. "esp_ble_mesh/mesh_models/client/client_common.c"
  420. "esp_ble_mesh/mesh_models/client/generic_client.c"
  421. "esp_ble_mesh/mesh_models/client/lighting_client.c"
  422. "esp_ble_mesh/mesh_models/client/sensor_client.c"
  423. "esp_ble_mesh/mesh_models/client/time_scene_client.c"
  424. "esp_ble_mesh/mesh_models/server/generic_server.c"
  425. "esp_ble_mesh/mesh_models/server/lighting_server.c"
  426. "esp_ble_mesh/mesh_models/server/sensor_server.c"
  427. "esp_ble_mesh/mesh_models/server/server_common.c"
  428. "esp_ble_mesh/mesh_models/server/state_binding.c"
  429. "esp_ble_mesh/mesh_models/server/state_transition.c"
  430. "esp_ble_mesh/mesh_models/server/time_scene_server.c")
  431. endif()
  432. if(CONFIG_BT_NIMBLE_ENABLED)
  433. list(APPEND include_dirs
  434. host/nimble/nimble/porting/nimble/include
  435. host/nimble/port/include
  436. host/nimble/nimble/nimble/include
  437. host/nimble/nimble/nimble/host/include
  438. host/nimble/nimble/nimble/host/services/ans/include
  439. host/nimble/nimble/nimble/host/services/bas/include
  440. host/nimble/nimble/nimble/host/services/dis/include
  441. host/nimble/nimble/nimble/host/services/gap/include
  442. host/nimble/nimble/nimble/host/services/gatt/include
  443. host/nimble/nimble/nimble/host/services/ias/include
  444. host/nimble/nimble/nimble/host/services/ipss/include
  445. host/nimble/nimble/nimble/host/services/lls/include
  446. host/nimble/nimble/nimble/host/services/tps/include
  447. host/nimble/nimble/nimble/host/util/include
  448. host/nimble/nimble/nimble/host/store/ram/include
  449. host/nimble/nimble/nimble/host/store/config/include
  450. host/nimble/nimble/porting/npl/freertos/include
  451. host/nimble/esp-hci/include)
  452. if(NOT CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS)
  453. list(APPEND include_dirs
  454. host/nimble/nimble/ext/tinycrypt/include)
  455. list(APPEND srcs "host/nimble/nimble/ext/tinycrypt/src/utils.c"
  456. "host/nimble/nimble/ext/tinycrypt/src/sha256.c"
  457. "host/nimble/nimble/ext/tinycrypt/src/ecc.c"
  458. "host/nimble/nimble/ext/tinycrypt/src/ctr_prng.c"
  459. "host/nimble/nimble/ext/tinycrypt/src/ctr_mode.c"
  460. "host/nimble/nimble/ext/tinycrypt/src/aes_decrypt.c"
  461. "host/nimble/nimble/ext/tinycrypt/src/aes_encrypt.c"
  462. "host/nimble/nimble/ext/tinycrypt/src/ccm_mode.c"
  463. "host/nimble/nimble/ext/tinycrypt/src/ecc_dsa.c"
  464. "host/nimble/nimble/ext/tinycrypt/src/cmac_mode.c"
  465. "host/nimble/nimble/ext/tinycrypt/src/ecc_dh.c"
  466. "host/nimble/nimble/ext/tinycrypt/src/hmac_prng.c"
  467. "host/nimble/nimble/ext/tinycrypt/src/ecc_platform_specific.c"
  468. "host/nimble/nimble/ext/tinycrypt/src/hmac.c"
  469. "host/nimble/nimble/ext/tinycrypt/src/cbc_mode.c")
  470. endif()
  471. list(APPEND srcs "host/nimble/nimble/nimble/host/util/src/addr.c"
  472. "host/nimble/nimble/nimble/host/services/gatt/src/ble_svc_gatt.c"
  473. "host/nimble/nimble/nimble/host/services/tps/src/ble_svc_tps.c"
  474. "host/nimble/nimble/nimble/host/services/ias/src/ble_svc_ias.c"
  475. "host/nimble/nimble/nimble/host/services/ipss/src/ble_svc_ipss.c"
  476. "host/nimble/nimble/nimble/host/services/ans/src/ble_svc_ans.c"
  477. "host/nimble/nimble/nimble/host/services/gap/src/ble_svc_gap.c"
  478. "host/nimble/nimble/nimble/host/services/bas/src/ble_svc_bas.c"
  479. "host/nimble/nimble/nimble/host/services/dis/src/ble_svc_dis.c"
  480. "host/nimble/nimble/nimble/host/services/lls/src/ble_svc_lls.c"
  481. "host/nimble/nimble/nimble/host/src/ble_hs_conn.c"
  482. "host/nimble/nimble/nimble/host/src/ble_store_util.c"
  483. "host/nimble/nimble/nimble/host/src/ble_sm.c"
  484. "host/nimble/nimble/nimble/host/src/ble_hs_shutdown.c"
  485. "host/nimble/nimble/nimble/host/src/ble_l2cap_sig_cmd.c"
  486. "host/nimble/nimble/nimble/host/src/ble_hs_hci_cmd.c"
  487. "host/nimble/nimble/nimble/host/src/ble_hs_id.c"
  488. "host/nimble/nimble/nimble/host/src/ble_att_svr.c"
  489. "host/nimble/nimble/nimble/host/src/ble_gatts_lcl.c"
  490. "host/nimble/nimble/nimble/host/src/ble_ibeacon.c"
  491. "host/nimble/nimble/nimble/host/src/ble_hs_atomic.c"
  492. "host/nimble/nimble/nimble/host/src/ble_sm_alg.c"
  493. "host/nimble/nimble/nimble/host/src/ble_hs_stop.c"
  494. "host/nimble/nimble/nimble/host/src/ble_hs.c"
  495. "host/nimble/nimble/nimble/host/src/ble_hs_hci_evt.c"
  496. "host/nimble/nimble/nimble/host/src/ble_hs_mqueue.c"
  497. "host/nimble/nimble/nimble/host/src/ble_hs_periodic_sync.c"
  498. "host/nimble/nimble/nimble/host/src/ble_att.c"
  499. "host/nimble/nimble/nimble/host/src/ble_gattc.c"
  500. "host/nimble/nimble/nimble/host/src/ble_store.c"
  501. "host/nimble/nimble/nimble/host/src/ble_sm_lgcy.c"
  502. "host/nimble/nimble/nimble/host/src/ble_hs_cfg.c"
  503. "host/nimble/nimble/nimble/host/src/ble_monitor.c"
  504. "host/nimble/nimble/nimble/host/src/ble_att_clt.c"
  505. "host/nimble/nimble/nimble/host/src/ble_l2cap_coc.c"
  506. "host/nimble/nimble/nimble/host/src/ble_hs_mbuf.c"
  507. "host/nimble/nimble/nimble/host/src/ble_att_cmd.c"
  508. "host/nimble/nimble/nimble/host/src/ble_hs_log.c"
  509. "host/nimble/nimble/nimble/host/src/ble_eddystone.c"
  510. "host/nimble/nimble/nimble/host/src/ble_hs_startup.c"
  511. "host/nimble/nimble/nimble/host/src/ble_l2cap_sig.c"
  512. "host/nimble/nimble/nimble/host/src/ble_gap.c"
  513. "host/nimble/nimble/nimble/host/src/ble_sm_cmd.c"
  514. "host/nimble/nimble/nimble/host/src/ble_uuid.c"
  515. "host/nimble/nimble/nimble/host/src/ble_hs_pvcy.c"
  516. "host/nimble/nimble/nimble/host/src/ble_hs_flow.c"
  517. "host/nimble/nimble/nimble/host/src/ble_l2cap.c"
  518. "host/nimble/nimble/nimble/host/src/ble_sm_sc.c"
  519. "host/nimble/nimble/nimble/host/src/ble_hs_misc.c"
  520. "host/nimble/nimble/nimble/host/src/ble_gatts.c"
  521. "host/nimble/nimble/nimble/host/src/ble_hs_adv.c"
  522. "host/nimble/nimble/nimble/host/src/ble_hs_hci.c"
  523. "host/nimble/nimble/nimble/host/src/ble_hs_hci_util.c"
  524. "host/nimble/nimble/nimble/host/src/ble_hs_resolv.c"
  525. "host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c"
  526. "host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c"
  527. "host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c"
  528. "host/nimble/nimble/porting/npl/freertos/src/nimble_port_freertos.c"
  529. "host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c"
  530. "host/nimble/nimble/porting/nimble/src/endian.c"
  531. "host/nimble/nimble/porting/nimble/src/os_cputime_pwr2.c"
  532. "host/nimble/nimble/porting/nimble/src/hal_timer.c"
  533. "host/nimble/nimble/porting/nimble/src/os_mempool.c"
  534. "host/nimble/nimble/porting/nimble/src/os_msys_init.c"
  535. "host/nimble/nimble/porting/nimble/src/nimble_port.c"
  536. "host/nimble/nimble/porting/nimble/src/mem.c"
  537. "host/nimble/nimble/porting/nimble/src/os_mbuf.c"
  538. "host/nimble/nimble/porting/nimble/src/os_cputime.c"
  539. "host/nimble/esp-hci/src/esp_nimble_hci.c"
  540. "host/nimble/port/src/esp_nimble_mem.c")
  541. list(APPEND srcs
  542. "common/btc/profile/esp/blufi/nimble_host/esp_blufi.c")
  543. if(CONFIG_BLE_MESH)
  544. list(APPEND srcs "esp_ble_mesh/mesh_core/nimble_host/mesh_bearer_adapt.c")
  545. endif()
  546. if(CONFIG_BT_NIMBLE_MESH)
  547. list(APPEND include_dirs
  548. host/nimble/nimble/nimble/host/mesh/include)
  549. list(APPEND srcs "host/nimble/nimble/nimble/host/mesh/src/shell.c"
  550. "host/nimble/nimble/nimble/host/mesh/src/friend.c"
  551. "host/nimble/nimble/nimble/host/mesh/src/crypto.c"
  552. "host/nimble/nimble/nimble/host/mesh/src/settings.c"
  553. "host/nimble/nimble/nimble/host/mesh/src/adv.c"
  554. "host/nimble/nimble/nimble/host/mesh/src/model_srv.c"
  555. "host/nimble/nimble/nimble/host/mesh/src/beacon.c"
  556. "host/nimble/nimble/nimble/host/mesh/src/glue.c"
  557. "host/nimble/nimble/nimble/host/mesh/src/model_cli.c"
  558. "host/nimble/nimble/nimble/host/mesh/src/transport.c"
  559. "host/nimble/nimble/nimble/host/mesh/src/prov.c"
  560. "host/nimble/nimble/nimble/host/mesh/src/mesh.c"
  561. "host/nimble/nimble/nimble/host/mesh/src/nodes.c"
  562. "host/nimble/nimble/nimble/host/mesh/src/access.c"
  563. "host/nimble/nimble/nimble/host/mesh/src/cfg_srv.c"
  564. "host/nimble/nimble/nimble/host/mesh/src/cfg_cli.c"
  565. "host/nimble/nimble/nimble/host/mesh/src/light_model.c"
  566. "host/nimble/nimble/nimble/host/mesh/src/health_cli.c"
  567. "host/nimble/nimble/nimble/host/mesh/src/lpn.c"
  568. "host/nimble/nimble/nimble/host/mesh/src/proxy.c"
  569. "host/nimble/nimble/nimble/host/mesh/src/health_srv.c"
  570. "host/nimble/nimble/nimble/host/mesh/src/testing.c"
  571. "host/nimble/nimble/nimble/host/mesh/src/net.c")
  572. endif()
  573. endif()
  574. endif()
  575. # requirements can't depend on config
  576. idf_component_register(SRCS "${srcs}"
  577. INCLUDE_DIRS "${include_dirs}"
  578. PRIV_INCLUDE_DIRS "${priv_include_dirs}"
  579. REQUIRES nvs_flash soc esp_timer esp_pm esp_phy
  580. PRIV_REQUIRES esp_ipc
  581. LDFRAGMENTS "linker.lf")
  582. if(CONFIG_BT_ENABLED)
  583. target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-implicit-fallthrough -Wno-unused-const-variable)
  584. if(CONFIG_IDF_TARGET_ESP32)
  585. target_link_libraries(${COMPONENT_LIB} INTERFACE "-L${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32/esp32")
  586. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  587. target_link_libraries(${COMPONENT_LIB} INTERFACE "-u ld_include_hli_vectors_bt")
  588. elseif(CONFIG_IDF_TARGET_ESP32C3)
  589. target_link_libraries(${COMPONENT_LIB} INTERFACE
  590. "-L${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32c3")
  591. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  592. elseif(CONFIG_IDF_TARGET_ESP32S3)
  593. target_link_libraries(${COMPONENT_LIB} INTERFACE
  594. "-L${CMAKE_CURRENT_LIST_DIR}/controller/lib_esp32c3_family/esp32s3")
  595. target_link_libraries(${COMPONENT_LIB} PUBLIC btdm_app)
  596. endif()
  597. endif()
  598. if(CONFIG_BT_NIMBLE_MESH)
  599. set_source_files_properties("host/nimble/nimble/nimble/host/mesh/src/net.c"
  600. PROPERTIES COMPILE_FLAGS -Wno-type-limits)
  601. endif()
  602. if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE AND CONFIG_BT_NIMBLE_ENABLED)
  603. # some variables in NimBLE are only used by asserts
  604. target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-but-set-variable -Wno-unused-variable)
  605. endif()
  606. if(NOT CMAKE_BUILD_EARLY_EXPANSION)
  607. set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/host/bluedroid/bta/hf_ag/bta_ag_cmd.c"
  608. "${CMAKE_CURRENT_LIST_DIR}/host/bluedroid/btc/profile/std/gap/btc_gap_ble.c"
  609. PROPERTIES COMPILE_FLAGS "-fjump-tables -ftree-switch-conversion")
  610. endif()