blob: 1dd684ec06e33044328b80860a078ae954c5abde [file] [log] [blame]
Michael Spangefa630b2020-07-08 22:23:08 -04001# Copyright (c) 2020 Project CHIP Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Łukasz Duda4e1faf22021-01-27 17:47:25 +010015import("//build_overrides/build.gni")
Michael Spangefa630b2020-07-08 22:23:08 -040016import("//build_overrides/chip.gni")
17import("//build_overrides/nlio.gni")
rgoliverbf60cc22021-01-26 21:15:59 -050018import("//build_overrides/pigweed.gni")
Łukasz Duda4e1faf22021-01-27 17:47:25 +010019
Łukasz Duda4e1faf22021-01-27 17:47:25 +010020import("${build_root}/config/linux/pkg_config.gni")
Michael Spang09611bf2021-03-02 16:31:57 -050021import("${chip_root}/build/chip/buildconfig_header.gni")
Michael Spang1fcb6dd2020-08-24 11:19:04 -040022
Michael Spang8d085b32020-07-10 10:26:23 -040023import("device.gni")
Michael Spangefa630b2020-07-08 22:23:08 -040024
Michael Spangc32dd2f2020-08-13 08:42:21 -040025if (chip_enable_openthread) {
26 import("//build_overrides/openthread.gni")
Łukasz Duda4e1faf22021-01-27 17:47:25 +010027
28 if (chip_device_platform == "linux" || chip_device_platform == "Darwin") {
29 import("//build_overrides/ot_br_posix.gni")
30 }
Michael Spangc32dd2f2020-08-13 08:42:21 -040031}
32
Kamil Kasperczyk44014022021-03-12 21:18:45 +010033if (chip_device_platform == "linux" && chip_mdns != "none") {
Jiacheng Guo5de29292020-10-26 14:41:40 +080034 pkg_config("avahi_client_config") {
35 packages = [ "avahi-client" ]
36 }
37}
38
Jiacheng Guo57945c22020-08-29 03:56:59 +080039if (chip_device_platform != "none") {
Michael Spangefa630b2020-07-08 22:23:08 -040040 declare_args() {
41 # Extra header to include in CHIPDeviceConfig.h for project.
42 chip_device_project_config_include = ""
Michael Spangda4c1252020-08-06 10:40:49 -040043
44 # Date the firmware was built.
45 chip_device_config_firmware_build_date = ""
46
47 # Time the firmware was built.
48 chip_device_config_firmware_build_time = ""
Jiacheng Guoe4ac46a2020-11-11 00:04:34 +080049
Jiacheng Guob7598a02021-12-09 23:44:38 +080050 # Use OpenThread ftd or mtd library
51 chip_device_config_thread_ftd = chip_openthread_ftd
52
Jiacheng Guoe4ac46a2020-11-11 00:04:34 +080053 # By pass provision and secure session
54 chip_bypass_rendezvous = false
hnnajh96613742021-01-06 08:05:28 -080055
56 # Enable including the additional data in the advertisement packets
57 chip_enable_additional_data_advertising = true
hnnajh846f2f12021-02-18 05:45:15 -080058
Andrei Litvine0a8db72021-11-24 10:20:05 -050059 # Enable adding optional rotating device id to the additional data.
60 chip_enable_rotating_device_id = false
Andrei Litvin4ae09b32021-05-11 09:14:27 -040061
62 # lock tracking: none/log/fatal or auto for a platform-dependent choice
63 chip_stack_lock_tracking = "auto"
Hui.Li-TCL924f36e2021-09-30 20:51:41 +080064
65 # todo: below operates are not work without root permission
66 # pthread_attr_setschedpolicy in GenericPlatformManagerImpl_POSIX.cpp
67 chip_device_config_run_as_root = current_os != "android"
Michael Spangefa630b2020-07-08 22:23:08 -040068 }
69
Michael Spang732e1c02021-06-14 10:21:18 -040070 if (chip_stack_lock_tracking == "auto") {
Hui.Li-TCL924f36e2021-09-30 20:51:41 +080071 if (chip_device_platform == "linux" || chip_device_platform == "tizen" ||
72 chip_device_platform == "android") {
Michael Spang732e1c02021-06-14 10:21:18 -040073 # TODO: should be fatal for development. Change once bugs are fixed
74 chip_stack_lock_tracking = "log"
75 } else {
76 # TODO: may want to enable at least logging for embedded to find bugs
77 # this needs tuning depending on how many resources various platforms have
78 # available (mainly flash size)
79 chip_stack_lock_tracking = "none"
80 }
81 } else {
82 assert(
83 chip_stack_lock_tracking == "none" ||
84 chip_stack_lock_tracking == "log" ||
85 chip_stack_lock_tracking == "fatal",
86 "Please select a valid value for chip_stack_lock_tracking: auto, none, log, fatal")
87 }
88
Michael Spang1fcb6dd2020-08-24 11:19:04 -040089 buildconfig_header("platform_buildconfig") {
90 header = "CHIPDeviceBuildConfig.h"
91 header_dir = "platform"
Michael Spangefa630b2020-07-08 22:23:08 -040092
Michael Spang1fcb6dd2020-08-24 11:19:04 -040093 chip_with_gio = chip_enable_wifi
94 chip_device_config_enable_wpa = chip_enable_wifi
Kamil Kasperczykd9e02a02021-10-12 09:19:23 +020095 chip_device_config_enable_dnssd = chip_mdns != "none"
Michael Spang732e1c02021-06-14 10:21:18 -040096 chip_stack_lock_tracking_log = chip_stack_lock_tracking != "none"
97 chip_stack_lock_tracking_fatal = chip_stack_lock_tracking == "fatal"
Michael Spang1fcb6dd2020-08-24 11:19:04 -040098 defines = [
Michael Spang1fcb6dd2020-08-24 11:19:04 -040099 "CHIP_DEVICE_CONFIG_ENABLE_WPA=${chip_device_config_enable_wpa}",
100 "CHIP_ENABLE_OPENTHREAD=${chip_enable_openthread}",
Jiacheng Guob7598a02021-12-09 23:44:38 +0800101 "CHIP_DEVICE_CONFIG_THREAD_FTD=${chip_device_config_thread_ftd}",
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400102 "CHIP_WITH_GIO=${chip_with_gio}",
103 "OPENTHREAD_CONFIG_ENABLE_TOBLE=false",
Kamil Kasperczykd9e02a02021-10-12 09:19:23 +0200104 "CHIP_DEVICE_CONFIG_ENABLE_DNSSD=${chip_device_config_enable_dnssd}",
Michael Spang732e1c02021-06-14 10:21:18 -0400105 "CHIP_BYPASS_RENDEZVOUS=${chip_bypass_rendezvous}",
106 "CHIP_STACK_LOCK_TRACKING_ENABLED=${chip_stack_lock_tracking_log}",
107 "CHIP_STACK_LOCK_TRACKING_ERROR_FATAL=${chip_stack_lock_tracking_fatal}",
108 "CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING=${chip_enable_additional_data_advertising}",
109 "CHIP_ENABLE_ROTATING_DEVICE_ID=${chip_enable_rotating_device_id}",
Hui.Li-TCL924f36e2021-09-30 20:51:41 +0800110 "CHIP_DEVICE_CONFIG_RUN_AS_ROOT=${chip_device_config_run_as_root}",
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400111 ]
112
Wootak Junge945d162021-09-13 10:39:32 +0900113 if (chip_device_platform == "linux" || chip_device_platform == "darwin" ||
Hui.Li-TCL924f36e2021-09-30 20:51:41 +0800114 chip_device_platform == "tizen" || chip_device_platform == "android") {
Michael Spange1aa7b12021-03-09 18:08:38 -0500115 defines += [ "CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE=${chip_enable_ble}" ]
116 }
117
Damian Królik5d00d1c2021-04-07 03:31:43 +0200118 if (chip_enable_nfc) {
119 defines += [ "CHIP_DEVICE_CONFIG_ENABLE_NFC=1" ]
120 }
121
Damian Królik79fe72a2021-11-23 10:26:03 +0100122 if (chip_enable_ota_requestor) {
123 defines += [ "CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR=1" ]
124 }
125
Michael Spangefa630b2020-07-08 22:23:08 -0400126 if (chip_device_project_config_include != "") {
127 defines += [ "CHIP_DEVICE_PROJECT_CONFIG_INCLUDE=${chip_device_project_config_include}" ]
128 }
129 if (chip_device_platform_config_include != "") {
130 defines += [ "CHIP_DEVICE_PLATFORM_CONFIG_INCLUDE=${chip_device_platform_config_include}" ]
131 }
132
Michael Spangda4c1252020-08-06 10:40:49 -0400133 if (chip_device_config_firmware_build_date != "") {
Michael Spang801349e2020-08-10 09:15:04 -0400134 defines += [ "CHIP_DEVICE_CONFIG_FIRWMARE_BUILD_DATE=\"${chip_device_config_firmware_build_date}\"" ]
Michael Spangda4c1252020-08-06 10:40:49 -0400135 }
136 if (chip_device_config_firmware_build_time != "") {
Michael Spang801349e2020-08-10 09:15:04 -0400137 defines += [ "CHIP_DEVICE_CONFIG_FIRMWARE_BUILD_TIME=\"${chip_device_config_firmware_build_time}\"" ]
Michael Spangda4c1252020-08-06 10:40:49 -0400138 }
139
Seth Rickard4f0521f2021-01-12 16:06:52 -0600140 if (chip_device_platform == "cc13x2_26x2") {
141 defines += [
142 "CHIP_DEVICE_LAYER_TARGET_CC13X2_26X2=1",
143 "CHIP_DEVICE_LAYER_TARGET=cc13x2_26x2",
144 ]
145 } else if (chip_device_platform == "darwin") {
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400146 defines += [
147 "CHIP_DEVICE_LAYER_TARGET_DARWIN=1",
148 "CHIP_DEVICE_LAYER_TARGET=Darwin",
149 ]
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200150 } else if (chip_device_platform == "efr32") {
151 defines += [
152 "CHIP_DEVICE_LAYER_TARGET_EFR32=1",
153 "CHIP_DEVICE_LAYER_TARGET=EFR32",
154 ]
155 } else if (chip_device_platform == "esp32") {
156 defines += [
157 "CHIP_DEVICE_LAYER_TARGET_ESP32=1",
158 "CHIP_DEVICE_LAYER_TARGET=ESP32",
159 ]
Praveen Chandran080ae572021-08-12 07:58:27 -0700160 } else if (chip_device_platform == "p6") {
161 defines += [
162 "CHIP_DEVICE_LAYER_TARGET_P6=1",
163 "CHIP_DEVICE_LAYER_TARGET=P6",
164 ]
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400165 } else if (chip_device_platform == "linux") {
166 defines += [
167 "CHIP_DEVICE_LAYER_TARGET_LINUX=1",
168 "CHIP_DEVICE_LAYER_TARGET=Linux",
Yufeng Wangc23becb2021-09-30 11:18:04 -0700169 "CHIP_DEVICE_CONFIG_ENABLE_WIFI=${chip_enable_wifi}",
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400170 ]
Wootak Junge945d162021-09-13 10:39:32 +0900171 } else if (chip_device_platform == "tizen") {
172 defines += [
173 "CHIP_DEVICE_LAYER_TARGET_TIZEN=1",
174 "CHIP_DEVICE_LAYER_TARGET=Tizen",
175 "CHIP_DEVICE_CONFIG_ENABLE_WIFI=${chip_enable_wifi}",
176 ]
177 defines -=
178 [ "CHIP_DEVICE_CONFIG_ENABLE_WPA=${chip_device_config_enable_wpa}" ]
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200179 } else if (chip_device_platform == "nrfconnect") {
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400180 defines += [
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200181 "CHIP_DEVICE_LAYER_TARGET_NRFCONNECT=1",
182 "CHIP_DEVICE_LAYER_TARGET=nrfconnect",
Kedar Sovani8617e2a2020-08-30 02:33:21 +0530183 ]
Timothy Maes2478e022021-07-02 04:03:46 +0200184 } else if (chip_device_platform == "qpg") {
Timothy Maesb5b3d382020-10-05 16:59:21 +0200185 defines += [
Timothy Maes2478e022021-07-02 04:03:46 +0200186 "CHIP_DEVICE_LAYER_TARGET_QPG=1",
187 "CHIP_DEVICE_LAYER_TARGET=qpg",
Timothy Maesb5b3d382020-10-05 16:59:21 +0200188 ]
PetruSicoe0aac8fd2021-10-07 15:52:08 +0300189 } else if (chip_device_platform == "k32w0") {
doru9104ac26b2020-10-13 18:23:28 +0300190 defines += [
191 "CHIP_DEVICE_LAYER_TARGET_K32W=1",
PetruSicoe0aac8fd2021-10-07 15:52:08 +0300192 "CHIP_DEVICE_LAYER_TARGET=nxp/k32w/k32w0",
doru9104ac26b2020-10-13 18:23:28 +0300193 ]
Alexandr Kolosovfc7146c2021-06-09 20:57:36 +0300194 } else if (chip_device_platform == "telink") {
195 defines += [
196 "CHIP_DEVICE_LAYER_TARGET_TELINK=1",
197 "CHIP_DEVICE_LAYER_TARGET=telink",
198 ]
Vincent Coubardcc135602021-06-29 16:58:47 +0100199 } else if (chip_device_platform == "mbed") {
200 defines += [
201 "CHIP_DEVICE_LAYER_TARGET_MBED=1",
202 "CHIP_DEVICE_LAYER_TARGET=mbed",
203 ]
C Freeman79c93152021-08-18 00:20:05 -0400204 } else if (chip_device_platform == "fake") {
205 defines += [
206 "CHIP_DEVICE_LAYER_TARGET_FAKE=1",
207 "CHIP_DEVICE_LAYER_TARGET=fake",
208 ]
Hui.Li-TCL924f36e2021-09-30 20:51:41 +0800209 } else if (chip_device_platform == "android") {
210 defines += [
211 "CHIP_DEVICE_LAYER_TARGET_ANDROID=1",
212 "CHIP_DEVICE_LAYER_TARGET=android",
213 ]
pankore544da73c2021-10-19 02:51:16 +0800214 } else if (chip_device_platform == "ameba") {
215 defines += [
216 "CHIP_DEVICE_LAYER_TARGET_AMEBA=1",
217 "CHIP_DEVICE_LAYER_TARGET=Ameba",
pankoree6dab3712021-11-10 01:52:01 +0800218 "CHIP_DEVICE_CONFIG_ENABLE_WIFI=${chip_enable_wifi}",
pankore544da73c2021-10-19 02:51:16 +0800219 ]
Kedar Sovani8617e2a2020-08-30 02:33:21 +0530220 }
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400221 }
Jiacheng Guoe4ac46a2020-11-11 00:04:34 +0800222} else {
223 buildconfig_header("platform_buildconfig") {
224 header = "CHIPDeviceBuildConfig.h"
225 header_dir = "platform"
226
227 defines = [
228 "CHIP_DEVICE_LAYER_NONE=1",
229 "CHIP_DEVICE_LAYER_TARGET=NONE",
230 ]
Andrei Litvin1274bcf2021-04-09 14:13:37 -0400231
232 if (current_os == "android") {
Kamil Kasperczykd9e02a02021-10-12 09:19:23 +0200233 chip_device_config_enable_dnssd = chip_mdns != "none"
Damian Królik5cc54aa2021-07-22 23:20:32 +0200234 defines += [
Kamil Kasperczykd9e02a02021-10-12 09:19:23 +0200235 "CHIP_DEVICE_CONFIG_ENABLE_DNSSD=${chip_device_config_enable_dnssd}",
Damian Królik5cc54aa2021-07-22 23:20:32 +0200236 "EXTERNAL_KEYVALUESTOREMANAGERIMPL_HEADER=\"controller/java/AndroidKeyValueStoreManagerImpl.h\"",
237 ]
Andrei Litvin1274bcf2021-04-09 14:13:37 -0400238 }
Jiacheng Guoe4ac46a2020-11-11 00:04:34 +0800239 }
Jiacheng Guo57945c22020-08-29 03:56:59 +0800240}
Michael Spang1fcb6dd2020-08-24 11:19:04 -0400241
Michael Spang68fcef62021-07-05 21:50:23 -0400242if (chip_device_platform != "none") {
243 group("platform_base") {
244 public_deps = [
245 ":platform_buildconfig",
246 "${chip_root}/src/ble",
247 "${chip_root}/src/inet",
248 "${chip_root}/src/lib/core",
249 "${chip_root}/src/lib/support",
250 "${chip_root}/src/system",
251 ]
252
253 public_configs = [ "${chip_root}/src:includes" ]
Michael Spangefa630b2020-07-08 22:23:08 -0400254 }
255
256 static_library("platform") {
257 output_name = "libDeviceLayer"
258
259 sources = [
Michael Spangdb9b8612020-07-13 09:43:13 -0400260 "../include/platform/CHIPDeviceConfig.h",
261 "../include/platform/CHIPDeviceError.h",
262 "../include/platform/CHIPDeviceEvent.h",
263 "../include/platform/CHIPDeviceLayer.h",
264 "../include/platform/ConfigurationManager.h",
265 "../include/platform/ConnectivityManager.h",
266 "../include/platform/GeneralUtils.h",
rgoliverbf60cc22021-01-26 21:15:59 -0500267 "../include/platform/KeyValueStoreManager.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400268 "../include/platform/PersistedStorage.h",
269 "../include/platform/PlatformManager.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400270 "../include/platform/ThreadStackManager.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400271 "../include/platform/internal/BLEManager.h",
272 "../include/platform/internal/CHIPDeviceLayerInternal.h",
Yufeng Wang17be4af2021-05-03 21:46:33 -0700273 "../include/platform/internal/DeviceControlServer.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400274 "../include/platform/internal/DeviceNetworkInfo.h",
Pankaj Garg4239bcf2020-10-27 08:41:54 -0700275 "../include/platform/internal/DeviceNetworkProvisioning.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400276 "../include/platform/internal/EventLogging.h",
277 "../include/platform/internal/GenericConfigurationManagerImpl.h",
278 "../include/platform/internal/GenericConnectivityManagerImpl.h",
279 "../include/platform/internal/GenericConnectivityManagerImpl_BLE.h",
280 "../include/platform/internal/GenericConnectivityManagerImpl_NoBLE.h",
281 "../include/platform/internal/GenericConnectivityManagerImpl_NoThread.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400282 "../include/platform/internal/GenericConnectivityManagerImpl_NoWiFi.h",
283 "../include/platform/internal/GenericConnectivityManagerImpl_Thread.h",
Yufeng Wang2a1e8bc2020-09-27 23:27:02 -0700284 "../include/platform/internal/GenericConnectivityManagerImpl_WiFi.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400285 "../include/platform/internal/GenericPlatformManagerImpl.h",
286 "../include/platform/internal/GenericPlatformManagerImpl_FreeRTOS.h",
287 "../include/platform/internal/GenericPlatformManagerImpl_POSIX.h",
Michael Spangdb9b8612020-07-13 09:43:13 -0400288 "../include/platform/internal/testing/ConfigUnitTest.h",
Yufeng Wang17be4af2021-05-03 21:46:33 -0700289 "DeviceControlServer.cpp",
Yufeng Wang3e863a92021-11-22 11:41:21 -0800290 "DiagnosticDataProvider.cpp",
Zang MingJie659848c2021-09-03 23:13:45 +0800291 "Entropy.cpp",
Michael Spangefa630b2020-07-08 22:23:08 -0400292 "GeneralUtils.cpp",
293 "Globals.cpp",
Andrei Litvin4ae09b32021-05-11 09:14:27 -0400294 "LockTracker.cpp",
Michael Spangefa630b2020-07-08 22:23:08 -0400295 "PersistedStorage.cpp",
Zang MingJie39ff9bf2021-11-05 12:29:08 +0800296 "PlatformEventSupport.cpp",
Michael Spangefa630b2020-07-08 22:23:08 -0400297 ]
298
Boris Zbarsky444b50b2020-09-23 19:53:06 -0400299 cflags = [ "-Wconversion" ]
300
Michael Spangefa630b2020-07-08 22:23:08 -0400301 public_deps = [
Michael Spang68fcef62021-07-05 21:50:23 -0400302 ":platform_base",
Andrei Litvinf04c4282021-10-20 12:58:43 -0400303 "${chip_root}/src/app:app_buildconfig",
Yufeng Wang551e53f2021-10-26 13:41:18 -0700304 "${chip_root}/src/app/common:cluster-objects",
Zang MingJie659848c2021-09-03 23:13:45 +0800305 "${chip_root}/src/crypto",
Michael Spangefa630b2020-07-08 22:23:08 -0400306 "${chip_root}/src/lib/support",
Michael Spangefa630b2020-07-08 22:23:08 -0400307 ]
308
Seth Rickard4f0521f2021-01-12 16:06:52 -0600309 if (chip_device_platform == "cc13x2_26x2") {
Michael Spang68fcef62021-07-05 21:50:23 -0400310 _platform_target = "cc13x2_26x2"
Seth Rickard4f0521f2021-01-12 16:06:52 -0600311 } else if (chip_device_platform == "darwin") {
Michael Spang68fcef62021-07-05 21:50:23 -0400312 _platform_target = "Darwin"
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200313 } else if (chip_device_platform == "efr32") {
Michael Spang68fcef62021-07-05 21:50:23 -0400314 _platform_target = "EFR32"
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200315 } else if (chip_device_platform == "esp32") {
Michael Spang68fcef62021-07-05 21:50:23 -0400316 _platform_target = "ESP32"
PetruSicoe0aac8fd2021-10-07 15:52:08 +0300317 } else if (chip_device_platform == "k32w0") {
318 _platform_target = "nxp/k32w/k32w0"
Michael Spang4314d812020-08-07 10:17:09 -0400319 } else if (chip_device_platform == "linux") {
Michael Spang68fcef62021-07-05 21:50:23 -0400320 _platform_target = "Linux"
Rafał Kuźnia90bc94c2020-08-31 19:54:04 +0200321 } else if (chip_device_platform == "nrfconnect") {
Michael Spang68fcef62021-07-05 21:50:23 -0400322 _platform_target = "nrfconnect"
Timothy Maes2478e022021-07-02 04:03:46 +0200323 } else if (chip_device_platform == "qpg") {
Michael Spang68fcef62021-07-05 21:50:23 -0400324 _platform_target = "qpg"
Alexandr Kolosovfc7146c2021-06-09 20:57:36 +0300325 } else if (chip_device_platform == "telink") {
Michael Spang68fcef62021-07-05 21:50:23 -0400326 _platform_target = "telink"
Vincent Coubardcc135602021-06-29 16:58:47 +0100327 } else if (chip_device_platform == "mbed") {
Michael Spang68fcef62021-07-05 21:50:23 -0400328 _platform_target = "mbed"
Wootak Junge945d162021-09-13 10:39:32 +0900329 } else if (chip_device_platform == "tizen") {
330 _platform_target = "Tizen"
Hui.Li-TCL924f36e2021-09-30 20:51:41 +0800331 } else if (chip_device_platform == "android") {
332 _platform_target = "android"
Michael Spang68fcef62021-07-05 21:50:23 -0400333 } else if (chip_device_platform == "external") {
334 _platform_target = chip_platform_target
Praveen Chandran080ae572021-08-12 07:58:27 -0700335 } else if (chip_device_platform == "p6") {
336 _platform_target = "P6"
pankore544da73c2021-10-19 02:51:16 +0800337 } else if (chip_device_platform == "ameba") {
338 _platform_target = "Ameba"
C Freeman79c93152021-08-18 00:20:05 -0400339 } else if (chip_device_platform == "fake") {
340 _platform_target = "fake"
Michael Spang68fcef62021-07-05 21:50:23 -0400341 } else {
342 assert(false, "Unknown chip_device_platform: ${chip_device_platform}")
Michael Spangefa630b2020-07-08 22:23:08 -0400343 }
Michael Spangdb9b8612020-07-13 09:43:13 -0400344
Michael Spang68fcef62021-07-05 21:50:23 -0400345 public_deps += [ _platform_target ]
Kamil Kasperczyk44014022021-03-12 21:18:45 +0100346
Michael Spang68fcef62021-07-05 21:50:23 -0400347 # The platform target needs to include the headers, so allow that here.
348 # It should be considered logically part of this target.
349 allow_circular_includes_from = [
350 _platform_target,
351 "${chip_root}/src/lib/support",
352 ]
Jiacheng Guod8f58a02020-08-19 00:23:40 +0800353 }
Michael Spangefa630b2020-07-08 22:23:08 -0400354} else {
355 group("platform") {
Jiacheng Guoe4ac46a2020-11-11 00:04:34 +0800356 public_deps = [ ":platform_buildconfig" ]
Michael Spangefa630b2020-07-08 22:23:08 -0400357 }
358}