blob: ccab727a279321ef66ee5a60d9b1fb76c273b448 [file] [log] [blame]
Dan Willemsen377737a2016-08-15 15:02:23 -07001subdirs = [
2 "androidmk",
Jeff Gastonaff66e52017-06-19 15:39:54 -07003 "bpfix",
Dan Willemsen377737a2016-08-15 15:02:23 -07004 "cmd/*",
Jeff Gastonf1fd45e2017-08-09 18:25:28 -07005 "fs",
6 "finder",
Jeff Gaston01547b22017-08-21 20:13:28 -07007 "jar",
Jeff Gaston11b5c512017-10-12 12:19:14 -07008 "zip",
Dan Willemsen377737a2016-08-15 15:02:23 -07009 "third_party/zip",
Dan Willemsen1e704462016-08-21 15:17:17 -070010 "ui/*",
Dan Willemsen377737a2016-08-15 15:02:23 -070011]
Colin Cross68f55102015-03-25 14:43:57 -070012
13bootstrap_go_package {
14 name: "soong-env",
15 pkgPath: "android/soong/env",
16 srcs: [
17 "env/env.go",
18 ],
19}
20
Colin Crossba442872015-03-14 14:26:32 -070021bootstrap_go_package {
Colin Cross463a90e2015-06-17 14:20:06 -070022 name: "soong",
23 pkgPath: "android/soong",
24 deps: [
25 "blueprint",
26 ],
27 srcs: [
28 "doc.go",
Colin Cross463a90e2015-06-17 14:20:06 -070029 ],
30}
31
32bootstrap_go_package {
Colin Cross635c3b02016-05-18 15:37:25 -070033 name: "soong-android",
34 pkgPath: "android/soong/android",
Colin Crossba442872015-03-14 14:26:32 -070035 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -080036 "blueprint",
37 "blueprint-bootstrap",
Colin Cross463a90e2015-06-17 14:20:06 -070038 "soong",
Colin Cross68f55102015-03-25 14:43:57 -070039 "soong-env",
Colin Cross3f40fa42015-01-30 17:27:36 -080040 ],
Colin Crossba442872015-03-14 14:26:32 -070041 srcs: [
Colin Cross635c3b02016-05-18 15:37:25 -070042 "android/androidmk.go",
Dan Albert30c9d6e2017-03-28 14:54:55 -070043 "android/api_levels.go",
Colin Cross635c3b02016-05-18 15:37:25 -070044 "android/arch.go",
45 "android/config.go",
46 "android/defaults.go",
47 "android/defs.go",
Colin Cross6bde0942016-11-04 14:36:38 -070048 "android/expand.go",
Pirama Arumuga Nainar955dc492018-04-17 14:58:42 -070049 "android/filegroup.go",
Colin Cross178a5092016-09-13 13:42:32 -070050 "android/hooks.go",
Colin Cross635c3b02016-05-18 15:37:25 -070051 "android/makevars.go",
52 "android/module.go",
53 "android/mutator.go",
Jeff Gaston088e29e2017-11-29 16:47:17 -080054 "android/namespace.go",
Steven Moreland65b3fd92017-12-06 14:18:35 -080055 "android/neverallow.go",
Colin Cross9272ade2016-08-17 15:24:12 -070056 "android/onceper.go",
Colin Cross635c3b02016-05-18 15:37:25 -070057 "android/package_ctx.go",
58 "android/paths.go",
Colin Crossce75d2c2016-10-06 16:12:58 -070059 "android/prebuilt.go",
Jiyong Parkc678ad32018-04-10 13:07:10 +090060 "android/prebuilt_etc.go",
Colin Cross38f794e2017-09-07 10:53:07 -070061 "android/proto.go",
Colin Cross798bfce2016-10-12 14:28:16 -070062 "android/register.go",
Colin Cross0875c522017-11-28 17:34:01 -080063 "android/singleton.go",
Colin Crosscec81712017-07-13 14:43:27 -070064 "android/testing.go",
Colin Cross635c3b02016-05-18 15:37:25 -070065 "android/util.go",
66 "android/variable.go",
Colin Crosse87040b2017-12-11 15:52:26 -080067 "android/writedocs.go",
Dan Willemsene8b1bc02016-05-12 19:03:10 -070068
69 // Lock down environment access last
Colin Cross635c3b02016-05-18 15:37:25 -070070 "android/env.go",
Colin Cross3f40fa42015-01-30 17:27:36 -080071 ],
Dan Willemsen34cc69e2015-09-23 15:26:20 -070072 testSrcs: [
Jeff Gastonf5f6e492017-11-20 14:31:11 -080073 "android/config_test.go",
Colin Cross6bde0942016-11-04 14:36:38 -070074 "android/expand_test.go",
Jeff Gaston088e29e2017-11-29 16:47:17 -080075 "android/namespace_test.go",
Logan Chienee97c3e2018-03-12 16:34:26 +080076 "android/neverallow_test.go",
Colin Cross635c3b02016-05-18 15:37:25 -070077 "android/paths_test.go",
Colin Cross0d614dd2016-10-14 15:38:43 -070078 "android/prebuilt_test.go",
Colin Crossb6715442017-10-24 11:13:31 -070079 "android/util_test.go",
Colin Cross7e0eaf12017-05-05 16:16:24 -070080 "android/variable_test.go",
Dan Willemsen34cc69e2015-09-23 15:26:20 -070081 ],
Colin Crossba442872015-03-14 14:26:32 -070082}
Colin Cross3f40fa42015-01-30 17:27:36 -080083
Colin Crossba442872015-03-14 14:26:32 -070084bootstrap_go_package {
Colin Crossb98c8b02016-07-29 13:44:28 -070085 name: "soong-cc-config",
86 pkgPath: "android/soong/cc/config",
87 deps: [
88 "soong-android",
89 ],
90 srcs: [
91 "cc/config/clang.go",
92 "cc/config/global.go",
Dan Willemsena03cf6d2016-09-26 15:45:04 -070093 "cc/config/tidy.go",
Colin Crossb98c8b02016-07-29 13:44:28 -070094 "cc/config/toolchain.go",
95
96 "cc/config/arm_device.go",
97 "cc/config/arm64_device.go",
98 "cc/config/mips_device.go",
99 "cc/config/mips64_device.go",
100 "cc/config/x86_device.go",
101 "cc/config/x86_64_device.go",
102
103 "cc/config/x86_darwin_host.go",
104 "cc/config/x86_linux_host.go",
Dan Willemsen01a405a2016-06-13 17:19:03 -0700105 "cc/config/x86_linux_bionic_host.go",
Colin Crossb98c8b02016-07-29 13:44:28 -0700106 "cc/config/x86_windows_host.go",
107 ],
Dan Willemsena03cf6d2016-09-26 15:45:04 -0700108 testSrcs: [
109 "cc/config/tidy_test.go",
110 ],
Colin Crossb98c8b02016-07-29 13:44:28 -0700111}
112
113bootstrap_go_package {
Colin Crossba442872015-03-14 14:26:32 -0700114 name: "soong-cc",
115 pkgPath: "android/soong/cc",
116 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -0800117 "blueprint",
118 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700119 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700120 "soong-android",
Colin Crossb98c8b02016-07-29 13:44:28 -0700121 "soong-cc-config",
Colin Cross5049f022015-03-18 13:28:46 -0700122 "soong-genrule",
Colin Cross303e21f2018-08-07 16:49:25 -0700123 "soong-tradefed",
Colin Cross3f40fa42015-01-30 17:27:36 -0800124 ],
Colin Crossba442872015-03-14 14:26:32 -0700125 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700126 "cc/androidmk.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800127 "cc/builder.go",
128 "cc/cc.go",
Dan Willemsen20acc5c2016-05-25 14:47:21 -0700129 "cc/check.go",
Dan Willemsen581341d2017-02-09 16:16:31 -0800130 "cc/coverage.go",
Colin Cross581c1892015-04-07 16:50:10 -0700131 "cc/gen.go",
Stephen Craneba090d12017-05-09 15:44:35 -0700132 "cc/lto.go",
Dan Willemsen4b7d5de2016-01-12 23:20:28 -0800133 "cc/makevars.go",
Pirama Arumuga Nainarada83ec2017-08-31 23:38:27 -0700134 "cc/pgo.go",
Colin Crossce75d2c2016-10-06 16:12:58 -0700135 "cc/prebuilt.go",
Colin Cross0c461f12016-10-20 16:11:43 -0700136 "cc/proto.go",
Colin Cross2a252be2017-05-01 17:37:24 -0700137 "cc/rs.go",
Colin Cross16b23492016-01-06 14:41:07 -0800138 "cc/sanitize.go",
Jayant Chowdhary3e231fd2017-02-08 13:45:53 -0800139 "cc/sabi.go",
Colin Crossca860ac2016-01-04 14:34:37 -0800140 "cc/stl.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700141 "cc/strip.go",
Dan Willemsena03cf6d2016-09-26 15:45:04 -0700142 "cc/tidy.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800143 "cc/util.go",
Justin Yun8effde42017-06-23 19:24:43 +0900144 "cc/vndk.go",
Justin Yun71549282017-11-17 12:10:28 +0900145 "cc/vndk_prebuilt.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800146
Fabien Sanglardd61f1f42017-01-10 16:21:22 -0800147 "cc/cmakelists.go",
Alex Lightec868fc2018-04-17 16:50:48 -0700148 "cc/compdb.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700149 "cc/compiler.go",
150 "cc/installer.go",
151 "cc/linker.go",
152
153 "cc/binary.go",
154 "cc/library.go",
155 "cc/object.go",
156 "cc/test.go",
Colin Crossb916a382016-07-29 17:28:03 -0700157 "cc/toolchain_library.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700158
159 "cc/ndk_prebuilt.go",
Dan Albert914449f2016-06-17 16:45:24 -0700160 "cc/ndk_headers.go",
161 "cc/ndk_library.go",
162 "cc/ndk_sysroot.go",
Dan Willemsenb916b802017-03-19 13:44:32 -0700163
164 "cc/llndk_library.go",
Jiyong Parkd773eb32017-07-03 13:18:12 +0900165
166 "cc/kernel_headers.go",
Dan Willemsen3e5bdf22017-09-13 18:37:08 -0700167
168 "cc/genrule.go",
Jiyong Park374510b2018-03-19 18:23:01 +0900169
170 "cc/vendor_public_library.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800171 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700172 testSrcs: [
173 "cc/cc_test.go",
Colin Crossf18e1102017-11-16 14:33:08 -0800174 "cc/gen_test.go",
Colin Crossad59e752017-11-16 14:29:11 -0800175 "cc/library_test.go",
Colin Crossfaeb7aa2017-02-01 14:12:44 -0800176 "cc/test_data_test.go",
Logan Chien031d2b32018-07-26 00:19:50 +0800177 "cc/util_test.go",
Dan Willemsene5e20332015-06-23 19:46:20 -0700178 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700179 pluginFor: ["soong_build"],
Colin Crossba442872015-03-14 14:26:32 -0700180}
Colin Cross3f40fa42015-01-30 17:27:36 -0800181
Colin Cross5049f022015-03-18 13:28:46 -0700182bootstrap_go_package {
183 name: "soong-genrule",
184 pkgPath: "android/soong/genrule",
185 deps: [
186 "blueprint",
187 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700188 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700189 "soong-android",
Jeff Gastonefc1b412017-03-29 17:29:06 -0700190 "soong-shared",
Colin Cross5049f022015-03-18 13:28:46 -0700191 ],
192 srcs: [
193 "genrule/genrule.go",
194 ],
Colin Cross2a076922018-10-04 23:28:25 -0700195 testSrcs: [
196 "genrule/genrule_test.go",
197 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700198 pluginFor: ["soong_build"],
Colin Cross5049f022015-03-18 13:28:46 -0700199}
Colin Cross2fe66872015-03-30 17:20:39 -0700200
Colin Cross2fe66872015-03-30 17:20:39 -0700201bootstrap_go_package {
Nan Zhang6d34b302017-02-04 17:47:46 -0800202 name: "soong-phony",
203 pkgPath: "android/soong/phony",
204 deps: [
205 "blueprint",
206 "soong-android",
207 ],
208 srcs: [
209 "phony/phony.go",
210 ],
211 pluginFor: ["soong_build"],
212}
213
214bootstrap_go_package {
Colin Cross2fe66872015-03-30 17:20:39 -0700215 name: "soong-java",
216 pkgPath: "android/soong/java",
217 deps: [
218 "blueprint",
219 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700220 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700221 "soong-android",
Colin Cross0607cf72015-04-28 13:28:51 -0700222 "soong-genrule",
Colin Cross3e3e72d2017-06-22 17:20:19 -0700223 "soong-java-config",
Colin Cross303e21f2018-08-07 16:49:25 -0700224 "soong-tradefed",
Colin Cross2fe66872015-03-30 17:20:39 -0700225 ],
226 srcs: [
Colin Cross3bc7ffa2017-11-22 16:19:37 -0800227 "java/aapt2.go",
Colin Crossfabb6082018-02-20 17:22:23 -0800228 "java/aar.go",
Colin Cross31656952018-05-24 16:11:20 -0700229 "java/android_manifest.go",
Colin Crossa97c5d32018-03-28 14:58:31 -0700230 "java/android_resources.go",
Dan Willemsen218f6562015-07-08 18:13:11 -0700231 "java/androidmk.go",
Colin Cross30e076a2015-04-13 13:58:27 -0700232 "java/app_builder.go",
233 "java/app.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700234 "java/builder.go",
Colin Crossf0056cb2017-12-22 15:56:08 -0800235 "java/dex.go",
Nan Zhang581fd212018-01-10 16:06:12 -0800236 "java/droiddoc.go",
Colin Crossc0b06f12015-04-08 13:03:43 -0700237 "java/gen.go",
Colin Cross54250902017-12-05 09:28:08 -0800238 "java/genrule.go",
Colin Crosscb933592017-11-22 13:49:43 -0800239 "java/jacoco.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700240 "java/java.go",
Brandon Lee5d45c6f2018-08-15 15:35:38 -0700241 "java/jdeps.go",
Colin Crossa97c5d32018-03-28 14:58:31 -0700242 "java/java_resources.go",
Jiyong Park58c518b2018-05-12 22:29:12 +0900243 "java/prebuilt_apis.go",
Colin Cross6af17aa2017-09-20 12:59:05 -0700244 "java/proto.go",
Jiyong Parkc678ad32018-04-10 13:07:10 +0900245 "java/sdk_library.go",
Colin Crossb2559a02018-04-19 15:26:10 -0700246 "java/support_libraries.go",
Colin Cross1369cdb2017-09-29 17:58:17 -0700247 "java/system_modules.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700248 ],
Colin Cross72bb3632017-07-13 16:23:21 -0700249 testSrcs: [
Colin Cross44f06682017-11-29 00:17:36 -0800250 "java/app_test.go",
Colin Cross72bb3632017-07-13 16:23:21 -0700251 "java/java_test.go",
Brandon Lee5d45c6f2018-08-15 15:35:38 -0700252 "java/jdeps_test.go",
Colin Cross72bb3632017-07-13 16:23:21 -0700253 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700254 pluginFor: ["soong_build"],
Colin Cross2fe66872015-03-30 17:20:39 -0700255}
256
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800257bootstrap_go_package {
Colin Cross3e3e72d2017-06-22 17:20:19 -0700258 name: "soong-java-config",
259 pkgPath: "android/soong/java/config",
260 deps: [
261 "blueprint-proptools",
262 "soong-android",
263 ],
264 srcs: [
265 "java/config/config.go",
Colin Crossfee57cb2017-09-05 13:16:45 -0700266 "java/config/error_prone.go",
Colin Cross93e85952017-08-15 13:34:18 -0700267 "java/config/kotlin.go",
Colin Cross3e3e72d2017-06-22 17:20:19 -0700268 "java/config/makevars.go",
269 ],
270}
271
272bootstrap_go_package {
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800273 name: "soong-python",
274 pkgPath: "android/soong/python",
275 deps: [
276 "blueprint",
277 "soong-android",
278 ],
279 srcs: [
Nan Zhang5323f8e2017-05-10 13:37:54 -0700280 "python/androidmk.go",
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800281 "python/binary.go",
282 "python/builder.go",
Nan Zhanga3fc4ba2017-07-20 17:43:37 -0700283 "python/defaults.go",
Nan Zhang5323f8e2017-05-10 13:37:54 -0700284 "python/installer.go",
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800285 "python/library.go",
Nan Zhangb8fa1972017-12-22 16:12:00 -0800286 "python/proto.go",
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800287 "python/python.go",
Nan Zhang5323f8e2017-05-10 13:37:54 -0700288 "python/test.go",
Nan Zhangdb0b9a32017-02-27 10:12:13 -0800289 ],
290 testSrcs: [
291 "python/python_test.go",
292 ],
293 pluginFor: ["soong_build"],
294}
295
Jeff Gastonefc1b412017-03-29 17:29:06 -0700296bootstrap_go_package {
297 name: "soong-shared",
298 pkgPath: "android/soong/shared",
299 srcs: [
300 "shared/paths.go",
301 ],
302}
303
Jiyong Park5a8d1be2018-04-25 22:57:34 +0900304bootstrap_go_package {
Colin Cross303e21f2018-08-07 16:49:25 -0700305 name: "soong-tradefed",
306 pkgPath: "android/soong/tradefed",
307 deps: [
308 "blueprint",
309 "soong-android",
310 ],
311 srcs: [
312 "tradefed/autogen.go",
313 "tradefed/config.go",
314 "tradefed/makevars.go",
315 ],
316 pluginFor: ["soong_build"],
317}
318
319bootstrap_go_package {
Jiyong Park5a8d1be2018-04-25 22:57:34 +0900320 name: "soong-xml",
321 pkgPath: "android/soong/xml",
322 deps: [
323 "blueprint",
324 "blueprint-pathtools",
325 "soong",
326 "soong-android",
327 ],
328 srcs: [
329 "xml/xml.go",
330 ],
331 testSrcs: [
332 "xml/xml_test.go",
333 ],
334 pluginFor: ["soong_build"],
335}
336
Colin Cross80031312015-03-14 14:28:22 -0700337//
Dan Willemsen00fcbde2016-11-17 00:25:59 -0800338// Defaults to enable various configurations of host bionic
339//
340
341cc_defaults {
342 name: "linux_bionic_supported",
343 host_supported: true,
344 target: {
345 host: {
346 enabled: false,
347 },
348 linux_bionic: {
349 enabled: true,
350 },
351 },
352}
353
354//
Colin Cross80031312015-03-14 14:28:22 -0700355// C static libraries extracted from the gcc toolchain
356//
357
Colin Crossba442872015-03-14 14:26:32 -0700358toolchain_library {
359 name: "libatomic",
Dan Willemsen2e47b342016-11-17 01:02:25 -0800360 defaults: ["linux_bionic_supported"],
Dan Willemsen4416e5d2017-04-06 12:43:22 -0700361 vendor_available: true,
Jiyong Parkf9332f12018-02-01 00:54:12 +0900362 recovery_available: true,
Dan Willemseneba363e2015-07-08 18:11:14 -0700363 arch: {
364 arm: {
365 instruction_set: "arm",
366 },
367 },
Colin Crossba442872015-03-14 14:26:32 -0700368}
Colin Cross3f40fa42015-01-30 17:27:36 -0800369
Colin Crossba442872015-03-14 14:26:32 -0700370toolchain_library {
371 name: "libgcc",
Dan Willemsen2e47b342016-11-17 01:02:25 -0800372 defaults: ["linux_bionic_supported"],
Dan Willemsen4416e5d2017-04-06 12:43:22 -0700373 vendor_available: true,
Jiyong Parkf9332f12018-02-01 00:54:12 +0900374 recovery_available: true,
Dan Willemseneba363e2015-07-08 18:11:14 -0700375 arch: {
376 arm: {
377 instruction_set: "arm",
378 },
379 },
Colin Crossba442872015-03-14 14:26:32 -0700380}
Colin Cross3f40fa42015-01-30 17:27:36 -0800381
Colin Crossba442872015-03-14 14:26:32 -0700382toolchain_library {
Josh Gao7bd4c5c2017-02-23 17:52:24 -0800383 name: "libwinpthread",
384 host_supported: true,
385 enabled: false,
386 target: {
387 windows: {
Dan Willemsenc77a0b32017-09-18 23:19:12 -0700388 enabled: true,
Josh Gao7bd4c5c2017-02-23 17:52:24 -0800389 },
390 },
391}
392
393toolchain_library {
Colin Crossba442872015-03-14 14:26:32 -0700394 name: "libgcov",
Dan Willemsen2e47b342016-11-17 01:02:25 -0800395 defaults: ["linux_bionic_supported"],
Dan Willemseneba363e2015-07-08 18:11:14 -0700396 arch: {
397 arm: {
398 instruction_set: "arm",
399 },
400 },
Colin Crossba442872015-03-14 14:26:32 -0700401}
Jiyong Parkd773eb32017-07-03 13:18:12 +0900402
403kernel_headers {
404 name: "device_kernel_headers",
405 vendor: true,
406}
Dan Willemsenc77a0b32017-09-18 23:19:12 -0700407
408cc_genrule {
409 name: "host_bionic_linker_asm",
410 host_supported: true,
411 device_supported: false,
412 target: {
413 linux_bionic: {
414 enabled: true,
415 },
Dan Willemsen9d6c6722017-10-02 10:41:07 -0700416 linux_glibc: {
Dan Willemsenc77a0b32017-09-18 23:19:12 -0700417 enabled: false,
418 },
419 darwin: {
420 enabled: false,
421 },
422 },
423 tools: ["extract_linker"],
424 cmd: "$(location) -s $(out) $(in)",
425 srcs: [":linker"],
426 out: ["linker.s"],
427}
428
429cc_genrule {
430 name: "host_bionic_linker_script",
431 host_supported: true,
432 device_supported: false,
433 target: {
434 linux_bionic: {
435 enabled: true,
436 },
Dan Willemsen9d6c6722017-10-02 10:41:07 -0700437 linux_glibc: {
Dan Willemsenc77a0b32017-09-18 23:19:12 -0700438 enabled: false,
439 },
440 darwin: {
441 enabled: false,
442 },
443 },
444 tools: ["extract_linker"],
445 cmd: "$(location) -T $(out) $(in)",
446 srcs: [":linker"],
447 out: ["linker.script"],
448}