// Build the benchmarks for audio_utils

package {
    default_team: "trendy_team_android_media_audio_framework",
    // http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // the below license kinds from "system_media_license":
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_media_license"],
}

cc_benchmark {
    name: "audio_mutex_benchmark",

    srcs: ["audio_mutex_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
    ],

    shared_libs: [
        "libaudioutils",
        "libbase",
        "liblog",
        "libutils",
    ],
}

cc_benchmark {
    name: "audio_power_benchmark",
    host_supported: true,

    srcs: ["audio_power_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    shared_libs: [
        "libbase",
        "liblog",
    ],
    static_libs: [
        "libaudioutils",
    ],
}

cc_benchmark {
    name: "biquad_filter_benchmark",
    host_supported: true,

    srcs: ["biquad_filter_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
        "-ffast-math",
        //  "-fno-vectorize",      // (test only)
        //  "-fno-slp-vectorize",  // (test only)
    ],
    static_libs: [
        "libaudioutils",
    ],
}

cc_benchmark {
    name: "channelmix_benchmark",
    host_supported: true,

    srcs: ["channelmix_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    static_libs: [
        "libaudioutils",
    ],
}

cc_benchmark {
    name: "intrinsic_benchmark",
    // No need to enable for host, as this is used to compare NEON which isn't supported by the host
    host_supported: false,

    srcs: ["intrinsic_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
        "-ffast-math",
        //  "-fno-vectorize",      // (test only)
        //  "-fno-slp-vectorize",  // (test only)
    ],
    static_libs: [
        "libaudioutils",
    ],
}

cc_benchmark {
    name: "primitives_benchmark",
    host_supported: true,
    target: {
        darwin: {
            enabled: false,
        },
    },

    srcs: ["primitives_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    static_libs: [
        "libaudioutils",
    ],
}

cc_benchmark {
    name: "statistics_benchmark",
    host_supported: true,

    srcs: ["statistics_benchmark.cpp"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    static_libs: [
        "libaudioutils",
    ],
}
