// Android Runtime APEX module.

// Modules listed in LOCAL_REQUIRED_MODULES for module art-runtime in art/Android.mk.
// - Base requirements (binaries for which both 32- and 64-bit versions are built, if relevant).
art_runtime_base_binaries_both = [
    "dalvikvm",
]
// - Base requirements (binaries for which a 32-bit version is preferred).
art_runtime_base_binaries_prefer32 = [
    "dex2oat",
    "dexoptanalyzer",
    "profman",
]
// - Base requirements (libraries).
art_runtime_base_native_shared_libs = [
    "libart",
    "libart-compiler",
    "libopenjdkjvm",
    "libopenjdkjvmti",
    "libadbconnection",
]
bionic_native_shared_libs = [
    "libc",
    "libm",
    "libdl",
]
bionic_binaries_both = [
    "linker",
]
// - Debug variants (binaries for which a 32-bit version is preferred).
art_runtime_debug_binaries_prefer32 = [
    "dexoptanalyzerd",
    "profmand",
]
art_runtime_debug_binaries_prefer32_device = [
    "dex2oatd",
]
art_runtime_debug_binaries_both_host = [
    "dex2oatd",
]

// - Debug variants (libraries).
art_runtime_debug_native_shared_libs = [
    "libartd",
    "libartd-compiler",
    "libopenjdkjvmd",
    "libopenjdkjvmtid",
    "libadbconnectiond",
]
libcore_debug_native_shared_libs = [
    "libopenjdkd",
]

// Data files associated with bionic / managed core library APIs.
art_runtime_data_file_prebuilts = [
    "apex_tz_version",
    "apex_tzdata",
    "apex_tzlookup.xml",
    "apex_icu.dat",
]

// Modules listed in LOCAL_REQUIRED_MODULES for module art-tools in art/Android.mk.
art_tools_common_binaries = [
    "dexdiag",
    "dexdump",
    "dexlist",
]

// Device-only modules listed in LOCAL_REQUIRED_MODULES for module art-tools in art/Android.mk.
art_tools_device_only_binaries = [
    // oatdump cannot link with host linux_bionic due to not using clang lld;
    // TODO: Make it work with clang lld.
    "oatdump",
]

// Host-only modules listed in LOCAL_REQUIRED_MODULES for module art-tools in art/Android.mk.
art_tools_host_only_binaries = [
    // FIXME: Does not work as-is, because `ahat` is defined in tools/ahat/Android.mk
    // (same issue as for `libart_fake` above).
    //"ahat",
    "hprof-conv",
    // ...
]

art_tools_device_binaries = art_tools_common_binaries + art_tools_device_only_binaries
art_tools_host_binaries = art_tools_common_binaries + art_tools_host_only_binaries

// Libraries needed to use com.android.runtime.host for zipapex run-tests
art_runtime_host_run_test_libs = [
    "libartd-disassembler"
]

// Libcore native libraries.
libcore_native_shared_libs = [
    "libjavacore",
    "libopenjdk",
    "libexpat",
    "libz",
    "libziparchive"
]

// Java libraries
libcore_target_java_libs = [
    "core-oj",
    "core-libart",
    "okhttp",
    "bouncycastle",
    "apache-xml",
]

// Temporary library includes for b/123591866 as all libraries are moved into the main art-apex.
art_runtime_libraries_zipapex = [
    "libnativebridge",
    "libnativeloader",
    "libnativehelper",
    "libcutils",
]

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

prebuilt_etc {
    name: "com.android.runtime.ld.config.txt",
    src: "ld.config.txt",
    filename: "ld.config.txt",
    installable: false,
}

// TODO: Introduce `apex_defaults` to factor common parts of `apex`
// module definitions below?

// Release version of the Runtime APEX module (not containing debug
// variants nor tools), included in user builds. Also used for
// storage-constrained devices in userdebug and eng builds.
apex {
    name: "com.android.runtime.release",
    compile_multilib: "both",
    manifest: "manifest.json",
    java_libs: libcore_target_java_libs,
    native_shared_libs: art_runtime_base_native_shared_libs
        + bionic_native_shared_libs
        + libcore_native_shared_libs,
    multilib: {
        both: {
            // TODO: Add logic to create a `dalvikvm` symlink to `dalvikvm32` or `dalvikvm64`
            // (see `symlink_preferred_arch` in art/dalvikvm/Android.bp).
            binaries: art_runtime_base_binaries_both
                + bionic_binaries_both,
        },
        prefer32: {
            binaries: art_runtime_base_binaries_prefer32,
        },
        first: {
            binaries: [],
        }
    },
    prebuilts: art_runtime_data_file_prebuilts
        + ["com.android.runtime.ld.config.txt"],
    key: "com.android.runtime.key",
}

