xref: /aosp_15_r20/development/build/Android.bp (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Workerpackage {
2*90c8c64dSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*90c8c64dSAndroid Build Coastguard Worker}
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard Workerandroid_sdk_repo_host {
6*90c8c64dSAndroid Build Coastguard Worker    name: "build-tools",
7*90c8c64dSAndroid Build Coastguard Worker    product_variables: {
8*90c8c64dSAndroid Build Coastguard Worker        platform_version_name: {
9*90c8c64dSAndroid Build Coastguard Worker            base_dir: "android-%s",
10*90c8c64dSAndroid Build Coastguard Worker        },
11*90c8c64dSAndroid Build Coastguard Worker    },
12*90c8c64dSAndroid Build Coastguard Worker
13*90c8c64dSAndroid Build Coastguard Worker    srcs: [
14*90c8c64dSAndroid Build Coastguard Worker        ":build_tools_source_properties",
15*90c8c64dSAndroid Build Coastguard Worker        ":build_tools_runtime_properties",
16*90c8c64dSAndroid Build Coastguard Worker    ],
17*90c8c64dSAndroid Build Coastguard Worker
18*90c8c64dSAndroid Build Coastguard Worker    merge_zips: [
19*90c8c64dSAndroid Build Coastguard Worker        ":build-tools_renderscript_includes",
20*90c8c64dSAndroid Build Coastguard Worker        ":renderscript-clang-include",
21*90c8c64dSAndroid Build Coastguard Worker        ":renderscript_sdk_prebuilts",
22*90c8c64dSAndroid Build Coastguard Worker    ],
23*90c8c64dSAndroid Build Coastguard Worker
24*90c8c64dSAndroid Build Coastguard Worker    multilib: {
25*90c8c64dSAndroid Build Coastguard Worker        common: {
26*90c8c64dSAndroid Build Coastguard Worker            deps: [
27*90c8c64dSAndroid Build Coastguard Worker                "build-tools_core-lambda-stubs",
28*90c8c64dSAndroid Build Coastguard Worker            ],
29*90c8c64dSAndroid Build Coastguard Worker        },
30*90c8c64dSAndroid Build Coastguard Worker    },
31*90c8c64dSAndroid Build Coastguard Worker    deps_remap: [
32*90c8c64dSAndroid Build Coastguard Worker        {
33*90c8c64dSAndroid Build Coastguard Worker            from: "framework/build-tools_core-lambda-stubs.jar",
34*90c8c64dSAndroid Build Coastguard Worker            to: "core-lambda-stubs.jar",
35*90c8c64dSAndroid Build Coastguard Worker        },
36*90c8c64dSAndroid Build Coastguard Worker    ],
37*90c8c64dSAndroid Build Coastguard Worker
38*90c8c64dSAndroid Build Coastguard Worker    target: {
39*90c8c64dSAndroid Build Coastguard Worker        linux: {
40*90c8c64dSAndroid Build Coastguard Worker            merge_zips: [":build-tools-lld-linux"],
41*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
42*90c8c64dSAndroid Build Coastguard Worker                "lib64/*.so",
43*90c8c64dSAndroid Build Coastguard Worker                "lld-bin/lld",
44*90c8c64dSAndroid Build Coastguard Worker                "lib64/libc++.so.1",
45*90c8c64dSAndroid Build Coastguard Worker            ],
46*90c8c64dSAndroid Build Coastguard Worker        },
47*90c8c64dSAndroid Build Coastguard Worker        darwin: {
48*90c8c64dSAndroid Build Coastguard Worker            merge_zips: [":build-tools-lld-darwin"],
49*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
50*90c8c64dSAndroid Build Coastguard Worker                "lib64/*.dylib",
51*90c8c64dSAndroid Build Coastguard Worker                "lld-bin/lld",
52*90c8c64dSAndroid Build Coastguard Worker            ],
53*90c8c64dSAndroid Build Coastguard Worker        },
54*90c8c64dSAndroid Build Coastguard Worker        not_windows: {
55*90c8c64dSAndroid Build Coastguard Worker            deps: [
56*90c8c64dSAndroid Build Coastguard Worker                "aapt",
57*90c8c64dSAndroid Build Coastguard Worker                "aapt2",
58*90c8c64dSAndroid Build Coastguard Worker                "aidl",
59*90c8c64dSAndroid Build Coastguard Worker                "apksigner",
60*90c8c64dSAndroid Build Coastguard Worker                "bcc_compat",
61*90c8c64dSAndroid Build Coastguard Worker                "d8",
62*90c8c64dSAndroid Build Coastguard Worker                "dexdump",
63*90c8c64dSAndroid Build Coastguard Worker                "llvm-rs-cc",
64*90c8c64dSAndroid Build Coastguard Worker                "split-select",
65*90c8c64dSAndroid Build Coastguard Worker                "zipalign",
66*90c8c64dSAndroid Build Coastguard Worker            ],
67*90c8c64dSAndroid Build Coastguard Worker            deps_remap: [
68*90c8c64dSAndroid Build Coastguard Worker                {
69*90c8c64dSAndroid Build Coastguard Worker                    from: "bin/*",
70*90c8c64dSAndroid Build Coastguard Worker                    to: "./",
71*90c8c64dSAndroid Build Coastguard Worker                },
72*90c8c64dSAndroid Build Coastguard Worker                {
73*90c8c64dSAndroid Build Coastguard Worker                    from: "framework/*",
74*90c8c64dSAndroid Build Coastguard Worker                    to: "./lib/",
75*90c8c64dSAndroid Build Coastguard Worker                },
76*90c8c64dSAndroid Build Coastguard Worker            ],
77*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
78*90c8c64dSAndroid Build Coastguard Worker                "aapt",
79*90c8c64dSAndroid Build Coastguard Worker                "aapt2",
80*90c8c64dSAndroid Build Coastguard Worker                "aidl",
81*90c8c64dSAndroid Build Coastguard Worker                "bcc_compat",
82*90c8c64dSAndroid Build Coastguard Worker                "llvm-rs-cc",
83*90c8c64dSAndroid Build Coastguard Worker                "split-select",
84*90c8c64dSAndroid Build Coastguard Worker                "zipalign",
85*90c8c64dSAndroid Build Coastguard Worker            ],
86*90c8c64dSAndroid Build Coastguard Worker        },
87*90c8c64dSAndroid Build Coastguard Worker        windows: {
88*90c8c64dSAndroid Build Coastguard Worker            enabled: true,
89*90c8c64dSAndroid Build Coastguard Worker            merge_zips: [":build-tools-lld-windows"],
90*90c8c64dSAndroid Build Coastguard Worker
91*90c8c64dSAndroid Build Coastguard Worker            compile_multilib: "both",
92*90c8c64dSAndroid Build Coastguard Worker            multilib: {
93*90c8c64dSAndroid Build Coastguard Worker                lib32: {
94*90c8c64dSAndroid Build Coastguard Worker                    deps: [
95*90c8c64dSAndroid Build Coastguard Worker                        "aapt",
96*90c8c64dSAndroid Build Coastguard Worker                        "aidl",
97*90c8c64dSAndroid Build Coastguard Worker                        "apksigner",
98*90c8c64dSAndroid Build Coastguard Worker                        "bcc_compat",
99*90c8c64dSAndroid Build Coastguard Worker                        "d8",
100*90c8c64dSAndroid Build Coastguard Worker                        "dexdump",
101*90c8c64dSAndroid Build Coastguard Worker                        "libwinpthread-1",
102*90c8c64dSAndroid Build Coastguard Worker                        "lld",
103*90c8c64dSAndroid Build Coastguard Worker                        "llvm-rs-cc",
104*90c8c64dSAndroid Build Coastguard Worker                        "split-select",
105*90c8c64dSAndroid Build Coastguard Worker                        "zipalign",
106*90c8c64dSAndroid Build Coastguard Worker                    ],
107*90c8c64dSAndroid Build Coastguard Worker                },
108*90c8c64dSAndroid Build Coastguard Worker                lib64: {
109*90c8c64dSAndroid Build Coastguard Worker                    deps: [
110*90c8c64dSAndroid Build Coastguard Worker                        "aapt2",
111*90c8c64dSAndroid Build Coastguard Worker                        "libwinpthread-1",
112*90c8c64dSAndroid Build Coastguard Worker                    ],
113*90c8c64dSAndroid Build Coastguard Worker                },
114*90c8c64dSAndroid Build Coastguard Worker            },
115*90c8c64dSAndroid Build Coastguard Worker            deps_remap: [
116*90c8c64dSAndroid Build Coastguard Worker                {
117*90c8c64dSAndroid Build Coastguard Worker                    from: "bin/*",
118*90c8c64dSAndroid Build Coastguard Worker                    to: "./",
119*90c8c64dSAndroid Build Coastguard Worker                },
120*90c8c64dSAndroid Build Coastguard Worker                {
121*90c8c64dSAndroid Build Coastguard Worker                    from: "lib/*",
122*90c8c64dSAndroid Build Coastguard Worker                    to: "./",
123*90c8c64dSAndroid Build Coastguard Worker                },
124*90c8c64dSAndroid Build Coastguard Worker                {
125*90c8c64dSAndroid Build Coastguard Worker                    from: "framework/*",
126*90c8c64dSAndroid Build Coastguard Worker                    to: "./lib/",
127*90c8c64dSAndroid Build Coastguard Worker                },
128*90c8c64dSAndroid Build Coastguard Worker            ],
129*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
130*90c8c64dSAndroid Build Coastguard Worker                "*.dll",
131*90c8c64dSAndroid Build Coastguard Worker                "aapt.exe",
132*90c8c64dSAndroid Build Coastguard Worker                "aapt2.exe",
133*90c8c64dSAndroid Build Coastguard Worker                "aidl.exe",
134*90c8c64dSAndroid Build Coastguard Worker                "bcc_compat.exe",
135*90c8c64dSAndroid Build Coastguard Worker                "dexdump.exe",
136*90c8c64dSAndroid Build Coastguard Worker                "lib64/*.dll",
137*90c8c64dSAndroid Build Coastguard Worker                "lld-bin/*.dll",
138*90c8c64dSAndroid Build Coastguard Worker                "lld-bin/*.exe",
139*90c8c64dSAndroid Build Coastguard Worker                "lld.exe",
140*90c8c64dSAndroid Build Coastguard Worker                "llvm-rs-cc.exe",
141*90c8c64dSAndroid Build Coastguard Worker                "split-select.exe",
142*90c8c64dSAndroid Build Coastguard Worker                "zipalign.exe",
143*90c8c64dSAndroid Build Coastguard Worker            ],
144*90c8c64dSAndroid Build Coastguard Worker        },
145*90c8c64dSAndroid Build Coastguard Worker    },
146*90c8c64dSAndroid Build Coastguard Worker}
147*90c8c64dSAndroid Build Coastguard Worker
148*90c8c64dSAndroid Build Coastguard Worker// Rename rs_script_api files to renderscript/include/...
149*90c8c64dSAndroid Build Coastguard Workergenrule {
150*90c8c64dSAndroid Build Coastguard Worker    name: "build-tools_renderscript_includes",
151*90c8c64dSAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
152*90c8c64dSAndroid Build Coastguard Worker    tools: ["soong_zip"],
153*90c8c64dSAndroid Build Coastguard Worker    cmd: "echo $(in) >$(genDir)/list && " +
154*90c8c64dSAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -P renderscript " +
155*90c8c64dSAndroid Build Coastguard Worker        "-C $$(dirname $$(dirname $$(awk '{ print $$1 }' $(genDir)/list))) -l $(genDir)/list",
156*90c8c64dSAndroid Build Coastguard Worker    srcs: [":rs_script_api"],
157*90c8c64dSAndroid Build Coastguard Worker    out: ["rs_script_api.zip"],
158*90c8c64dSAndroid Build Coastguard Worker}
159*90c8c64dSAndroid Build Coastguard Worker
160*90c8c64dSAndroid Build Coastguard Worker// This is a device library, so it can't be used by android_sdk_repo_host directly.
161*90c8c64dSAndroid Build Coastguard Workerjava_device_for_host {
162*90c8c64dSAndroid Build Coastguard Worker    name: "build-tools_core-lambda-stubs-device",
163*90c8c64dSAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
164*90c8c64dSAndroid Build Coastguard Worker    // Use the prebuilt of the stubs irrespective of whether prebuilts are enabled
165*90c8c64dSAndroid Build Coastguard Worker    // in this build configuration. This ensures that this non-host specific library
166*90c8c64dSAndroid Build Coastguard Worker    // is treated consistently on all hosts.
167*90c8c64dSAndroid Build Coastguard Worker    libs: ["prebuilt_core-lambda-stubs"],
168*90c8c64dSAndroid Build Coastguard Worker    target: {
169*90c8c64dSAndroid Build Coastguard Worker        windows: {
170*90c8c64dSAndroid Build Coastguard Worker            enabled: true,
171*90c8c64dSAndroid Build Coastguard Worker        },
172*90c8c64dSAndroid Build Coastguard Worker    },
173*90c8c64dSAndroid Build Coastguard Worker}
174*90c8c64dSAndroid Build Coastguard Worker
175*90c8c64dSAndroid Build Coastguard Workerjava_library_host {
176*90c8c64dSAndroid Build Coastguard Worker    name: "build-tools_core-lambda-stubs",
177*90c8c64dSAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
178*90c8c64dSAndroid Build Coastguard Worker    installable: true,
179*90c8c64dSAndroid Build Coastguard Worker    static_libs: ["build-tools_core-lambda-stubs-device"],
180*90c8c64dSAndroid Build Coastguard Worker    target: {
181*90c8c64dSAndroid Build Coastguard Worker        windows: {
182*90c8c64dSAndroid Build Coastguard Worker            enabled: true,
183*90c8c64dSAndroid Build Coastguard Worker        },
184*90c8c64dSAndroid Build Coastguard Worker    },
185*90c8c64dSAndroid Build Coastguard Worker}
186*90c8c64dSAndroid Build Coastguard Worker
187*90c8c64dSAndroid Build Coastguard Workerandroid_sdk_repo_host {
188*90c8c64dSAndroid Build Coastguard Worker    name: "platform-tools",
189*90c8c64dSAndroid Build Coastguard Worker    base_dir: "platform-tools",
190*90c8c64dSAndroid Build Coastguard Worker
191*90c8c64dSAndroid Build Coastguard Worker    deps: [
192*90c8c64dSAndroid Build Coastguard Worker        "adb",
193*90c8c64dSAndroid Build Coastguard Worker        "etc1tool",
194*90c8c64dSAndroid Build Coastguard Worker        "fastboot",
195*90c8c64dSAndroid Build Coastguard Worker        "hprof-conv",
196*90c8c64dSAndroid Build Coastguard Worker        "make_f2fs",
197*90c8c64dSAndroid Build Coastguard Worker        "make_f2fs_casefold",
198*90c8c64dSAndroid Build Coastguard Worker        "mke2fs",
199*90c8c64dSAndroid Build Coastguard Worker        "sqlite3",
200*90c8c64dSAndroid Build Coastguard Worker    ],
201*90c8c64dSAndroid Build Coastguard Worker    deps_remap: [
202*90c8c64dSAndroid Build Coastguard Worker        {
203*90c8c64dSAndroid Build Coastguard Worker            from: "bin/*",
204*90c8c64dSAndroid Build Coastguard Worker            to: "./",
205*90c8c64dSAndroid Build Coastguard Worker        },
206*90c8c64dSAndroid Build Coastguard Worker    ],
207*90c8c64dSAndroid Build Coastguard Worker
208*90c8c64dSAndroid Build Coastguard Worker    srcs: [
209*90c8c64dSAndroid Build Coastguard Worker        ":mke2fs_conf",
210*90c8c64dSAndroid Build Coastguard Worker        ":platform_tools_properties",
211*90c8c64dSAndroid Build Coastguard Worker    ],
212*90c8c64dSAndroid Build Coastguard Worker
213*90c8c64dSAndroid Build Coastguard Worker    target: {
214*90c8c64dSAndroid Build Coastguard Worker        linux: {
215*90c8c64dSAndroid Build Coastguard Worker            strip_files: ["lib64/*.so"],
216*90c8c64dSAndroid Build Coastguard Worker        },
217*90c8c64dSAndroid Build Coastguard Worker        linux_bionic: {
218*90c8c64dSAndroid Build Coastguard Worker            enabled: false,
219*90c8c64dSAndroid Build Coastguard Worker        },
220*90c8c64dSAndroid Build Coastguard Worker        darwin: {
221*90c8c64dSAndroid Build Coastguard Worker            strip_files: ["lib64/*.dylib"],
222*90c8c64dSAndroid Build Coastguard Worker        },
223*90c8c64dSAndroid Build Coastguard Worker        not_windows: {
224*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
225*90c8c64dSAndroid Build Coastguard Worker                "adb",
226*90c8c64dSAndroid Build Coastguard Worker                "etc1tool",
227*90c8c64dSAndroid Build Coastguard Worker                "fastboot",
228*90c8c64dSAndroid Build Coastguard Worker                "hprof-conv",
229*90c8c64dSAndroid Build Coastguard Worker                "make_f2fs_casefold",
230*90c8c64dSAndroid Build Coastguard Worker                "make_f2fs",
231*90c8c64dSAndroid Build Coastguard Worker                "mke2fs",
232*90c8c64dSAndroid Build Coastguard Worker                "sqlite3",
233*90c8c64dSAndroid Build Coastguard Worker            ],
234*90c8c64dSAndroid Build Coastguard Worker        },
235*90c8c64dSAndroid Build Coastguard Worker        windows: {
236*90c8c64dSAndroid Build Coastguard Worker            enabled: true,
237*90c8c64dSAndroid Build Coastguard Worker            deps: [
238*90c8c64dSAndroid Build Coastguard Worker                "AdbWinUsbApi",
239*90c8c64dSAndroid Build Coastguard Worker                "AdbWinApi",
240*90c8c64dSAndroid Build Coastguard Worker                "libwinpthread-1",
241*90c8c64dSAndroid Build Coastguard Worker            ],
242*90c8c64dSAndroid Build Coastguard Worker            deps_remap: [
243*90c8c64dSAndroid Build Coastguard Worker                {
244*90c8c64dSAndroid Build Coastguard Worker                    from: "lib/*",
245*90c8c64dSAndroid Build Coastguard Worker                    to: "./",
246*90c8c64dSAndroid Build Coastguard Worker                },
247*90c8c64dSAndroid Build Coastguard Worker            ],
248*90c8c64dSAndroid Build Coastguard Worker            strip_files: [
249*90c8c64dSAndroid Build Coastguard Worker                "*.exe",
250*90c8c64dSAndroid Build Coastguard Worker            ],
251*90c8c64dSAndroid Build Coastguard Worker        },
252*90c8c64dSAndroid Build Coastguard Worker    },
253*90c8c64dSAndroid Build Coastguard Worker}
254