// ==============================================================
// libc_malloc_debug_backtrace.a
// ==============================================================
// Used by libmemunreachable
package {
    default_team: "trendy_team_native_tools_libraries",
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "bionic_libc_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    //   SPDX-license-identifier-BSD
    default_applicable_licenses: ["bionic_libc_license"],
}

cc_library_static {
    name: "libc_malloc_debug_backtrace",
    vendor_available: true,

    srcs: [
        "backtrace.cpp",
        "MapData.cpp",
    ],

    stl: "libc++_static",

    whole_static_libs: [
        "libbase",
        "libasync_safe",
    ],

    include_dirs: ["bionic/libc"],

    export_include_dirs: ["."],

    sanitize: {
        never: true,
    },
    native_coverage: false,

    // -Wno-error=format-zero-length needed for gcc to compile.
    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-error=format-zero-length",
    ],

    apex_available: [
        "//apex_available:platform",
        "com.android.runtime",
    ],
}

// ==============================================================
// libc_malloc_debug.so
// ==============================================================
cc_library {
    name: "libc_malloc_debug",

    srcs: [
        "Config.cpp",
        "DebugData.cpp",
        "debug_disable.cpp",
        "GuardData.cpp",
        "LogAllocatorStats.cpp",
        "malloc_debug.cpp",
        "PointerData.cpp",
        "RecordData.cpp",
        "Unreachable.cpp",
        "UnwindBacktrace.cpp",
    ],

    stl: "libc++_static",

    static_libs: [
        "libasync_safe",
        "libbase",
        "libc_malloc_debug_backtrace",
        "libmemunreachable",
    ],

    shared_libs: [
        "libunwindstack",
    ],

    multilib: {
        lib32: {
            version_script: "exported32.map",
        },
        lib64: {
            version_script: "exported64.map",
        },
    },
    allow_undefined_symbols: true,
    include_dirs: ["bionic/libc"],

    sanitize: {
        never: true,
    },
    native_coverage: false,

    // -Wno-error=format-zero-length needed for gcc to compile.
    cflags: [
        "-Wall",
        "-Werror",
        "-fno-stack-protector",
        "-Wno-error=format-zero-length",
        "-Wthread-safety",
    ],

    apex_available: [
        "com.android.runtime",
    ],
    static: {
        apex_available: [
            "//apex_available:platform",
        ],
    },
}

// ==============================================================
// Unit Tests
// ==============================================================
cc_test {
    name: "malloc_debug_unit_tests",
    test_suites: ["device-tests"],
    isolated: true,

    srcs: [
        "tests/backtrace_fake.cpp",
        "tests/log_fake.cpp",
        "tests/libc_fake.cpp",
        "tests/malloc_debug_config_tests.cpp",
        "tests/malloc_debug_unit_tests.cpp",
    ],

    local_include_dirs: ["tests"],
    include_dirs: [
        "bionic/libc",
        "bionic/libc/async_safe/include",
    ],

    header_libs: [
        "bionic_libc_platform_headers",
    ],

    static_libs: [
        "libc_malloc_debug",
        "libtinyxml2",
    ],

    shared_libs: [
        "libbase",
        "libunwindstack",
    ],

    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-error=format-zero-length",
        "-O0",
    ],
}

// ==============================================================
// System Tests
// ==============================================================
cc_test {
    name: "malloc_debug_system_tests",
    isolated: true,

    include_dirs: [
        "bionic/libc",
        "bionic", // For SKIP_WITH_HWASAN.
    ],

    header_libs: [
        "bionic_libc_platform_headers",
    ],

    // The clang-analyzer-unix.Malloc and other warnings in these
    // unit tests are either false positive or in
    // negative tests that can be ignored.
    tidy: false,

    srcs: [
        "tests/malloc_debug_system_tests.cpp",
    ],

    shared_libs: [
        "libbase",
        "liblog",
        "libunwindstack",
    ],

    cflags: [
        "-Wall",
        "-Werror",
        "-O0",
    ],
    test_suites: ["general-tests"],
    test_config: "tests/AndroidTest.xml",
}
