package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_av_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_av_license"],
}

filegroup {
    name: "audio_core_hal_client_sources",
    srcs: [
        "DeviceHalLocal.cpp",
        "DevicesFactoryHalHybrid.cpp",
        "DevicesFactoryHalLocal.cpp",
        "DeviceHalHidl.cpp",
        "DevicesFactoryHalHidl.cpp",
        "StreamHalLocal.cpp",
        "StreamHalHidl.cpp",
    ],
}

filegroup {
    name: "audio_effect_hal_client_sources",
    srcs: [
        "EffectBufferHalHidl.cpp",
        "EffectHalHidl.cpp",
        "EffectsFactoryHalHidl.cpp",
    ],
}

cc_defaults {
    name: "libaudiohal_default",

    srcs: [
        "ConversionHelperHidl.cpp",
    ],

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-fvisibility=hidden",
    ],
    shared_libs: [
        "android.hardware.audio.common-util",
        "android.hidl.allocator@1.0",
        "android.hidl.memory@1.0",
        "av-types-aidl-cpp",
        "libaudiofoundation",
        "libaudiohal_deathhandler",
        "libaudioutils",
        "libbase",
        "libbinder",
        "libcutils",
        "libfmq",
        "libhardware",
        "libhidlbase",
        "libhidlmemory",
        "liblog",
        "libmedia_helper",
        "libmediautils",
        "libutils",
    ],
    header_libs: [
        "android.hardware.audio.common.util@all-versions",
        "libaudioclient_headers",
        "libaudiohal_headers"
    ],

    export_shared_lib_headers: [
        "libfmq",
    ],
}

cc_library_shared {
    name: "libaudiohal@4.0",
    defaults: ["libaudiohal_default"],
    srcs: [
        ":audio_core_hal_client_sources",
        ":audio_effect_hal_client_sources",
    ],
    shared_libs: [
        "android.hardware.audio.common@4.0",
        "android.hardware.audio.common@4.0-util",
        "android.hardware.audio.effect@4.0",
        "android.hardware.audio.effect@4.0-util",
        "android.hardware.audio@4.0",
        "android.hardware.audio@4.0-util",
    ],
    cflags: [
        "-DMAJOR_VERSION=4",
        "-DMINOR_VERSION=0",
        "-include common/all-versions/VersionMacro.h",
    ]
}

cc_library_shared {
    name: "libaudiohal@5.0",
    defaults: ["libaudiohal_default"],
    srcs: [
        ":audio_core_hal_client_sources",
        ":audio_effect_hal_client_sources",
    ],
    shared_libs: [
        "android.hardware.audio.common@5.0",
        "android.hardware.audio.common@5.0-util",
        "android.hardware.audio.effect@5.0",
        "android.hardware.audio.effect@5.0-util",
        "android.hardware.audio@5.0",
        "android.hardware.audio@5.0-util",
    ],
    cflags: [
        "-DMAJOR_VERSION=5",
        "-DMINOR_VERSION=0",
        "-include common/all-versions/VersionMacro.h",
    ]
}

cc_library_shared {
    name: "libaudiohal@6.0",
    defaults: ["libaudiohal_default"],
    srcs: [
        ":audio_core_hal_client_sources",
        ":audio_effect_hal_client_sources",
    ],
    shared_libs: [
        "android.hardware.audio.common@6.0",
        "android.hardware.audio.common@6.0-util",
        "android.hardware.audio.effect@6.0",
        "android.hardware.audio.effect@6.0-util",
        "android.hardware.audio@6.0",
        "android.hardware.audio@6.0-util",
    ],
    cflags: [
        "-DMAJOR_VERSION=6",
        "-DMINOR_VERSION=0",
        "-include common/all-versions/VersionMacro.h",
    ]
}

cc_library_shared {
    name: "libaudiohal@7.0",
    defaults: ["libaudiohal_default"],
    srcs: [
        ":audio_core_hal_client_sources",
        ":audio_effect_hal_client_sources",
    ],
    shared_libs: [
        "android.hardware.audio.common@7.0",
        "android.hardware.audio.common@7.0-util",
        "android.hardware.audio.effect@7.0",
        "android.hardware.audio.effect@7.0-util",
        "android.hardware.audio@7.0",
        "android.hardware.audio@7.0-util",
    ],
    cflags: [
        "-DMAJOR_VERSION=7",
        "-DMINOR_VERSION=0",
        "-include common/all-versions/VersionMacro.h",
    ]
}

cc_library_shared {
    name: "libaudiohal@7.1",
    defaults: ["libaudiohal_default"],
    srcs: [
        ":audio_core_hal_client_sources",
    ],
    shared_libs: [
        "android.hardware.audio.common@7.0",
        "android.hardware.audio.common@7.0-util",
        "android.hardware.audio@7.0",
        "android.hardware.audio@7.1",
        "android.hardware.audio@7.0-util",
    ],
    cflags: [
        "-DMAJOR_VERSION=7",
        "-DMINOR_VERSION=1",
        "-DCOMMON_TYPES_MINOR_VERSION=0",
        "-DCORE_TYPES_MINOR_VERSION=0",
        "-include common/all-versions/VersionMacro.h",
    ]
}
