/*
 * 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/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/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/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_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,
    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_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",
    ],
    cflags: [
        "-DCHRE_MINIMUM_LOG_LEVEL=CHRE_LOG_LEVEL_DEBUG",
        "-DCHRE_ASSERTIONS_ENABLED=true",
        "-DCHRE_FILENAME=__FILE__"
    ],
    host_supported: true,
}

cc_test_host {
    name: "chre_unit_tests",
    srcs: [
        "core/event_ref_queue.cc",
        "core/nanoapp.cc",
        "core/sensor_request.cc",
        "core/tests/**/*.cc",
        "core/wifi_scan_request.cc",
        "pal/tests/src/wwan_test.cc",
        "pal/tests/src/version_test.cc",
        "pal/util/tests/**/*.cc",
        "pal/util/wifi_scan_cache.c",
        "platform/linux/assert.cc",
        "platform/linux/fatal_error.cc",
        "platform/linux/platform_nanoapp.cc",
        "platform/linux/platform_log.cc",
        "platform/linux/memory.cc",
        "platform/linux/memory_manager.cc",
        "platform/linux/system_time.cc",
        "platform/shared/log_buffer.cc",
        "platform/shared/memory_manager.cc",
        "platform/shared/pal_system_api.cc",
        "platform/tests/**/*.cc",
        "util/buffer_base.cc",
        "util/dynamic_vector_base.cc",
        "util/nanoapp/wifi.cc",
        "util/system/debug_dump.cc",
        "util/tests/**/*.cc",
    ],
    local_include_dirs: [
        "chre_api/include",
        "chre_api/include/chre_api",
        "core/include",
        "pal/include",
        "pal/util/include",
        "platform/linux/include",
        "platform/shared/include",
        "platform/include",
        "util/include",
    ],
    test_suites: [
        // Needed to support running on TreeHugger
        "general-tests",
    ],
    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: [
        "libgmock",
    ],
}

subdirs = [
    "apps/wifi_offload",
]
