cc_library_shared {
    name: "libvpx",
    vendor_available: true,
    version_script: "exports.lds",

    arch: {
        // configured to require the neon unit
        arm: {
            neon: {
                // Want arm, not thumb, optimized
                instruction_set: "arm",

                srcs: libvpx_arm_neon_c_srcs + libvpx_arm_neon_asm_srcs,
                local_include_dirs: ["config/arm-neon"],
            },
        },

        arm64: {
            srcs: libvpx_arm64_c_srcs,
            local_include_dirs: ["config/arm64"],
        },

        x86: {
            srcs: libvpx_x86_c_srcs + libvpx_x86_asm_srcs,
            local_include_dirs: ["config/x86"],
        },

        x86_64: {
            srcs: libvpx_x86_64_c_srcs + libvpx_x86_64_asm_srcs,
            local_include_dirs: ["config/x86_64"],
        },
    },

    cflags: [
        "-O3",
        "-Wno-unused-parameter",
    ],

    export_include_dirs: ["libvpx"],

    sanitize: {
        integer_overflow: true,
        misc_undefined: ["bounds"],
        // Enable CFI if this becomes a shared library.
        // cfi: true,
        blacklist: "libvpx_blacklist.txt",
    },
}
