summaryrefslogtreecommitdiff
path: root/tools/mcld/Android.bp
blob: 305094679f78856c6f221076b6286b9907422cd8 (plain)
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
// Collect target specific code generation libraries
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,
        },
    },
}