package {
    default_applicable_licenses: ["external_arm-optimized-routines_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_arm-optimized-routines_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE",
    ],
}

cc_defaults {
    name: "arm-optimized-routines-defaults",
    host_supported: true,
    cflags: [
        "-Werror",
        "-Wno-unused-parameter",
        "-O2",
        "-ffp-contract=fast",
        "-fno-math-errno",

        // bionic configuration.

        // We're actually implementing bionic here, so we don't want <math.h>
        // to try to be helpful by renaming long double routines.
        "-D__BIONIC_LP32_USE_LONG_DOUBLE",
        "-DFLT_EVAL_METHOD=0",

        // arm-optimized-routines configuration.

        // BSD libm doesn't set errno, and bionic was based on the BSDs.
        // https://github.com/ARM-software/optimized-routines/issues/16#issuecomment-572009659
        "-DWANT_ERRNO=0",
        // TODO: we may want the vector code in future, but it's not ready yet.
        "-DWANT_VMATH=0",
    ],
    local_include_dirs: ["math/include"],
}

cc_defaults {
    name: "libarm-optimized-routines-defaults",
    defaults: ["arm-optimized-routines-defaults"],
    ramdisk_available: true,
    vendor_ramdisk_available: true,
    recovery_available: true,
    native_bridge_supported: true,
    apex_available: [
        "//apex_available:platform",
        "com.android.runtime",
    ],

    stl: "none",
    static: {
        system_shared_libs: [],
    },
    header_libs: ["libc_headers"],
}

cc_library_static {
    name: "libarm-optimized-routines-math",
    defaults: ["libarm-optimized-routines-defaults"],
    exclude_srcs: [
        // Provided by:
        // bionic/libm/upstream-freebsd/lib/msun/src/s_erf.c
        // bionic/libm/upstream-freebsd/lib/msun/src/s_erff.c
        "math/erf.c",
        "math/erf_data.c",
        "math/erff.c",
        "math/erff_data.c",
    ],
    srcs: [
        "math/*.c",
    ],

    // arch-specific settings
    arch: {
        arm64: {
            cflags: [
                "-DHAVE_FAST_FMA=1",
            ],
        },
    },

    target: {
        darwin: {
            enabled: false,
        },
        linux_bionic: {
            enabled: true,
        },
    },
}

cc_library_static {
    name: "libarm-optimized-routines-string",
    defaults: ["libarm-optimized-routines-defaults"],

    arch: {
        arm64: {
            srcs: [
                "string/aarch64/memchr-mte.S",
                "string/aarch64/memchr.S",
                "string/aarch64/memcmp.S",
                "string/aarch64/memrchr.S",
                "string/aarch64/stpcpy-mte.S",
                "string/aarch64/stpcpy.S",
                "string/aarch64/strchrnul-mte.S",
                "string/aarch64/strchrnul.S",
                "string/aarch64/strchr-mte.S",
                "string/aarch64/strchr.S",
                "string/aarch64/strcmp-mte.S",
                "string/aarch64/strcmp.S",
                "string/aarch64/strcpy-mte.S",
                "string/aarch64/strcpy.S",
                "string/aarch64/strlen-mte.S",
                "string/aarch64/strlen.S",
                "string/aarch64/strncmp-mte.S",
                "string/aarch64/strncmp.S",
                "string/aarch64/strnlen.S",
                "string/aarch64/strrchr-mte.S",
                "string/aarch64/strrchr.S",
            ],
            asflags: [
                "-D__memcmp_aarch64=memcmp",
                "-D__memrchr_aarch64=memrchr",
                "-D__strnlen_aarch64=strnlen",
            ]
        },
    },
}

// adb shell "/data/nativetest64/mathtest/mathtest /data/nativetest64/mathtest/test/testcases/directed/*"
// adb shell "/data/nativetest/mathtest/mathtest /data/nativetest/mathtest/test/testcases/directed/*"
cc_test {
    name: "mathtest",
    defaults: ["arm-optimized-routines-defaults"],
    gtest: false,
    cflags: ["-Wno-missing-braces"],
    srcs: ["math/test/mathtest.c"],
    data: ["math/test/testcases/directed/*.tst"],
    target: {
        darwin: {
            enabled: false,
        },
        linux_bionic: {
            enabled: true,
        },
    },
}

cc_test {
    name: "ulp",
    defaults: ["arm-optimized-routines-defaults"],
    gtest: false,
    srcs: ["math/test/ulp.c"],
    data: ["math/test/runulp.sh"],
}

sh_test {
    name: "arm-optimized-routines-tests",
    src: "run-arm-optimized-routines-tests-on-android.sh",
    filename: "run-arm-optimized-routines-tests-on-android.sh",
    test_suites: ["general-tests"],
    host_supported: true,
    device_supported: false,
    require_root: true,
    target_required: [
        "mathtest",
        "ulp",
    ],
}
