1include($ENV{PW_ROOT}/pw_build/pigweed.cmake) 2include($ENV{PW_ROOT}/pw_flatbuffers/flatbuffers.cmake) 3include(backend.cmake) 4 5pw_add_facade(chre.platform.shared.authentication INTERFACE 6 BACKEND 7 chre.platform.shared.authentication_BACKEND 8 HEADERS 9 include/chre/platform/shared/authentication.h 10 PUBLIC_INCLUDES 11 include 12) 13 14pw_add_facade(chre.platform.shared.bt_snoop_log INTERFACE 15 BACKEND 16 chre.platform.shared.bt_snoop_log_BACKEND 17 HEADERS 18 include/chre/platform/shared/bt_snoop_log.h 19 PUBLIC_INCLUDES 20 include 21) 22 23# Implements chre_api/chre/audio.h's: 24# - bool chreAudioGetSource(uint32_t handle, 25# struct chreAudioSource *audioSource) 26# - bool chreAudioConfigureSource(uint32_t handle, bool enable, 27# uint64_t bufferDuration, 28# uint64_t deliveryInterval) 29# - bool chreAudioGetStatus(uint32_t handle, 30# struct chreAudioSourceStatus *status) 31# 32pw_add_library(chre.platform.shared.chre_api_audio STATIC 33 SOURCES 34 chre_api_audio.cc 35 PRIVATE_DEPS 36 chre.chre_api.facade 37 chre.platform.platform_audio 38 chre.util 39 chre.util.system 40) 41# Implements chre_api/chre/ble.h's: 42# - uint32_t chreBleGetCapabilities() 43# - uint32_t chreBleGetFilterCapabilities() 44# - bool chreBleFlushAsync(const void *cookie) 45# - bool chreBleStartScanAsync(chreBleScanMode mode, 46# uint32_t reportDelayMs, 47# const struct chreBleScanFilter *filter) 48# - bool chreBleStartScanAsyncV1_9(enum chreBleScanMode mode, 49# uint32_t reportDelayMs, 50# const struct chreBleScanFilterV1_9 *filter, 51# const void *cookie) 52# - bool chreBleStopScanAsync() 53# - bool chreBleStopScanAsyncV1_9(const void *cookie) 54# - bool chreBleReadRssiAsync(uint16_t connectionHandle, 55# const void *cookie) 56# - bool chreBleGetScanStatus(struct chreBleScanStatus *status) 57# 58pw_add_library(chre.platform.shared.chre_api_ble STATIC 59 SOURCES 60 chre_api_ble.cc 61 PRIVATE_DEPS 62 chre.chre_api.facade 63 chre.core 64 chre.util 65 chre.util.system 66) 67 68# Implements chre_api/chre/event.h's: 69# - bool chreSendEvent(uint16_t eventType, void *eventData, 70# chreEventCompleteFunction *freeCallback, 71# uint32_t targetInstanceId) 72# - bool chreSendMessageToHost(void *message, uint32_t messageSize, 73# uint32_t messageType, 74# chreMessageFreeFunction *freeCallback) 75# - bool chreSendMessageToHostEndpoint( 76# void *message, size_t messageSize, uint32_t messageType, 77# uint16_t hostEndpoint, chreMessageFreeFunction *freeCallback) 78# - bool chreSendMessageWithPermissions( 79# void *message, size_t messageSize, uint32_t messageType, 80# uint16_t hostEndpoint, uint32_t messagePermissions, 81# chreMessageFreeFunction *freeCallback) 82# - bool chreSendReliableMessageAsync( 83# void *message, size_t messageSize, uint32_t messageType, 84# uint16_t hostEndpoint, uint32_t messagePermissions, 85# chreMessageFreeFunction *freeCallback, const void *cookie) 86# - bool chreGetNanoappInfoByAppId(uint64_t appId, struct chreNanoappInfo *info) 87# - bool chreGetNanoappInfoByInstanceId(uint32_t instanceId, 88# struct chreNanoappInfo *info) 89# - void chreConfigureNanoappInfoEvents(bool enable) 90# - void chreConfigureHostSleepStateEvents(bool enable) 91# - bool chreIsHostAwake() 92# - void chreConfigureDebugDumpEvent(bool enable) 93# - bool chreConfigureHostEndpointNotifications(uint16_t hostEndpointId, 94# bool enable) 95# - bool chrePublishRpcServices(struct chreNanoappRpcService *services, 96# size_t numServices) 97# - bool chreGetHostEndpointInfo(uint16_t hostEndpointId, 98# struct chreHostEndpointInfo *info) 99# 100pw_add_library(chre.platform.shared.chre_api_core STATIC 101 SOURCES 102 chre_api_core.cc 103 PRIVATE_DEPS 104 chre.chre_api.facade 105 chre.core 106 chre.platform.log 107 chre.util 108 chre.util.system 109) 110 111# Implements chre_api/chre/gnss.h's: 112# - uint32_t chreGnssGetCapabilities() 113# - bool chreGnssLocationSessionStartAsync( 114# uint32_t minIntervalMs, uint32_t minTimeToNextFixMs, 115# const void *cookie) 116# - bool chreGnssLocationSessionStopAsync(const void *cookie) 117# - bool chreGnssMeasurementSessionStartAsync( 118# uint32_t minIntervalMs, const void *cookie) 119# - bool chreGnssMeasurementSessionStopAsync(const void *cookie) 120# - bool chreGnssConfigurePassiveLocationListener(bool enable) 121# 122pw_add_library(chre.platform.shared.chre_api_gnss STATIC 123 SOURCES 124 chre_api_gnss.cc 125 PRIVATE_DEPS 126 chre.chre_api.facade 127 chre.core 128 chre.util 129 chre.util.system 130) 131 132# Implements chre_api/chre/msg.h's: 133# - bool chreMsgGetEndpointInfo(uint64_t hubId, uint64_t endpointId, 134# struct chreMsgEndpointInfo *info) 135# - size_t chreMsgGetEndpointServiceCount(uint64_t hubId, uint64_t endpointId) 136# - bool chreMsgGetEndpointServices(uint64_t hubId, uint64_t endpointId, 137# struct chreMsgEndpointServiceInfo *services, 138# size_t *numServices) 139# - bool chreMsgConfigureEndpointNotifications(uint64_t hubId, 140# uint64_t endpointId, 141# bool enable) 142# - bool chreMsgGetSessionInfo(uint16_t sessionId, 143# struct chreMsgEndpointSessionInfo *info) 144# - bool chreMsgPublishRpcServices(struct chreMsgEndpointServiceInfo *services, 145# size_t numServices) 146# - uint16_t chreMsgOpenEndpointSessionAsync(uint64_t hubId, 147# uint64_t endpointId) 148# - uint16_t chreMsgOpenEndpointSessionWithServiceAsync( 149# uint64_t hubId, uint64_t endpointId, const char *serviceDescriptor) 150# - uint16_t chreMsgOpenDefaultEndpointSessionAsync(uint64_t endpointId) 151# - uint16_t chreMsgOpenDefaultEndpointSessionWithServiceAsync( 152# uint64_t endpointId, const char *serviceDescriptor) 153# - uint16_t chreMsgOpenServiceEndpointSessionAsync(const char *serviceDescriptor) 154# - bool chreMsgCloseEndpointSessionAsync(uint16_t sessionId) 155# - bool chreMsgSendReliableEndpointMessageAsync( 156# void *message, size_t messageSize, uint32_t messageType, 157# uint16_t sessionId, uint32_t messagePermissions, 158# chreMessageFreeFunction *freeCallback, const void *cookie) 159pw_add_library(chre.platform.shared.chre_api_msg STATIC 160 SOURCES 161 chre_api_msg.cc 162 PRIVATE_DEPS 163 chre.chre_api.facade 164 chre.core 165 chre.util 166 chre.util.system 167) 168 169# Implements chre_api/chre/re.h's: 170# - uint32_t chreGetCapabilities() 171# - uint32_t chreGetMessageToHostMaxSize() 172# - uint64_t chreGetAppId(void) 173# - uint32_t chreGetInstanceId(void) 174# - uint64_t chreGetTime() 175# - int64_t chreGetEstimatedHostTimeOffset() 176# - uint32_t chreTimerSet(uint64_t duration, const void *cookie, bool oneShot) 177# - bool chreTimerCancel(uint32_t timerId) 178# - void chreAbort(uint32_t abortCode) 179# - void* chreHeapAlloc(uint32_t bytes) 180# - void chreHeapFree(void *ptr) 181# - chreDebugDumpLog(const char *formatStr, ...) 182# 183# Also provides: 184# - void platform_chreDebugDumpVaLog(const char *formatStr, va_list args) 185# 186# Does not provide: 187# - void chreLog(enum chreLogLevel level, const char *formatStr, ...) 188pw_add_library(chre.platform.shared.chre_api_re STATIC 189 HEADERS 190 include/chre/platform/shared/debug_dump.h 191 PUBLIC_INCLUDES 192 include 193 SOURCES 194 chre_api_re.cc 195 PRIVATE_DEPS 196 chre.chre_api.facade 197 chre.core 198 chre.platform.fatal_error 199 chre.util 200) 201 202# Implements chre_api/chre/sensor.h's: 203# - bool chreSensorFindDefault(uint8_t sensorType, uint32_t *handle) 204# - bool chreSensorFind(uint8_t sensorType, uint8_t sensorIndex, 205# uint32_t *handle) 206# - bool chreGetSensorInfo(uint32_t sensorHandle, struct chreSensorInfo *info) 207# - bool chreGetSensorSamplingStatus(uint32_t sensorHandle, 208# struct chreSensorSamplingStatus *status) 209# - bool chreSensorConfigure(uint32_t sensorHandle, 210# enum chreSensorConfigureMode mode, 211# uint64_t interval, uint64_t latency) 212# - bool chreSensorConfigureBiasEvents(uint32_t sensorHandle, bool enable) 213# - bool chreSensorGetThreeAxisBias(uint32_t sensorHandle, 214# struct chreSensorThreeAxisData *bias) 215# - bool chreSensorFlushAsync(uint32_t sensorHandle, const void *cookie) 216# 217pw_add_library(chre.platform.shared.chre_api_sensor STATIC 218 SOURCES 219 chre_api_sensor.cc 220 PRIVATE_DEPS 221 chre.chre_api.facade 222 chre.core 223 chre.util 224) 225 226# Implements chre_api/chre/user_settings.h's: 227# - int8_t chreUserSettingGetState(uint8_t setting) 228# - void chreUserSettingConfigureEvents(uint8_t setting, bool enable) 229# 230pw_add_library(chre.platform.shared.chre_api_user_settings STATIC 231 SOURCES 232 chre_api_user_settings.cc 233 PRIVATE_DEPS 234 chre.chre_api.facade 235 chre.core 236 chre.util 237) 238 239# Implements chre_api/chre/version.h's: 240# - uint32_t chreGetApiVersion(void) 241# - uint32_t chreGetVersion(void) 242# - uint64_t chreGetPlatformId(void) 243# 244pw_add_library(chre.platform.shared.chre_api_version STATIC 245 SOURCES 246 chre_api_version.cc 247 PRIVATE_DEPS 248 chre.chre_api.facade 249 chre.core 250 chre.util 251) 252 253# Implements chre_api/chre/wifi.h's: 254# - uint32_t chreWifiGetCapabilities() 255# - bool chreWifiNanGetCapabilities( 256# struct chreWifiNanCapabilities *capabilities) 257# - bool chreWifiConfigureScanMonitorAsync(bool enable, const void *cookie) 258# - bool chreWifiRequestScanAsync(const struct chreWifiScanParams *params, 259# const void *cookie) 260# - bool chreWifiRequestRangingAsync( 261# const struct chreWifiRangingParams *params, const void *cookie) 262# - bool chreWifiNanSubscribe(struct chreWifiNanSubscribeConfig *config, 263# const void *cookie) 264# - bool chreWifiNanSubscribeCancel(uint32_t subscriptionId) 265# - bool chreWifiNanRequestRangingAsync( 266# const struct chreWifiNanRangingParams *params, const void *cookie) 267# 268pw_add_library(chre.platform.shared.chre_api_wifi STATIC 269 SOURCES 270 chre_api_wifi.cc 271 PRIVATE_DEPS 272 chre.chre_api.facade 273 chre.core 274 chre.util 275 chre.util.system 276) 277 278# Implements chre_api/chre/wwan.h's: 279# - uint32_t chreWwanGetCapabilities() 280# - bool chreWwanGetCellInfoAsync(const void *cookie) 281# 282pw_add_library(chre.platform.shared.chre_api_wwan STATIC 283 SOURCES 284 chre_api_wwan.cc 285 PRIVATE_DEPS 286 chre.chre_api.facade 287 chre.core 288 chre.util 289 chre.util.system 290) 291 292pw_add_library(chre.platform.shared.dlfcn STATIC 293 HEADERS 294 include/chre/platform/shared/libc/dlfcn.h 295 PUBLIC_INCLUDES 296 include/chre/platform/shared/libc 297 SOURCES 298 dlfcn.cc 299 PRIVATE_DEPS 300 chre.platform.assert 301 chre.platform.log 302 chre.platform.shared.nanoapp_loader 303 chre.util 304) 305 306pw_flatbuffer_library(chre.platform.shared.idl.host_messages_generated 307 SOURCES 308 idl/host_messages.fbs 309 FLATC_FLAGS 310 --scoped-enums 311 --cpp-ptr-type chre::UniquePtr 312 DEPS 313 chre_third_party.flatbuffers 314 PREFIX 315 chre/platform/shared/fbs 316 STRIP_PREFIX 317 idl 318) 319 320pw_add_library(chre.platform.shared.host_protocol_chre STATIC 321 HEADERS 322 include/chre/platform/shared/host_protocol_chre.h 323 PUBLIC_INCLUDES 324 include 325 PUBLIC_DEPS 326 chre.core 327 chre.platform.shared.idl.host_messages_generated.cpp 328 chre.platform.shared.host_protocol_common 329 chre.util 330 chre.util.flatbuffers 331 chre.util.system 332 chre.chre_api 333 chre_third_party.flatbuffers 334 SOURCES 335 host_protocol_chre.cc 336 host_link.cc 337 PRIVATE_DEPS 338 chre.core 339 chre.platform.log 340 chre.platform.shared.nanoapp_load_manager 341) 342 343pw_add_library(chre.platform.shared.host_protocol_common STATIC 344 HEADERS 345 include/chre/platform/shared/host_protocol_common.h 346 PUBLIC_INCLUDES 347 include 348 PUBLIC_DEPS 349 chre.util.system 350 chre_third_party.flatbuffers 351 SOURCES 352 host_protocol_common.cc 353 PRIVATE_DEPS 354 chre.platform.shared.idl.host_messages_generated.cpp 355) 356 357pw_add_library(chre.platform.shared.loader_util INTERFACE 358 HEADERS 359 include/chre/platform/shared/loader_util.h 360 PUBLIC_INCLUDES 361 include 362 PUBLIC_DEPS 363 chre.variant.config 364) 365 366pw_add_library(chre.platform.shared.log_buffer STATIC 367 HEADERS 368 include/chre/platform/shared/log_buffer.h 369 PUBLIC_INCLUDES 370 include 371 PUBLIC_DEPS 372 chre.core 373 chre.platform.mutex 374 chre.platform.shared.bt_snoop_log 375 chre.platform.shared.idl.host_messages_generated.cpp 376 SOURCES 377 log_buffer.cc 378 PRIVATE_DEPS 379 chre.platform.assert 380 chre.util 381) 382 383# This requires the backend to provide an implementation for: 384# - void LogBufferManager::preSecondaryBufferUse() const 385pw_add_facade(chre.platform.shared.log_buffer_manager STATIC 386 BACKEND 387 chre.platform.shared.log_buffer_manager_BACKEND 388 HEADERS 389 include/chre/platform/shared/log_buffer_manager.h 390 PUBLIC_INCLUDES 391 include 392 PUBLIC_DEPS 393 chre.chre_api 394 chre.platform.assert 395 chre.platform.condition_variable 396 chre.platform.mutex 397 chre.platform.shared.bt_snoop_log.facade 398 chre.platform.shared.idl.host_messages_generated.cpp 399 chre.platform.shared.log_buffer 400 chre.util 401 SOURCES 402 log_buffer_manager.cc 403 PRIVATE_DEPS 404 chre.core 405 chre.platform.log 406 chre.util 407 pw_log_tokenized.config 408 pw_tokenizer 409) 410 411pw_add_facade(chre.platform.shared.memory INTERFACE 412 BACKEND 413 chre.platform.shared.memory_BACKEND 414 HEADERS 415 include/chre/platform/shared/memory.h 416 PUBLIC_INCLUDES 417 include 418) 419 420# Partial backend for chre.platform.memory_manger which implements: 421# 1) void *MemoryManager::nanoappAlloc(Nanoapp *app, uint32_t bytes) 422# 2) void MemoryManager::nanoappFree(Nanoapp *app, void *ptr) 423# 3) uint32_t MemoryManager::nanoappFreeAll(Nanoapp *app) 424# 4) void MemoryManager::logStateToBuffer(DebugDumpWrapper &debugDump) const 425pw_add_library(chre.platform.shared.memory_manager STATIC 426 SOURCES 427 memory_manager.cc 428 PRIVATE_DEPS 429 chre.platform.assert 430 chre.platform.memory_manager.facade 431 chre.util.system 432) 433 434pw_add_library(chre.platform.shared.nanoapp_dso_util STATIC 435 HEADERS 436 include/chre/platform/shared/nanoapp_dso_util.h 437 PUBLIC_INCLUDES 438 include 439 PUBLIC_DEPS 440 chre.platform.shared.nanoapp_support_lib_dso 441 SOURCES 442 nanoapp/nanoapp_dso_util.cc 443 PRIVATE_DEPS 444 chre.platform.log 445) 446 447# This is itself a facade for: 448# 1) bool NanoappLoader::relocateTable(DynamicHeader *dyn, int tag) 449# 2) bool NanoappLoader::resolveGot() 450# 3) if CHREX_SYMBOL_EXTENSIONS is set, providing 451# `const ExportedData chre::kVendorExportedData[]` via 452# `chre/extensions/platform/symbol_list.h`. 453pw_add_facade(chre.platform.shared.nanoapp_loader STATIC 454 BACKEND 455 chre.platform.shared.nanoapp_loader_BACKEND 456 HEADERS 457 include/chre/platform/shared/nanoapp_loader.h 458 PUBLIC_INCLUDES 459 include 460 PUBLIC_DEPS 461 chre.util 462 chre.platform.shared.loader_util 463 SOURCES 464 nanoapp_loader.cc 465 PRIVATE_DEPS 466 chre.chre_api 467 chre.platform.assert 468 chre.platform.fatal_error 469 chre.platform.shared.chre_api_re 470 chre.platform.shared.chre_api_msg 471 chre.platform.shared.dlfcn 472 chre.platform.shared.memory 473 chre.platform.shared.nanoapp_tokenized_log 474 chre.platform.shared.platform_cache_management 475 chre.variant.config 476) 477 478pw_add_library(chre.platform.shared.nanoapp_load_manager STATIC 479 HEADERS 480 include/chre/platform/shared/nanoapp_load_manager.h 481 PUBLIC_INCLUDES 482 include 483 PUBLIC_DEPS 484 chre.core 485 chre.util 486 SOURCES 487 nanoapp_load_manager.cc 488) 489 490# Note that this does NOT actually implement, which are only required for 491# nanoapp builds: 492# - const struct chreNslNanoappInfo *getChreNslDsoNanoappInfo() 493# - bool chreNslDsoGetApi(uint32_t apiId, void **apiHandle) 494pw_add_library(chre.platform.shared.nanoapp_support_lib_dso INTERFACE 495 HEADERS 496 include/chre/platform/shared/nanoapp_support_lib_dso.h 497 PUBLIC_INCLUDES 498 include 499 PUBLIC_DEPS 500 chre.chre_api 501) 502 503pw_add_library(chre.platform.shared.nanoapp_tokenized_log STATIC 504 HEADERS 505 nanoapp/include/chre/platform/shared/nanoapp/tokenized_log.h 506 PUBLIC_INCLUDES 507 nanoapp/include 508 PUBLIC_DEPS 509 chre.chre_api 510 SOURCES 511 tokenized_log.cc 512 PRIVATE_DEPS 513 chre.core 514 chre.platform.log 515 chre.platform.shared.log_buffer_manager 516 pw_log_tokenized.config 517 pw_tokenizer 518) 519 520pw_add_library(chre.platform.shared.pal_audio_stub STATIC 521 SOURCES 522 pal_audio_stub.cc 523 PRIVATE_DEPS 524 chre.pal.audio.facade 525) 526 527pw_add_library(chre.platform.shared.pal_ble_stub STATIC 528 SOURCES 529 pal_ble_stub.cc 530 PRIVATE_DEPS 531 chre.pal.ble.facade 532) 533 534pw_add_library(chre.platform.shared.pal_gnss_stub STATIC 535 SOURCES 536 pal_gnss_stub.cc 537 PRIVATE_DEPS 538 chre.pal.gnss.facade 539) 540 541pw_add_library(chre.platform.shared.pal_sensor_stub STATIC 542 SOURCES 543 pal_sensor_stub.cc 544 PRIVATE_DEPS 545 chre.pal.sensor.facade 546) 547 548pw_add_facade(chre.platform.shared.pal_system_api STATIC 549 BACKEND 550 chre.platform.shared.pal_system_api_BACKEND 551 HEADERS 552 include/chre/platform/shared/pal_system_api.h 553 PUBLIC_INCLUDES 554 include 555 PUBLIC_DEPS 556 chre.pal.system 557 SOURCES 558 pal_system_api.cc 559 PRIVATE_DEPS 560 chre.platform.log 561 chre.platform.memory 562 chre.platform.system_time 563) 564 565pw_add_library(chre.platform.shared.pal_wifi_stub STATIC 566 SOURCES 567 pal_wifi_stub.cc 568 PRIVATE_DEPS 569 chre.pal.wifi.facade 570) 571 572pw_add_library(chre.platform.shared.pal_wwan_stub STATIC 573 SOURCES 574 pal_wwan_stub.cc 575 PRIVATE_DEPS 576 chre.pal.wwan.facade 577) 578 579pw_add_library(chre.platform.shared.platform_ble_pal STATIC 580 HEADERS 581 public_platform_ble_pal/chre/target_platform/platform_ble_base.h 582 PUBLIC_INCLUDES 583 public_platform_ble_pal 584 PUBLIC_DEPS 585 chre.pal.ble 586 chre.platform.shared.platform_pal 587 SOURCES 588 platform_ble.cc 589 PRIVATE_DEPS 590 chre.chre_api 591 chre.core 592 chre.platform.log 593 chre.platform.platform_ble.facade 594 chre.platform.shared.bt_snoop_log 595 chre.platform.shared.pal_system_api 596 chre.variant.config 597) 598 599pw_add_facade(chre.platform.shared.platform_cache_management INTERFACE 600 BACKEND 601 chre.platform.shared.platform_cache_management_BACKEND 602 HEADERS 603 include/chre/platform/shared/platform_cache_management.h 604 PUBLIC_INCLUDES 605 include 606) 607 608# The optional CHPP and ASH integration is not supported. 609pw_add_library(chre.platform.shared.platform_debug_dump_manager STATIC 610 HEADERS 611 public_platform_debug_dump_manager/chre/target_platform/platform_debug_dump_manager_base.h 612 PUBLIC_INCLUDES 613 public_platform_debug_dump_manager 614 PUBLIC_DEPS 615 chre.variant.config 616 SOURCES 617 platform_debug_dump_manager.cc 618 PRIVATE_DEPS 619 chre.core 620 chre.platform.host_link 621 chre.platform.log 622 chre.platform.platform_debug_dump_manager.facade 623 chre.util 624) 625 626pw_add_library(chre.platform.shared.platform_gnss_pal STATIC 627 HEADERS 628 public_platform_gnss_pal/chre/target_platform/platform_gnss_base.h 629 PUBLIC_INCLUDES 630 public_platform_gnss_pal 631 PUBLIC_DEPS 632 chre.pal.gnss 633 chre.platform.shared.platform_pal 634 SOURCES 635 platform_gnss.cc 636 PRIVATE_DEPS 637 chre.core 638 chre.platform.log 639 chre.platform.platform_gnss.facade 640 chre.platform.shared.pal_system_api 641 chre.variant.config 642) 643 644pw_add_facade(chre.platform.shared.platform_pal INTERFACE 645 BACKEND 646 chre.platform.shared.platform_pal_BACKEND 647 HEADERS 648 include/chre/platform/shared/platform_pal.h 649 PUBLIC_INCLUDES 650 include 651) 652 653pw_add_library(chre.platform.shared.platform_wifi_pal STATIC 654 HEADERS 655 public_platform_wifi_pal/chre/target_platform/platform_wifi_base.h 656 PUBLIC_INCLUDES 657 public_platform_wifi_pal 658 PUBLIC_DEPS 659 chre.pal.wifi 660 chre.platform.shared.platform_pal 661 SOURCES 662 platform_wifi.cc 663 PRIVATE_DEPS 664 chre.core 665 chre.platform.log 666 chre.platform.platform_wifi.facade 667 chre.platform.shared.pal_system_api 668 chre.util.system 669 chre.variant.config 670) 671 672pw_add_library(chre.platform.shared.platform_wwan_pal STATIC 673 HEADERS 674 public_platform_wwan_pal/chre/target_platform/platform_wwan_base.h 675 PUBLIC_INCLUDES 676 public_platform_wwan_pal 677 PUBLIC_DEPS 678 chre.pal.wwan 679 chre.platform.shared.platform_pal 680 SOURCES 681 platform_wwan.cc 682 PRIVATE_DEPS 683 chre.core 684 chre.platform.log 685 chre.platform.platform_wwan.facade 686 chre.platform.shared.pal_system_api 687 chre.variant.config 688) 689