blob: 5eb9738b59bd69c1ea5fe7f3fc940c0928400d5c [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package {
default_applicable_licenses: ["system_chre_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "system_chre_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
],
license_text: [
"NOTICE",
],
}
cc_library_static {
name: "chre_client",
vendor: true,
export_include_dirs: [
"host/common/include",
"platform/shared/include",
"util/include",
],
srcs: [
"host/common/fragmented_load_transaction.cc",
"host/common/host_protocol_host.cc",
"host/common/socket_client.cc",
"platform/shared/host_protocol_common.cc",
],
header_libs: ["chre_flatbuffers"],
export_header_lib_headers: ["chre_flatbuffers"],
shared_libs: [
"libcutils",
"liblog",
"libutils",
],
cflags: ["-Wall", "-Werror"],
}
cc_binary {
name: "chre_test_client",
vendor: true,
local_include_dirs: [
"chre_api/include/chre_api",
"util/include",
],
srcs: [
"host/common/test/chre_test_client.cc",
],
cflags: ["-Wall", "-Werror"],
shared_libs: [
"libcutils",
"liblog",
"libutils",
],
static_libs: ["chre_client"],
}
cc_binary {
name: "chre_power_test_client",
vendor: true,
local_include_dirs: [
"chre_api/include/chre_api",
"util/include",
"apps/power_test/common/include",
],
srcs: [
"host/common/test/power_test/chre_power_test_client.cc",
],
cflags: ["-Wall", "-Werror"],
shared_libs: [
"libcutils",
"liblog",
"libutils",
],
static_libs: ["chre_client"],
}
cc_test {
name: "audio_stress_test",
vendor: true,
local_include_dirs: [
"chre_api/include/chre_api",
"util/include",
],
srcs: [
"host/common/audio_stress_test/audio_stress_test.cc",
],
cflags: ["-Wall", "-Werror"],
shared_libs: [
"libcutils",
"liblog",
"libutils",
],
static_libs: ["chre_client"],
gtest: false,
}
cc_library_headers {
name: "android.hardware.contexthub@1.X-shared-impl",
vendor: true,
export_include_dirs: ["host/hal_generic/common/"],
cflags: ["-Wall", "-Werror"],
shared_libs: [
"libcutils",
"liblog",
"libhidlbase",
"libutils",
"android.hardware.contexthub@1.0",
],
static_libs: ["chre_client"],
}
cc_library_shared {
name: "android.hardware.contexthub@1.0-impl.generic",
vendor: true,
relative_install_path: "hw",
srcs: [
"host/hal_generic/V1_0/generic_context_hub_v1_0.cc",
"host/hal_generic/common/hal_chre_socket_connection.cc",
"host/hal_generic/common/permissions_util.cc",
],
cflags: ["-Wall", "-Werror"],
header_libs: [
"android.hardware.contexthub@1.X-shared-impl",
"android.hardware.contexthub@1.X-common-utils",
],
shared_libs: [
"libcutils",
"liblog",
"libhidlbase",
"libutils",
"android.hardware.contexthub@1.0",
"android.hardware.contexthub@1.1",
"android.hardware.contexthub@1.2",
],
static_libs: ["chre_client"],
}
cc_binary {
name: "android.hardware.contexthub@1.1-service.generic",
defaults: ["hidl_defaults"],
vendor: true,
relative_install_path: "hw",
srcs: [
"host/hal_generic/V1_1/generic_context_hub_v1_1.cc",
"host/hal_generic/V1_1/service.cc",
"host/hal_generic/common/context_hub_settings_util.cc",
"host/hal_generic/common/hal_chre_socket_connection.cc",
"host/hal_generic/common/permissions_util.cc",
],
init_rc: ["host/hal_generic/V1_1/android.hardware.contexthub@1.1-service-generic.rc"],
cflags: ["-Wall", "-Werror"],
header_libs: [
"android.hardware.contexthub@1.X-shared-impl",
"android.hardware.contexthub@1.X-common-utils",
],
shared_libs: [
"libcutils",
"liblog",
"libhidlbase",
"libutils",
"android.hardware.contexthub@1.0",
"android.hardware.contexthub@1.1",
"android.hardware.contexthub@1.2",
],
static_libs: ["chre_client"],
vintf_fragments: ["host/hal_generic/V1_1/android.hardware.contexthub@1.1-generic.xml"],
}
cc_binary {
name: "android.hardware.contexthub@1.2-service.generic",
defaults: ["hidl_defaults"],
vendor: true,
relative_install_path: "hw",
srcs: [
"host/hal_generic/V1_2/generic_context_hub_v1_2.cc",
"host/hal_generic/V1_2/service.cc",
"host/hal_generic/common/context_hub_settings_util.cc",
"host/hal_generic/common/hal_chre_socket_connection.cc",
"host/hal_generic/common/permissions_util.cc",
],
init_rc: ["host/hal_generic/V1_2/android.hardware.contexthub@1.2-service-generic.rc"],
cflags: ["-Wall", "-Werror"],
header_libs: [
"android.hardware.contexthub@1.X-shared-impl",
"android.hardware.contexthub@1.X-common-utils",
],
shared_libs: [
"libcutils",
"liblog",
"libhidlbase",
"libutils",
"android.hardware.contexthub@1.0",
"android.hardware.contexthub@1.1",
"android.hardware.contexthub@1.2",
],
static_libs: ["chre_client"],
vintf_fragments: ["host/hal_generic/V1_2/android.hardware.contexthub@1.2-generic.xml"],
}
cc_library_static {
name: "event_logger",
vendor: true,
host_supported: true,
srcs: [
"host/hal_generic/aidl/event_logger.cc",
],
local_include_dirs: [
"util/include",
"host/common/include",
],
shared_libs: [
"android.hardware.contexthub-V1-ndk",
"libcutils",
"libutils",
],
header_libs: [
"chre_flatbuffers",
],
cflags: [
"-Wall",
"-Werror",
"-DCHRE_IS_HOST_BUILD",
],
}
cc_test_host {
name: "hal_unit_tests",
vendor: true,
srcs: [
"host/test/**/*_test.cc",
],
local_include_dirs: [
"util/include",
"host/common/include",
],
static_libs: [
"android.hardware.contexthub-V1-ndk",
"event_logger",
"libgmock",
],
shared_libs: [
"libcutils",
"libutils",
],
header_libs: [
"chre_flatbuffers",
],
defaults: [
"chre_linux_cflags",
],
cflags: [
"-Wall",
"-Werror",
"-DCHRE_IS_HOST_BUILD",
],
}
cc_binary {
name: "android.hardware.contexthub-service.generic",
defaults: ["hidl_defaults"],
vendor: true,
relative_install_path: "hw",
srcs: [
"host/hal_generic/aidl/generic_context_hub_aidl.cc",
"host/hal_generic/aidl/service.cc",
"host/hal_generic/common/hal_chre_socket_connection.cc",
"host/hal_generic/common/permissions_util.cc",
],
local_include_dirs: [
"host/hal_generic/common/",
"util/include",
],
init_rc: ["host/hal_generic/aidl/android.hardware.contexthub-service.generic.rc"],
cflags: [
"-Wall",
"-Werror",
"-DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4000", // Needed to import CHRE APIs.
"-DCHRE_HAL_SOCKET_METRICS_ENABLED",
"-DCHRE_IS_HOST_BUILD",
],
shared_libs: [
"android.frameworks.stats-V1-ndk",
"libcutils",
"liblog",
"libprotobuf-cpp-lite",
"libutils",
"libbase",
"libbinder_ndk",
"android.hardware.contexthub-V1-ndk",
"//hardware/google/pixel:pixelatoms-cpp",
],
header_libs: [
"chre_api",
],
static_libs: [
"chre_client",
"event_logger",
],
vintf_fragments: ["host/hal_generic/aidl/android.hardware.contexthub-service.generic.xml"],
}
cc_library_headers {
name: "chre_api",
vendor: true,
export_include_dirs: [
"chre_api/include/chre_api",
"chre_api/include",
],
host_supported: true,
}
cc_library_headers {
name: "chre_flatbuffers",
vendor: true,
host_supported: true,
export_include_dirs: [
"external/flatbuffers/include",
],
}
cc_library_headers {
name: "chre_pal",
vendor: true,
export_include_dirs: [
"pal/include",
],
header_libs: [
"chre_api",
],
export_header_lib_headers: [
"chre_api",
],
host_supported: true,
}
cc_library_headers {
name: "chre_test_common",
vendor: true,
export_include_dirs: [
"test/common/include",
],
host_supported: true,
}
cc_library_static {
name: "chre_pal_linux",
vendor: true,
srcs: [
"platform/shared/pal_system_api.cc",
"platform/linux/assert.cc",
"platform/linux/fatal_error.cc",
"platform/linux/memory.cc",
"platform/linux/pal_gnss.cc",
"platform/linux/pal_nan.cc",
"platform/linux/pal_wifi.cc",
"platform/linux/pal_wwan.cc",
"platform/linux/platform_log.cc",
"platform/linux/system_time.cc",
],
export_include_dirs: [
"platform/shared/include",
"platform/include",
"platform/linux/include",
"util/include",
],
header_libs: [
"chre_pal",
],
static_libs: [
"libgtest",
"libgmock",
],
defaults: [
"chre_linux_cflags",
],
host_supported: true,
}
cc_test_host {
name: "chre_unit_tests",
srcs: [
"core/tests/**/*.cc",
"pal/tests/**/*_test.cc",
"pal/util/tests/**/*.cc",
"pal/util/wifi_pal_convert.c",
"pal/util/wifi_scan_cache.c",
"platform/tests/**/*.cc",
"util/tests/**/*.cc",
],
exclude_srcs: [
// Exclude slow PAL tests.
"pal/tests/src/gnss_pal_impl_test.cc",
],
local_include_dirs: [
"chre_api/include",
"chre_api/include/chre_api",
"core/include",
"pal/include",
"pal/tests/include",
"pal/util/include",
"platform/include",
"platform/linux/include",
"platform/shared/include",
"util/include",
],
cflags: [
"-DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4096",
"-DCHRE_MINIMUM_LOG_LEVEL=CHRE_LOG_LEVEL_DEBUG",
"-DCHRE_ASSERTIONS_ENABLED=true",
"-DCHRE_FILENAME=__FILE__",
"-DGTEST",
],
static_libs: [
"chre_linux",
"libgmock",
],
sanitize: {
address: true,
},
}
cc_test_host {
name: "chre_simulation_tests",
srcs: [
"test/simulation/*.cc",
],
local_include_dirs: [
"test/simulation/inc",
"platform/shared",
],
static_libs: [
"chre_linux",
"chre_pal_linux",
],
defaults: [
"chre_linux_cflags",
],
sanitize: {
address: true,
},
}
cc_library_static {
name: "chre_linux",
vendor: true,
srcs: [
"core/audio_request_manager.cc",
"core/ble_request_manager.cc",
"core/ble_request_multiplexer.cc",
"core/ble_request.cc",
"core/debug_dump_manager.cc",
"core/event_loop_manager.cc",
"core/event_loop.cc",
"core/event_ref_queue.cc",
"core/event.cc",
"core/gnss_manager.cc",
"core/host_comms_manager.cc",
"core/host_notifications.cc",
"core/init.cc",
"core/nanoapp.cc",
"core/sensor_request_manager.cc",
"core/sensor_request_multiplexer.cc",
"core/sensor_request.cc",
"core/sensor_type_helpers.cc",
"core/sensor_type.cc",
"core/sensor.cc",
"core/settings.cc",
"core/timer_pool.cc",
"core/wifi_request_manager.cc",
"core/wifi_scan_request.cc",
"platform/linux/assert.cc",
"platform/linux/context.cc",
"platform/linux/fatal_error.cc",
"platform/linux/host_link.cc",
"platform/linux/memory_manager.cc",
"platform/linux/memory.cc",
"platform/linux/pal_audio.cc",
"platform/linux/pal_ble.cc",
"platform/linux/pal_gnss.cc",
"platform/linux/pal_nan.cc",
"platform/linux/pal_sensor.cc",
"platform/linux/pal_wifi.cc",
"platform/linux/platform_debug_dump_manager.cc",
"platform/linux/platform_log.cc",
"platform/linux/platform_nanoapp.cc",
"platform/linux/platform_pal.cc",
"platform/linux/platform_sensor_type_helpers.cc",
"platform/linux/platform_sensor.cc",
"platform/linux/power_control_manager.cc",
"platform/linux/system_time.cc",
"platform/linux/system_timer.cc",
"platform/linux/testing/platform_audio.cc",
"platform/shared/chre_api_audio.cc",
"platform/shared/chre_api_ble.cc",
"platform/shared/chre_api_core.cc",
"platform/shared/chre_api_gnss.cc",
"platform/shared/chre_api_re.cc",
"platform/shared/chre_api_sensor.cc",
"platform/shared/chre_api_user_settings.cc",
"platform/shared/chre_api_wifi.cc",
"platform/shared/log_buffer.cc",
"platform/shared/memory_manager.cc",
"platform/shared/pal_system_api.cc",
"platform/shared/platform_ble.cc",
"platform/shared/platform_gnss.cc",
"platform/shared/platform_sensor_manager.cc",
"platform/shared/platform_wifi.cc",
"platform/shared/system_time.cc",
"platform/shared/version.cc",
"util/**/*.cc",
],
// TODO(b/217952682) Exclude pigweed because it can't be built via
// Android.bp
exclude_srcs: [
"util/pigweed/*.cc",
"util/tests/**/*",
],
export_include_dirs: [
"chre_api/include",
"chre_api/include/chre_api",
"core/include",
"pal/include",
"pal/util/include",
"platform/linux/include",
"platform/linux/testing/include",
"platform/shared/include",
"platform/include",
"util/include",
],
header_libs: [
"chre_api",
],
defaults: [
"chre_linux_cflags",
],
static_libs: [
"libgtest",
"libgmock",
],
host_supported: true,
}
cc_defaults {
name: "chre_linux_cflags",
cflags: [
"-DCHRE_MESSAGE_TO_HOST_MAX_SIZE=4096",
"-DCHRE_MINIMUM_LOG_LEVEL=CHRE_LOG_LEVEL_DEBUG",
"-DCHRE_ASSERTIONS_ENABLED=true",
"-DCHRE_FILENAME=__FILE__",
"-DGTEST",
"-DCHRE_FIRST_SUPPORTED_API_VERSION=CHRE_API_VERSION_1_1",
"-DCHRE_AUDIO_SUPPORT_ENABLED",
"-DCHRE_BLE_SUPPORT_ENABLED",
"-DCHRE_GNSS_SUPPORT_ENABLED",
"-DCHRE_SENSORS_SUPPORT_ENABLED",
"-DCHRE_WIFI_SUPPORT_ENABLED",
"-DCHRE_WIFI_NAN_SUPPORT_ENABLED",
],
}
subdirs = [
"apps/wifi_offload",
]