// Collect target specific code generation libraries
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_compile_mclinker_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-NCSA
    default_applicable_licenses: ["frameworks_compile_mclinker_license"],
}

MCLD_ARM_LIBS = [
    "libmcldARMTarget",
    "libmcldARMInfo",
]
MCLD_AARCH64_LIBS = [
    "libmcldAArch64Target",
    "libmcldAArch64Info",
]
MCLD_MIPS_LIBS = [
    "libmcldMipsTarget",
    "libmcldMipsInfo",
]
MCLD_X86_LIBS = [
    "libmcldX86Target",
    "libmcldX86Info",
]

// Build Options.inc from Options.td
llvm_tblgen {
    name: "mcld-gen-options",
    in: "Options.td",
    outs: ["Options.inc"],
}

cc_binary {
    name: "ld.mc",
    defaults: ["mcld-defaults"],
    host_supported: true,
    generated_headers: ["mcld-gen-options"],

    srcs: ["Main.cpp"],

    // arch-specific static libraries depend on libmcldTarget.
    // Can be removed once soong supports transitive static library dependencies
    group_static_libs: true,
    static_libs: [
        "libmcldADT",
        "libmcldCore",
        "libmcldFragment",
        "libmcldLD",
        "libmcldLDVariant",
        "libmcldMC",
        "libmcldObject",
        "libmcldScript",
        "libmcldSupport",
        "libmcldTarget",
    ],

    shared_libs: [
        "libLLVM_android",
        "libz",
    ],

    target: {
        host: {
            static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS +
                MCLD_MIPS_LIBS + MCLD_X86_LIBS,
        },

        // Add target specific code generation libraries
        android_arm: {
            // Include AARCH64 libs to enable 64-bit linking on ARM targets
            static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
        },
        android_arm64: {
            // Include ARM libs to enable 32-bit linking on AARCH64 targets
            static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
        },
        android_x86: {
            static_libs: MCLD_X86_LIBS,
        },
        android_x86_64: {
            static_libs: MCLD_X86_LIBS,
        },
        arm_on_x86: {
            static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
        },
        arm_on_x86_64: {
            static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS,
        },
    },
}
