1// Collect target specific code generation libraries 2package { 3 // See: http://go/android-license-faq 4 // A large-scale-change added 'default_applicable_licenses' to import 5 // all of the 'license_kinds' from "frameworks_compile_mclinker_license" 6 // to get the below license kinds: 7 // SPDX-license-identifier-NCSA 8 default_applicable_licenses: ["frameworks_compile_mclinker_license"], 9} 10 11MCLD_ARM_LIBS = [ 12 "libmcldARMTarget", 13 "libmcldARMInfo", 14] 15MCLD_AARCH64_LIBS = [ 16 "libmcldAArch64Target", 17 "libmcldAArch64Info", 18] 19MCLD_MIPS_LIBS = [ 20 "libmcldMipsTarget", 21 "libmcldMipsInfo", 22] 23MCLD_X86_LIBS = [ 24 "libmcldX86Target", 25 "libmcldX86Info", 26] 27 28// Build Options.inc from Options.td 29llvm_tblgen { 30 name: "mcld-gen-options", 31 in: "Options.td", 32 outs: ["Options.inc"], 33} 34 35cc_binary { 36 name: "ld.mc", 37 defaults: ["mcld-defaults"], 38 host_supported: true, 39 generated_headers: ["mcld-gen-options"], 40 41 srcs: ["Main.cpp"], 42 43 // arch-specific static libraries depend on libmcldTarget. 44 // Can be removed once soong supports transitive static library dependencies 45 static_libs: [ 46 "libmcldADT", 47 "libmcldCore", 48 "libmcldFragment", 49 "libmcldLD", 50 "libmcldLDVariant", 51 "libmcldMC", 52 "libmcldObject", 53 "libmcldScript", 54 "libmcldSupport", 55 "libmcldTarget", 56 ], 57 58 shared_libs: [ 59 "libLLVM_android", 60 "libz", 61 ], 62 63 target: { 64 host: { 65 static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS + 66 MCLD_MIPS_LIBS + MCLD_X86_LIBS, 67 }, 68 69 // Add target specific code generation libraries 70 android_arm: { 71 // Include AARCH64 libs to enable 64-bit linking on ARM targets 72 static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS, 73 }, 74 android_arm64: { 75 // Include ARM libs to enable 32-bit linking on AARCH64 targets 76 static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS, 77 }, 78 android_x86: { 79 static_libs: MCLD_X86_LIBS, 80 }, 81 android_x86_64: { 82 static_libs: MCLD_X86_LIBS, 83 }, 84 arm_on_x86: { 85 static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS, 86 }, 87 arm_on_x86_64: { 88 static_libs: MCLD_ARM_LIBS + MCLD_AARCH64_LIBS, 89 }, 90 }, 91} 92