1*84e33947SAndroid Build Coastguard Worker/* 2*84e33947SAndroid Build Coastguard Worker * Copyright (C) 2019 The Android Open Source Project 3*84e33947SAndroid Build Coastguard Worker * 4*84e33947SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*84e33947SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*84e33947SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*84e33947SAndroid Build Coastguard Worker * 8*84e33947SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*84e33947SAndroid Build Coastguard Worker * 10*84e33947SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*84e33947SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*84e33947SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*84e33947SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*84e33947SAndroid Build Coastguard Worker * limitations under the License. 15*84e33947SAndroid Build Coastguard Worker */ 16*84e33947SAndroid Build Coastguard Worker 17*84e33947SAndroid Build Coastguard Workerpackage { 18*84e33947SAndroid Build Coastguard Worker default_team: "trendy_team_context_hub", 19*84e33947SAndroid Build Coastguard Worker // See: http://go/android-license-faq 20*84e33947SAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 21*84e33947SAndroid Build Coastguard Worker // all of the 'license_kinds' from "system_chre_license" 22*84e33947SAndroid Build Coastguard Worker // to get the below license kinds: 23*84e33947SAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 24*84e33947SAndroid Build Coastguard Worker default_applicable_licenses: ["system_chre_license"], 25*84e33947SAndroid Build Coastguard Worker} 26*84e33947SAndroid Build Coastguard Worker 27*84e33947SAndroid Build Coastguard Workercc_defaults { 28*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_flags", 29*84e33947SAndroid Build Coastguard Worker cflags: [ 30*84e33947SAndroid Build Coastguard Worker "-DCHPP_CHECKSUM_ENABLED", 31*84e33947SAndroid Build Coastguard Worker "-DCHPP_DEBUG_ASSERT_ENABLED", 32*84e33947SAndroid Build Coastguard Worker "-DCHPP_ENABLE_WORK_MONITOR", 33*84e33947SAndroid Build Coastguard Worker "-DCHPP_EXPECTED_SERVICE_COUNT=3", 34*84e33947SAndroid Build Coastguard Worker "-DCHPP_MAX_REGISTERED_CLIENTS=16", 35*84e33947SAndroid Build Coastguard Worker "-DCHPP_MAX_REGISTERED_SERVICES=16", 36*84e33947SAndroid Build Coastguard Worker 37*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_DISCOVERY", 38*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_GNSS", 39*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_LOOPBACK", 40*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_TIMESYNC", 41*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_TRANSPORT_LOOPBACK", 42*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_WIFI", 43*84e33947SAndroid Build Coastguard Worker "-DCHPP_CLIENT_ENABLED_WWAN", 44*84e33947SAndroid Build Coastguard Worker "-DCHPP_SERVICE_ENABLED_GNSS", 45*84e33947SAndroid Build Coastguard Worker "-DCHPP_SERVICE_ENABLED_TRANSPORT_LOOPBACK", 46*84e33947SAndroid Build Coastguard Worker "-DCHPP_SERVICE_ENABLED_WIFI", 47*84e33947SAndroid Build Coastguard Worker "-DCHPP_SERVICE_ENABLED_WWAN", 48*84e33947SAndroid Build Coastguard Worker 49*84e33947SAndroid Build Coastguard Worker "-DCHPP_GNSS_DEFAULT_CAPABILITIES=0x7", 50*84e33947SAndroid Build Coastguard Worker "-DCHPP_WIFI_DEFAULT_CAPABILITIES=0xf", 51*84e33947SAndroid Build Coastguard Worker "-DCHPP_WWAN_DEFAULT_CAPABILITIES=0x1", 52*84e33947SAndroid Build Coastguard Worker ], 53*84e33947SAndroid Build Coastguard Worker visibility: ["//visibility:override"], 54*84e33947SAndroid Build Coastguard Worker} 55*84e33947SAndroid Build Coastguard Worker 56*84e33947SAndroid Build Coastguard Workerfilegroup { 57*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_core_files", 58*84e33947SAndroid Build Coastguard Worker srcs: [ 59*84e33947SAndroid Build Coastguard Worker "app.c", 60*84e33947SAndroid Build Coastguard Worker "clients.c", 61*84e33947SAndroid Build Coastguard Worker "platform/linux/memory.c", 62*84e33947SAndroid Build Coastguard Worker "platform/linux/notifier.c", 63*84e33947SAndroid Build Coastguard Worker "platform/pal_api.c", 64*84e33947SAndroid Build Coastguard Worker "platform/shared/crc.c", 65*84e33947SAndroid Build Coastguard Worker "services.c", 66*84e33947SAndroid Build Coastguard Worker "services/discovery.c", 67*84e33947SAndroid Build Coastguard Worker "services/loopback.c", 68*84e33947SAndroid Build Coastguard Worker "services/nonhandle.c", 69*84e33947SAndroid Build Coastguard Worker "services/timesync.c", 70*84e33947SAndroid Build Coastguard Worker "transport.c", 71*84e33947SAndroid Build Coastguard Worker ], 72*84e33947SAndroid Build Coastguard Worker} 73*84e33947SAndroid Build Coastguard Worker 74*84e33947SAndroid Build Coastguard Worker// Everything needed to run CHPP on Linux, except for the link layer. 75*84e33947SAndroid Build Coastguard Worker// Note that this is cc_defaults and not a lib because modules that inherit 76*84e33947SAndroid Build Coastguard Worker// these defaults may need to change compilation flags for sources here. 77*84e33947SAndroid Build Coastguard Workercc_defaults { 78*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_core_without_link", 79*84e33947SAndroid Build Coastguard Worker vendor: true, 80*84e33947SAndroid Build Coastguard Worker cflags: [ 81*84e33947SAndroid Build Coastguard Worker // Required for pthread_setname_np() 82*84e33947SAndroid Build Coastguard Worker "-D_GNU_SOURCE", 83*84e33947SAndroid Build Coastguard Worker // clock_gettime() requires _POSIX_C_SOURCE >= 199309L 84*84e33947SAndroid Build Coastguard Worker "-D_POSIX_C_SOURCE=199309L", 85*84e33947SAndroid Build Coastguard Worker "-Wall", 86*84e33947SAndroid Build Coastguard Worker "-Wcast-align", 87*84e33947SAndroid Build Coastguard Worker "-Wcast-qual", 88*84e33947SAndroid Build Coastguard Worker "-Wconversion", 89*84e33947SAndroid Build Coastguard Worker "-Werror", 90*84e33947SAndroid Build Coastguard Worker "-Wextra", 91*84e33947SAndroid Build Coastguard Worker "-Wno-strict-aliasing", 92*84e33947SAndroid Build Coastguard Worker "-Wpointer-arith", 93*84e33947SAndroid Build Coastguard Worker "-Wshadow", 94*84e33947SAndroid Build Coastguard Worker "-Wswitch", 95*84e33947SAndroid Build Coastguard Worker // Enable assert (i.e. CHPP_ASSERT, ...) 96*84e33947SAndroid Build Coastguard Worker "-UNDEBUG", 97*84e33947SAndroid Build Coastguard Worker ], 98*84e33947SAndroid Build Coastguard Worker conlyflags: [ 99*84e33947SAndroid Build Coastguard Worker "-Wmissing-prototypes", 100*84e33947SAndroid Build Coastguard Worker "-Wsign-compare", 101*84e33947SAndroid Build Coastguard Worker "-Wstrict-prototypes", 102*84e33947SAndroid Build Coastguard Worker "-std=c11", 103*84e33947SAndroid Build Coastguard Worker ], 104*84e33947SAndroid Build Coastguard Worker srcs: [ 105*84e33947SAndroid Build Coastguard Worker ":chre_chpp_core_files", 106*84e33947SAndroid Build Coastguard Worker ], 107*84e33947SAndroid Build Coastguard Worker header_libs: [ 108*84e33947SAndroid Build Coastguard Worker "chre_api", 109*84e33947SAndroid Build Coastguard Worker "chre_pal", 110*84e33947SAndroid Build Coastguard Worker ], 111*84e33947SAndroid Build Coastguard Worker export_header_lib_headers: [ 112*84e33947SAndroid Build Coastguard Worker "chre_api", 113*84e33947SAndroid Build Coastguard Worker "chre_pal", 114*84e33947SAndroid Build Coastguard Worker ], 115*84e33947SAndroid Build Coastguard Worker static_libs: ["chre_pal_linux"], 116*84e33947SAndroid Build Coastguard Worker host_supported: true, 117*84e33947SAndroid Build Coastguard Worker} 118*84e33947SAndroid Build Coastguard Worker 119*84e33947SAndroid Build Coastguard Workerfilegroup { 120*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_clients_and_services_files", 121*84e33947SAndroid Build Coastguard Worker srcs: [ 122*84e33947SAndroid Build Coastguard Worker "clients/discovery.c", 123*84e33947SAndroid Build Coastguard Worker "clients/gnss.c", 124*84e33947SAndroid Build Coastguard Worker "clients/loopback.c", 125*84e33947SAndroid Build Coastguard Worker "clients/timesync.c", 126*84e33947SAndroid Build Coastguard Worker "clients/wifi.c", 127*84e33947SAndroid Build Coastguard Worker "clients/wwan.c", 128*84e33947SAndroid Build Coastguard Worker "common/gnss_convert.c", 129*84e33947SAndroid Build Coastguard Worker "common/wifi_convert.c", 130*84e33947SAndroid Build Coastguard Worker "common/wifi_utils.c", 131*84e33947SAndroid Build Coastguard Worker "common/wwan_convert.c", 132*84e33947SAndroid Build Coastguard Worker "platform/linux/services/platform_gnss.c", 133*84e33947SAndroid Build Coastguard Worker "services/gnss.c", 134*84e33947SAndroid Build Coastguard Worker "services/wifi.c", 135*84e33947SAndroid Build Coastguard Worker "services/wwan.c", 136*84e33947SAndroid Build Coastguard Worker ], 137*84e33947SAndroid Build Coastguard Worker} 138*84e33947SAndroid Build Coastguard Worker 139*84e33947SAndroid Build Coastguard Worker// Meant to be combined with chre_chpp_core_without_link to add in the full set 140*84e33947SAndroid Build Coastguard Worker// of optional clients and services. 141*84e33947SAndroid Build Coastguard Workercc_defaults { 142*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_clients_and_services", 143*84e33947SAndroid Build Coastguard Worker srcs: [ 144*84e33947SAndroid Build Coastguard Worker ":chre_chpp_clients_and_services_files", 145*84e33947SAndroid Build Coastguard Worker ], 146*84e33947SAndroid Build Coastguard Worker} 147*84e33947SAndroid Build Coastguard Worker 148*84e33947SAndroid Build Coastguard Workerfilegroup { 149*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_linux_files", 150*84e33947SAndroid Build Coastguard Worker srcs: [ 151*84e33947SAndroid Build Coastguard Worker "platform/linux/link.c", 152*84e33947SAndroid Build Coastguard Worker ], 153*84e33947SAndroid Build Coastguard Worker} 154*84e33947SAndroid Build Coastguard Worker 155*84e33947SAndroid Build Coastguard Workercc_library_static { 156*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_linux", 157*84e33947SAndroid Build Coastguard Worker defaults: [ 158*84e33947SAndroid Build Coastguard Worker "chre_chpp_clients_and_services", 159*84e33947SAndroid Build Coastguard Worker "chre_chpp_core_without_link", 160*84e33947SAndroid Build Coastguard Worker "chre_chpp_flags", 161*84e33947SAndroid Build Coastguard Worker ], 162*84e33947SAndroid Build Coastguard Worker srcs: [ 163*84e33947SAndroid Build Coastguard Worker ":chre_chpp_linux_files", 164*84e33947SAndroid Build Coastguard Worker ], 165*84e33947SAndroid Build Coastguard Worker export_include_dirs: [ 166*84e33947SAndroid Build Coastguard Worker "include", 167*84e33947SAndroid Build Coastguard Worker "platform/linux/include", 168*84e33947SAndroid Build Coastguard Worker ], 169*84e33947SAndroid Build Coastguard Worker} 170*84e33947SAndroid Build Coastguard Worker 171*84e33947SAndroid Build Coastguard Workerfilegroup { 172*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_linux_tests_utility_files", 173*84e33947SAndroid Build Coastguard Worker srcs: [ 174*84e33947SAndroid Build Coastguard Worker "test/transport_util.cpp", 175*84e33947SAndroid Build Coastguard Worker ], 176*84e33947SAndroid Build Coastguard Worker} 177*84e33947SAndroid Build Coastguard Worker 178*84e33947SAndroid Build Coastguard Workerfilegroup { 179*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_linux_tests_files", 180*84e33947SAndroid Build Coastguard Worker srcs: [ 181*84e33947SAndroid Build Coastguard Worker "test/app_discovery_test.cpp", 182*84e33947SAndroid Build Coastguard Worker "test/app_notification_test.cpp", 183*84e33947SAndroid Build Coastguard Worker "test/app_req_resp_test.cpp", 184*84e33947SAndroid Build Coastguard Worker "test/app_test.cpp", 185*84e33947SAndroid Build Coastguard Worker "test/app_test_base.cpp", 186*84e33947SAndroid Build Coastguard Worker "test/app_timeout_test.cpp", 187*84e33947SAndroid Build Coastguard Worker "test/gnss_test.cpp", 188*84e33947SAndroid Build Coastguard Worker "test/transport_test.cpp", 189*84e33947SAndroid Build Coastguard Worker ], 190*84e33947SAndroid Build Coastguard Worker} 191*84e33947SAndroid Build Coastguard Worker 192*84e33947SAndroid Build Coastguard Workercc_test_host { 193*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_linux_tests", 194*84e33947SAndroid Build Coastguard Worker // TODO(b/232537107): Evaluate if isolated can be turned on 195*84e33947SAndroid Build Coastguard Worker isolated: false, 196*84e33947SAndroid Build Coastguard Worker defaults: [ 197*84e33947SAndroid Build Coastguard Worker "chre_chpp_flags", 198*84e33947SAndroid Build Coastguard Worker ], 199*84e33947SAndroid Build Coastguard Worker srcs: [ 200*84e33947SAndroid Build Coastguard Worker ":chre_chpp_linux_tests_files", 201*84e33947SAndroid Build Coastguard Worker ":chre_chpp_linux_tests_utility_files", 202*84e33947SAndroid Build Coastguard Worker ], 203*84e33947SAndroid Build Coastguard Worker static_libs: [ 204*84e33947SAndroid Build Coastguard Worker "chre_chpp_linux", 205*84e33947SAndroid Build Coastguard Worker "chre_pal_linux", 206*84e33947SAndroid Build Coastguard Worker ], 207*84e33947SAndroid Build Coastguard Worker sanitize: { 208*84e33947SAndroid Build Coastguard Worker address: true, 209*84e33947SAndroid Build Coastguard Worker }, 210*84e33947SAndroid Build Coastguard Worker} 211*84e33947SAndroid Build Coastguard Worker 212*84e33947SAndroid Build Coastguard Workercc_test_host { 213*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_convert_tests", 214*84e33947SAndroid Build Coastguard Worker cflags: [ 215*84e33947SAndroid Build Coastguard Worker "-Wcast-align", 216*84e33947SAndroid Build Coastguard Worker "-Wsign-compare", 217*84e33947SAndroid Build Coastguard Worker ], 218*84e33947SAndroid Build Coastguard Worker header_libs: [ 219*84e33947SAndroid Build Coastguard Worker "chre_test_common", 220*84e33947SAndroid Build Coastguard Worker ], 221*84e33947SAndroid Build Coastguard Worker srcs: [ 222*84e33947SAndroid Build Coastguard Worker "test/wifi_convert_test.cpp", 223*84e33947SAndroid Build Coastguard Worker "test/wwan_convert_test.cpp", 224*84e33947SAndroid Build Coastguard Worker ], 225*84e33947SAndroid Build Coastguard Worker static_libs: ["chre_chpp_linux"], 226*84e33947SAndroid Build Coastguard Worker} 227*84e33947SAndroid Build Coastguard Worker 228*84e33947SAndroid Build Coastguard Workercc_test_host { 229*84e33947SAndroid Build Coastguard Worker name: "chre_chpp_fake_link_sync_tests", 230*84e33947SAndroid Build Coastguard Worker defaults: ["chre_chpp_core_without_link"], 231*84e33947SAndroid Build Coastguard Worker cflags: [ 232*84e33947SAndroid Build Coastguard Worker // Speed up tests by setting timeouts to 50 ms. 233*84e33947SAndroid Build Coastguard Worker // Note: the value shouldn't be too low to avoid timeouts on slow test servers. 234*84e33947SAndroid Build Coastguard Worker "-DCHPP_TRANSPORT_RX_TIMEOUT_NS=50000000", 235*84e33947SAndroid Build Coastguard Worker "-DCHPP_TRANSPORT_TX_TIMEOUT_NS=50000000", 236*84e33947SAndroid Build Coastguard Worker ], 237*84e33947SAndroid Build Coastguard Worker local_include_dirs: [ 238*84e33947SAndroid Build Coastguard Worker "include", 239*84e33947SAndroid Build Coastguard Worker 240*84e33947SAndroid Build Coastguard Worker // Note: this needs to come before platform/linux/include 241*84e33947SAndroid Build Coastguard Worker "test/include/fake_link", 242*84e33947SAndroid Build Coastguard Worker 243*84e33947SAndroid Build Coastguard Worker "platform/linux/include", 244*84e33947SAndroid Build Coastguard Worker ], 245*84e33947SAndroid Build Coastguard Worker srcs: [ 246*84e33947SAndroid Build Coastguard Worker "test/fake_link.cpp", 247*84e33947SAndroid Build Coastguard Worker "test/fake_link_sync_test.cpp", 248*84e33947SAndroid Build Coastguard Worker "test/packet_util.cpp", 249*84e33947SAndroid Build Coastguard Worker ], 250*84e33947SAndroid Build Coastguard Worker header_libs: [ 251*84e33947SAndroid Build Coastguard Worker "libbase_headers", 252*84e33947SAndroid Build Coastguard Worker ], 253*84e33947SAndroid Build Coastguard Worker} 254