// Runtime (Bionic) APEX module
//
// In Q this contained Bionic, ART and Libcore.
// It keeps the name /apex/com.android.runtime for app compat reasons.

package {
    default_applicable_licenses: ["bionic_apex_license"],
}

license {
    name: "bionic_apex_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

android_app_certificate {
    name: "com.android.runtime.certificate",
    certificate: "com.android.runtime",
}

apex_key {
    name: "com.android.runtime.key",
    public_key: "com.android.runtime.avbpubkey",
    private_key: "com.android.runtime.pem",
}

apex {
    name: "com.android.runtime",
    compile_multilib: "both",
    manifest: "manifest.json",
    native_shared_libs: [
        "libc",
        "libm",
        "libdl",
        "libdl_android",
        "libc_malloc_debug",
        "libc_malloc_hooks",
    ],
    arch: {
        arm64: {
            native_shared_libs: [
                "libc_hwasan",
                "libclang_rt.hwasan",
            ],
        },
    },
    binaries: [
        "linkerconfig",
    ],
    multilib: {
        both: {
            binaries: [
                "crash_dump",
                "linker",
            ],
        },
    },
    key: "com.android.runtime.key",
    certificate: ":com.android.runtime.certificate",
    prebuilts: [
        "bionic-linker-config",
    ],
    updatable: false,
}

sdk {
    name: "runtime-module-sdk",
    defaults: ["linux_bionic_supported"],

    native_header_libs: [
        "bionic_libc_platform_headers",
        "libc_headers",
    ],
    native_shared_libs: [
        "libc",
        "libdl",
        "libdl_android",
        "libm",
    ],
    native_static_libs: [
        "libasync_safe",
        "note_memtag_heap_async",
        "note_memtag_heap_sync",
    ],
    native_objects: [
        "crtbegin_dynamic",
        "crtbegin_so",
        "crtend_android",
        "crtend_so",
        "crt_pad_segment",
    ],
}

module_exports {
    name: "runtime-module-host-exports",
    host_supported: true,
    device_supported: false,
    compile_multilib: "64",

    native_binaries: ["linkerconfig"],
    target: {
        linux_bionic: {
            native_binaries: ["linker"],
        },
    },
}

linker_config {
    name: "bionic-linker-config",
    src: "linker.config.json",
    installable: false,
}