// "Debug" version of the Runtime APEX module (containing both release and
// debug variants, as well as additional tools), included in userdebug and
// eng build.
apex {
    name: "com.android.runtime.debug",
    compile_multilib: "both",
    manifest: "manifest.json",
    java_libs: libcore_target_java_libs,
    native_shared_libs: art_runtime_base_native_shared_libs
        + art_runtime_debug_native_shared_libs
        + bionic_native_shared_libs
        + libcore_native_shared_libs
        + libcore_debug_native_shared_libs,
    multilib: {
        both: {
            // TODO: Add logic to create a `dalvikvm` symlink to `dalvikvm32` or `dalvikvm64`
            // (see `symlink_preferred_arch` in art/dalvikvm/Android.bp).
            binaries: art_runtime_base_binaries_both
                + bionic_binaries_both,
        },
        prefer32: {
            binaries: art_runtime_base_binaries_prefer32
                + art_runtime_debug_binaries_prefer32
                + art_runtime_debug_binaries_prefer32_device,
        },
        first: {
            binaries: art_tools_device_binaries,
        }
    },
    prebuilts: art_runtime_data_file_prebuilts
        + ["com.android.runtime.ld.config.txt"],
    key: "com.android.runtime.key",
}

// TODO: Do this better. art_apex will disable host builds when
// HOST_PREFER_32_BIT is set. We cannot simply use com.android.runtime.debug
// because binaries have different multilib classes and 'multilib: {}' isn't
// supported by target: { ... }.
// See b/120617876 for more information.
art_apex_test {
    name: "com.android.runtime.host",
    compile_multilib: "both",
    payload_type: "zip",
    host_supported: true,
    device_supported: false,
    manifest: "manifest.json",
    java_libs: libcore_target_java_libs,
    ignore_system_library_special_case: true,
    native_shared_libs: art_runtime_base_native_shared_libs
        + art_runtime_debug_native_shared_libs
        + libcore_native_shared_libs
        + libcore_debug_native_shared_libs
        + art_runtime_libraries_zipapex
        + art_runtime_host_run_test_libs,
    multilib: {
        both: {
            // TODO: Add logic to create a `dalvikvm` symlink to `dalvikvm32` or `dalvikvm64`
            // (see `symlink_preferred_arch` in art/dalvikvm/Android.bp).
            binaries: art_runtime_base_binaries_both
                + art_runtime_debug_binaries_both_host,
        },
        first: {
            binaries: art_tools_host_binaries
                + art_runtime_base_binaries_prefer32
                + art_runtime_debug_binaries_prefer32,
        }
    },
    key: "com.android.runtime.key",
    target: {
        darwin: {
            enabled: false,
        },
        linux_bionic: {
            enabled: true,
            multilib: {
                both: {
                    native_shared_libs: bionic_native_shared_libs,
                    binaries: bionic_binaries_both,
                }
            }
        },
    },
}

python_binary_host {
    name: "art-apex-tester",
    srcs: ["art_apex_test.py"],
    main: "art_apex_test.py",
    version: {
        py2: {
            enabled: false,
        },
        py3: {
            enabled: true,
        },
    },
}

// Genrules so we can run the checker, and empty Java library so that it gets executed.

genrule {
    name: "art-check-release-apex-gen",
    srcs: [":com.android.runtime.release"],
    tools: [
        "art-apex-tester",
        "debugfs",
    ],
    cmd: "$(location art-apex-tester)"
              + " --debugfs $(location debugfs)"
              + " --tmpdir $(genDir)"
              + " $(in)"
         + " && touch $(out)",
    out: ["art-check-release-apex-gen.dummy"],
}
cc_prebuilt_binary {
    name: "art-check-release-apex-gen-fakebin",
    srcs: [":art-check-release-apex-gen"],
    host_supported: true,
    device_supported: false,
    target: {
        darwin: {
            enabled: false,  // No python3.
        },
    },
}

genrule {
    name: "art-check-debug-apex-gen",
    srcs: [":com.android.runtime.debug"],
    tools: [
        "art-apex-tester",
        "debugfs",
    ],
    cmd: "$(location art-apex-tester)"
              + " --debugfs $(location debugfs)"
              + " --tmpdir $(genDir)"
              + " --debug"
              + " $(in)"
         + " && touch $(out)",
    out: ["art-check-debug-apex-gen.dummy"],
}
cc_prebuilt_binary {
    name: "art-check-debug-apex-gen-fakebin",
    srcs: [":art-check-debug-apex-gen"],
    host_supported: true,
    device_supported: false,
    target: {
        darwin: {
            enabled: false,  // No python3.
        },
    },
}
