1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
// 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
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,
},
},
}
|