xref: /aosp_15_r20/prebuilts/sdk/tools/Android.bp (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Workerpackage {
2*344a7f5eSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*344a7f5eSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*344a7f5eSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "prebuilts_sdk_license"
5*344a7f5eSAndroid Build Coastguard Worker    // to get the below license kinds:
6*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-BSD
8*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-CPL-1.0
9*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-MIT
10*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Unicode-DFS
11*344a7f5eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-W3C
12*344a7f5eSAndroid Build Coastguard Worker    default_applicable_licenses: ["prebuilts_sdk_license"],
13*344a7f5eSAndroid Build Coastguard Worker}
14*344a7f5eSAndroid Build Coastguard Worker
15*344a7f5eSAndroid Build Coastguard Workercc_prebuilt_library_shared {
16*344a7f5eSAndroid Build Coastguard Worker    name: "libLLVM_android",
17*344a7f5eSAndroid Build Coastguard Worker    vendor_available: true,
18*344a7f5eSAndroid Build Coastguard Worker    host_supported: true,
19*344a7f5eSAndroid Build Coastguard Worker    // TODO(ccross): this is necessary because the prebuilt module must have
20*344a7f5eSAndroid Build Coastguard Worker    // all the variants that are in the source module.  Ideally Soong's
21*344a7f5eSAndroid Build Coastguard Worker    // arch mutator should handle this.
22*344a7f5eSAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
23*344a7f5eSAndroid Build Coastguard Worker    native_bridge_supported: true,
24*344a7f5eSAndroid Build Coastguard Worker    target: {
25*344a7f5eSAndroid Build Coastguard Worker        glibc_x86_64: {
26*344a7f5eSAndroid Build Coastguard Worker            srcs: ["linux/lib64/libLLVM_android.so"],
27*344a7f5eSAndroid Build Coastguard Worker        },
28*344a7f5eSAndroid Build Coastguard Worker        musl_x86_64: {
29*344a7f5eSAndroid Build Coastguard Worker            // TODO(ccross): add a musl specific version when a musl SDK build exists
30*344a7f5eSAndroid Build Coastguard Worker            srcs: ["linux/lib64/libLLVM_android.so"],
31*344a7f5eSAndroid Build Coastguard Worker        },
32*344a7f5eSAndroid Build Coastguard Worker        darwin_x86_64: {
33*344a7f5eSAndroid Build Coastguard Worker            srcs: ["darwin/lib64/libLLVM_android.dylib"],
34*344a7f5eSAndroid Build Coastguard Worker        },
35*344a7f5eSAndroid Build Coastguard Worker        // TODO(ccross): this is necessary because the prebuilt module must have
36*344a7f5eSAndroid Build Coastguard Worker        // all the variants that are in the source module.  Ideally Soong's
37*344a7f5eSAndroid Build Coastguard Worker        // arch mutator should handle this.
38*344a7f5eSAndroid Build Coastguard Worker        windows: {
39*344a7f5eSAndroid Build Coastguard Worker            enabled: true,
40*344a7f5eSAndroid Build Coastguard Worker        }
41*344a7f5eSAndroid Build Coastguard Worker    },
42*344a7f5eSAndroid Build Coastguard Worker}
43*344a7f5eSAndroid Build Coastguard Worker
44*344a7f5eSAndroid Build Coastguard Workercc_prebuilt_library_shared {
45*344a7f5eSAndroid Build Coastguard Worker    name: "libclang_android",
46*344a7f5eSAndroid Build Coastguard Worker    host_supported: true,
47*344a7f5eSAndroid Build Coastguard Worker    // TODO(ccross): this is necessary because the prebuilt module must have
48*344a7f5eSAndroid Build Coastguard Worker    // all the variants that are in the source module.  Ideally Soong's
49*344a7f5eSAndroid Build Coastguard Worker    // arch mutator should handle this.
50*344a7f5eSAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
51*344a7f5eSAndroid Build Coastguard Worker    native_bridge_supported: true,
52*344a7f5eSAndroid Build Coastguard Worker    target: {
53*344a7f5eSAndroid Build Coastguard Worker        glibc_x86_64: {
54*344a7f5eSAndroid Build Coastguard Worker            srcs: ["linux/lib64/libclang_android.so"],
55*344a7f5eSAndroid Build Coastguard Worker        },
56*344a7f5eSAndroid Build Coastguard Worker        musl_x86_64: {
57*344a7f5eSAndroid Build Coastguard Worker            // TODO(ccross): add a musl specific version when a musl SDK build exists
58*344a7f5eSAndroid Build Coastguard Worker            srcs: ["linux/lib64/libclang_android.so"],
59*344a7f5eSAndroid Build Coastguard Worker        },
60*344a7f5eSAndroid Build Coastguard Worker        darwin_x86_64: {
61*344a7f5eSAndroid Build Coastguard Worker            srcs: ["darwin/lib64/libclang_android.dylib"],
62*344a7f5eSAndroid Build Coastguard Worker        },
63*344a7f5eSAndroid Build Coastguard Worker        // TODO(ccross): this is necessary because the prebuilt module must have
64*344a7f5eSAndroid Build Coastguard Worker        // all the variants that are in the source module.  Ideally Soong's
65*344a7f5eSAndroid Build Coastguard Worker        // arch mutator should handle this.
66*344a7f5eSAndroid Build Coastguard Worker        windows: {
67*344a7f5eSAndroid Build Coastguard Worker            enabled: true,
68*344a7f5eSAndroid Build Coastguard Worker        }
69*344a7f5eSAndroid Build Coastguard Worker    },
70*344a7f5eSAndroid Build Coastguard Worker}
71*344a7f5eSAndroid Build Coastguard Worker
72*344a7f5eSAndroid Build Coastguard Workercc_prebuilt_binary {
73*344a7f5eSAndroid Build Coastguard Worker    name: "aapt2",
74*344a7f5eSAndroid Build Coastguard Worker    host_supported: true,
75*344a7f5eSAndroid Build Coastguard Worker
76*344a7f5eSAndroid Build Coastguard Worker    compile_multilib: "64",
77*344a7f5eSAndroid Build Coastguard Worker    prefer: true,
78*344a7f5eSAndroid Build Coastguard Worker    target: {
79*344a7f5eSAndroid Build Coastguard Worker        linux: {
80*344a7f5eSAndroid Build Coastguard Worker            srcs: ["linux/bin/aapt2"],
81*344a7f5eSAndroid Build Coastguard Worker        },
82*344a7f5eSAndroid Build Coastguard Worker        darwin: {
83*344a7f5eSAndroid Build Coastguard Worker            srcs: ["darwin/bin/aapt2"],
84*344a7f5eSAndroid Build Coastguard Worker        },
85*344a7f5eSAndroid Build Coastguard Worker        windows: {
86*344a7f5eSAndroid Build Coastguard Worker            srcs: ["windows/bin/aapt2.exe"],
87*344a7f5eSAndroid Build Coastguard Worker        },
88*344a7f5eSAndroid Build Coastguard Worker    },
89*344a7f5eSAndroid Build Coastguard Worker    enabled: false,
90*344a7f5eSAndroid Build Coastguard Worker    product_variables: {
91*344a7f5eSAndroid Build Coastguard Worker        always_use_prebuilt_sdks: {
92*344a7f5eSAndroid Build Coastguard Worker            enabled: true,
93*344a7f5eSAndroid Build Coastguard Worker        },
94*344a7f5eSAndroid Build Coastguard Worker    },
95*344a7f5eSAndroid Build Coastguard Worker}
96*344a7f5eSAndroid Build Coastguard Worker
97*344a7f5eSAndroid Build Coastguard Workerjava_import {
98*344a7f5eSAndroid Build Coastguard Worker    name: "sdk-core-lambda-stubs",
99*344a7f5eSAndroid Build Coastguard Worker    jars: ["core-lambda-stubs.jar"],
100*344a7f5eSAndroid Build Coastguard Worker}
101*344a7f5eSAndroid Build Coastguard Worker
102*344a7f5eSAndroid Build Coastguard Workergenrule {
103*344a7f5eSAndroid Build Coastguard Worker    name: "build-tools-lld-linux",
104*344a7f5eSAndroid Build Coastguard Worker    visibility: ["//development/build"],
105*344a7f5eSAndroid Build Coastguard Worker    tools: ["soong_zip"],
106*344a7f5eSAndroid Build Coastguard Worker    cmd: "mkdir -p $(genDir)/out/{lld-bin,lib64} && " +
107*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld) $(genDir)/out/ && " +
108*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/arm-linux-androideabi-ld && " +
109*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/aarch64-linux-android-ld && " +
110*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/i686-linux-android-ld && " +
111*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/x86_64-linux-android-ld && " +
112*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/mipsel-linux-android-ld && " +
113*344a7f5eSAndroid Build Coastguard Worker        "cp $(location linux/lld-bin/lld) $(genDir)/out/lld-bin/ && " +
114*344a7f5eSAndroid Build Coastguard Worker        "cp $(location linux/lib64/libc++.so.1) $(genDir)/out/lib64/ && " +
115*344a7f5eSAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out",
116*344a7f5eSAndroid Build Coastguard Worker    srcs: [
117*344a7f5eSAndroid Build Coastguard Worker        "lld",
118*344a7f5eSAndroid Build Coastguard Worker        "lld-dummy",
119*344a7f5eSAndroid Build Coastguard Worker        "linux/lld-bin/lld",
120*344a7f5eSAndroid Build Coastguard Worker        "linux/lib64/libc++.so.1",
121*344a7f5eSAndroid Build Coastguard Worker    ],
122*344a7f5eSAndroid Build Coastguard Worker    out: ["lld.zip"],
123*344a7f5eSAndroid Build Coastguard Worker}
124*344a7f5eSAndroid Build Coastguard Worker
125*344a7f5eSAndroid Build Coastguard Workergenrule {
126*344a7f5eSAndroid Build Coastguard Worker    name: "build-tools-lld-windows",
127*344a7f5eSAndroid Build Coastguard Worker    visibility: ["//development/build"],
128*344a7f5eSAndroid Build Coastguard Worker    tools: ["soong_zip"],
129*344a7f5eSAndroid Build Coastguard Worker    cmd: "mkdir -p $(genDir)/out/{lld-bin,lib64} && " +
130*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/arm-linux-androideabi-ld.exe && " +
131*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/aarch64-linux-android-ld.exe && " +
132*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/i686-linux-android-ld.exe && " +
133*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/x86_64-linux-android-ld.exe && " +
134*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/mipsel-linux-android-ld.exe && " +
135*344a7f5eSAndroid Build Coastguard Worker        "cp $(location windows/lld-bin/lld.exe) $(genDir)/out/lld-bin/ && " +
136*344a7f5eSAndroid Build Coastguard Worker        "cp $(location windows/lld-bin/libwinpthread-1.dll) $(genDir)/out/lld-bin/ && " +
137*344a7f5eSAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out",
138*344a7f5eSAndroid Build Coastguard Worker    srcs: [
139*344a7f5eSAndroid Build Coastguard Worker        "lld-dummy",
140*344a7f5eSAndroid Build Coastguard Worker        "windows/lld-bin/lld.exe",
141*344a7f5eSAndroid Build Coastguard Worker        "windows/lld-bin/libwinpthread-1.dll",
142*344a7f5eSAndroid Build Coastguard Worker    ],
143*344a7f5eSAndroid Build Coastguard Worker    out: ["lld.zip"],
144*344a7f5eSAndroid Build Coastguard Worker}
145*344a7f5eSAndroid Build Coastguard Worker
146*344a7f5eSAndroid Build Coastguard Workergenrule {
147*344a7f5eSAndroid Build Coastguard Worker    name: "build-tools-lld-darwin",
148*344a7f5eSAndroid Build Coastguard Worker    visibility: ["//development/build"],
149*344a7f5eSAndroid Build Coastguard Worker    tools: ["soong_zip"],
150*344a7f5eSAndroid Build Coastguard Worker    cmd: "mkdir -p $(genDir)/out/{lld-bin,lib64} && " +
151*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld) $(genDir)/out/ && " +
152*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/arm-linux-androideabi-ld && " +
153*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/aarch64-linux-android-ld && " +
154*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/i686-linux-android-ld && " +
155*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/x86_64-linux-android-ld && " +
156*344a7f5eSAndroid Build Coastguard Worker        "cp $(location lld-dummy) $(genDir)/out/mipsel-linux-android-ld && " +
157*344a7f5eSAndroid Build Coastguard Worker        "cp $(location darwin/lld-bin/lld) $(genDir)/out/lld-bin/ && " +
158*344a7f5eSAndroid Build Coastguard Worker        "cp $(location darwin/lib64/libc++.1.dylib) $(genDir)/out/lib64/ && " +
159*344a7f5eSAndroid Build Coastguard Worker        "cp $(location darwin/lib64/libc++abi.1.dylib) $(genDir)/out/lib64/ && " +
160*344a7f5eSAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -C $(genDir)/out -D $(genDir)/out",
161*344a7f5eSAndroid Build Coastguard Worker    srcs: [
162*344a7f5eSAndroid Build Coastguard Worker        "lld",
163*344a7f5eSAndroid Build Coastguard Worker        "lld-dummy",
164*344a7f5eSAndroid Build Coastguard Worker        "darwin/lld-bin/lld",
165*344a7f5eSAndroid Build Coastguard Worker        "darwin/lib64/libc++.1.dylib",
166*344a7f5eSAndroid Build Coastguard Worker        "darwin/lib64/libc++abi.1.dylib",
167*344a7f5eSAndroid Build Coastguard Worker    ],
168*344a7f5eSAndroid Build Coastguard Worker    out: ["lld.zip"],
169*344a7f5eSAndroid Build Coastguard Worker}
170