// 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, }, }, }