blob: bb9ab74c3a23c36f812bdbbf51f257ebbe92de74 [file] [log] [blame]
Colin Cross3f40fa42015-01-30 17:27:36 -08001//
2// WARNING: Modifying this file will NOT automatically regenerate build.ninja.in!
3//
4// Before modifying this file make sure minibp is up to date:
5// 1) "repo sync build/soong" to make sure you have the latest build.ninja.in
6// 2) build minibp, which builds automicatically through the normal build steps. For example:
7//
8// After modifying this file regenerate build.ninja.in and build your changes:
9// 1) In your build directory, execute "../bootstrap.bash -r" to regenerate build.ninja.in
10// 2) Build again
11//
12
Dan Willemsen3bf1a082016-08-03 00:35:25 -070013subdirs = ["third_party/zip"]
14
Colin Crossba442872015-03-14 14:26:32 -070015bootstrap_go_binary {
16 name: "soong_build",
17 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -080018 "blueprint",
19 "blueprint-bootstrap",
Colin Cross463a90e2015-06-17 14:20:06 -070020 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -070021 "soong-android",
Colin Cross68f55102015-03-25 14:43:57 -070022 "soong-env",
Colin Cross3f40fa42015-01-30 17:27:36 -080023 ],
Colin Crossba442872015-03-14 14:26:32 -070024 srcs: [
Colin Cross3f40fa42015-01-30 17:27:36 -080025 "cmd/soong_build/main.go",
26 ],
Colin Crossba442872015-03-14 14:26:32 -070027 primaryBuilder: true,
28}
Colin Cross3f40fa42015-01-30 17:27:36 -080029
Colin Crossba442872015-03-14 14:26:32 -070030bootstrap_go_binary {
Colin Cross68f55102015-03-25 14:43:57 -070031 name: "soong_env",
32 deps: [
33 "soong-env",
34 ],
35 srcs: [
36 "cmd/soong_env/soong_env.go",
37 ],
38}
39
40bootstrap_go_package {
41 name: "soong-env",
42 pkgPath: "android/soong/env",
43 srcs: [
44 "env/env.go",
45 ],
46}
47
48
Dan Willemsenc2aa4a92016-05-26 15:13:03 -070049blueprint_go_binary {
Colin Crossba442872015-03-14 14:26:32 -070050 name: "soong_glob",
51 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -080052 "soong-glob",
53 ],
Colin Crossba442872015-03-14 14:26:32 -070054 srcs: [
Colin Cross3f40fa42015-01-30 17:27:36 -080055 "cmd/soong_glob/soong_glob.go",
56 ],
Colin Crossba442872015-03-14 14:26:32 -070057}
Colin Cross3f40fa42015-01-30 17:27:36 -080058
Colin Crossba442872015-03-14 14:26:32 -070059bootstrap_go_package {
60 name: "soong-glob",
61 pkgPath: "android/soong/glob",
62 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -080063 "blueprint-deptools",
Colin Cross6f23ef62015-04-24 15:12:39 -070064 "blueprint-pathtools",
Colin Cross3f40fa42015-01-30 17:27:36 -080065 ],
Colin Crossba442872015-03-14 14:26:32 -070066 srcs: [
Colin Cross3f40fa42015-01-30 17:27:36 -080067 "glob/glob.go",
68 ],
Colin Crossba442872015-03-14 14:26:32 -070069}
Colin Cross3f40fa42015-01-30 17:27:36 -080070
Colin Crossba442872015-03-14 14:26:32 -070071bootstrap_go_package {
Colin Cross463a90e2015-06-17 14:20:06 -070072 name: "soong",
73 pkgPath: "android/soong",
74 deps: [
75 "blueprint",
76 ],
77 srcs: [
78 "doc.go",
79 "register.go",
80 ],
81}
82
83bootstrap_go_package {
Colin Cross635c3b02016-05-18 15:37:25 -070084 name: "soong-android",
85 pkgPath: "android/soong/android",
Colin Crossba442872015-03-14 14:26:32 -070086 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -080087 "blueprint",
88 "blueprint-bootstrap",
Colin Cross463a90e2015-06-17 14:20:06 -070089 "soong",
Colin Cross68f55102015-03-25 14:43:57 -070090 "soong-env",
Colin Crossba442872015-03-14 14:26:32 -070091 "soong-glob",
Colin Cross3f40fa42015-01-30 17:27:36 -080092 ],
Colin Crossba442872015-03-14 14:26:32 -070093 srcs: [
Colin Cross635c3b02016-05-18 15:37:25 -070094 "android/androidmk.go",
95 "android/arch.go",
96 "android/config.go",
97 "android/defaults.go",
98 "android/defs.go",
99 "android/glob.go",
100 "android/makevars.go",
101 "android/module.go",
102 "android/mutator.go",
Colin Cross9272ade2016-08-17 15:24:12 -0700103 "android/onceper.go",
Colin Cross635c3b02016-05-18 15:37:25 -0700104 "android/package_ctx.go",
105 "android/paths.go",
106 "android/util.go",
107 "android/variable.go",
Dan Willemsene8b1bc02016-05-12 19:03:10 -0700108
109 // Lock down environment access last
Colin Cross635c3b02016-05-18 15:37:25 -0700110 "android/env.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800111 ],
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700112 testSrcs: [
Colin Cross635c3b02016-05-18 15:37:25 -0700113 "android/paths_test.go",
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700114 ],
Colin Crossba442872015-03-14 14:26:32 -0700115}
Colin Cross3f40fa42015-01-30 17:27:36 -0800116
Colin Crossba442872015-03-14 14:26:32 -0700117bootstrap_go_package {
Colin Crossb98c8b02016-07-29 13:44:28 -0700118 name: "soong-cc-config",
119 pkgPath: "android/soong/cc/config",
120 deps: [
121 "soong-android",
122 ],
123 srcs: [
124 "cc/config/clang.go",
125 "cc/config/global.go",
126 "cc/config/toolchain.go",
127
128 "cc/config/arm_device.go",
129 "cc/config/arm64_device.go",
130 "cc/config/mips_device.go",
131 "cc/config/mips64_device.go",
132 "cc/config/x86_device.go",
133 "cc/config/x86_64_device.go",
134
135 "cc/config/x86_darwin_host.go",
136 "cc/config/x86_linux_host.go",
137 "cc/config/x86_windows_host.go",
138 ],
139}
140
141bootstrap_go_package {
Colin Crossba442872015-03-14 14:26:32 -0700142 name: "soong-cc",
143 pkgPath: "android/soong/cc",
144 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -0800145 "blueprint",
146 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700147 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700148 "soong-android",
Colin Crossb98c8b02016-07-29 13:44:28 -0700149 "soong-cc-config",
Colin Cross5049f022015-03-18 13:28:46 -0700150 "soong-genrule",
Colin Cross3f40fa42015-01-30 17:27:36 -0800151 ],
Colin Crossba442872015-03-14 14:26:32 -0700152 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700153 "cc/androidmk.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800154 "cc/builder.go",
155 "cc/cc.go",
Dan Willemsen20acc5c2016-05-25 14:47:21 -0700156 "cc/check.go",
Colin Cross581c1892015-04-07 16:50:10 -0700157 "cc/gen.go",
Dan Willemsen4b7d5de2016-01-12 23:20:28 -0800158 "cc/makevars.go",
Colin Cross16b23492016-01-06 14:41:07 -0800159 "cc/sanitize.go",
Colin Crossca860ac2016-01-04 14:34:37 -0800160 "cc/stl.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700161 "cc/strip.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800162 "cc/util.go",
163
Colin Cross4d9c2d12016-07-29 12:48:20 -0700164 "cc/compiler.go",
165 "cc/installer.go",
166 "cc/linker.go",
167
168 "cc/binary.go",
169 "cc/library.go",
170 "cc/object.go",
171 "cc/test.go",
Colin Crossb916a382016-07-29 17:28:03 -0700172 "cc/toolchain_library.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700173
174 "cc/ndk_prebuilt.go",
Dan Albert914449f2016-06-17 16:45:24 -0700175 "cc/ndk_headers.go",
176 "cc/ndk_library.go",
177 "cc/ndk_sysroot.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800178 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700179 testSrcs: [
180 "cc/cc_test.go",
181 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700182 pluginFor: ["soong_build"],
Colin Crossba442872015-03-14 14:26:32 -0700183}
Colin Cross3f40fa42015-01-30 17:27:36 -0800184
Colin Cross5049f022015-03-18 13:28:46 -0700185bootstrap_go_package {
186 name: "soong-genrule",
187 pkgPath: "android/soong/genrule",
188 deps: [
189 "blueprint",
190 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700191 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700192 "soong-android",
Colin Cross5049f022015-03-18 13:28:46 -0700193 ],
194 srcs: [
195 "genrule/genrule.go",
196 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700197 pluginFor: ["soong_build"],
Colin Cross5049f022015-03-18 13:28:46 -0700198}
Colin Cross2fe66872015-03-30 17:20:39 -0700199
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700200blueprint_go_binary {
Dan Willemsen3bf1a082016-08-03 00:35:25 -0700201 name: "zip2zip",
202 deps: ["android-archive-zip"],
203 srcs: [
204 "cmd/zip2zip/zip2zip.go",
205 ],
206}
207
208blueprint_go_binary {
Dan Willemsen47ec28f2016-08-10 16:12:30 -0700209 name: "soong_zip",
Dan Willemsen017d8932016-08-04 15:43:03 -0700210 deps: ["android-archive-zip"],
Colin Cross2fe66872015-03-30 17:20:39 -0700211 srcs: [
Dan Willemsen47ec28f2016-08-10 16:12:30 -0700212 "cmd/soong_zip/soong_zip.go",
213 "cmd/soong_zip/rate_limit.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700214 ],
215}
216
217bootstrap_go_package {
218 name: "soong-java",
219 pkgPath: "android/soong/java",
220 deps: [
221 "blueprint",
222 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700223 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700224 "soong-android",
Colin Cross0607cf72015-04-28 13:28:51 -0700225 "soong-genrule",
Colin Cross2fe66872015-03-30 17:20:39 -0700226 ],
227 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700228 "java/androidmk.go",
Colin Cross30e076a2015-04-13 13:58:27 -0700229 "java/app_builder.go",
230 "java/app.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700231 "java/builder.go",
Colin Crossc0b06f12015-04-08 13:03:43 -0700232 "java/gen.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700233 "java/java.go",
234 "java/resources.go",
235 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700236 pluginFor: ["soong_build"],
Colin Cross2fe66872015-03-30 17:20:39 -0700237}
238
Colin Cross80031312015-03-14 14:28:22 -0700239//
240// androidmk Android.mk to Blueprints translator
241//
242
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700243blueprint_go_binary {
Colin Cross80031312015-03-14 14:28:22 -0700244 name: "androidmk",
245 srcs: [
246 "androidmk/cmd/androidmk/android.go",
247 "androidmk/cmd/androidmk/androidmk.go",
248 "androidmk/cmd/androidmk/values.go",
249 ],
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700250 testSrcs: [
Colin Crossa43f9b32016-06-07 15:34:59 -0700251 "androidmk/cmd/androidmk/androidmk_test.go",
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700252 ],
Colin Cross80031312015-03-14 14:28:22 -0700253 deps: [
254 "androidmk-parser",
255 "blueprint-parser",
256 ],
257}
258
259bootstrap_go_package {
260 name: "androidmk-parser",
261 pkgPath: "android/soong/androidmk/parser",
262 srcs: [
Colin Cross08693d22016-05-25 17:25:40 -0700263 "androidmk/parser/ast.go",
Colin Cross80031312015-03-14 14:28:22 -0700264 "androidmk/parser/make_strings.go",
Colin Cross80031312015-03-14 14:28:22 -0700265 "androidmk/parser/parser.go",
266 "androidmk/parser/scope.go",
267 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700268 testSrcs: [
269 "androidmk/parser/make_strings_test.go",
270 ],
Colin Cross80031312015-03-14 14:28:22 -0700271}
272
273//
274// C static libraries extracted from the gcc toolchain
275//
276
Colin Crossba442872015-03-14 14:26:32 -0700277toolchain_library {
278 name: "libatomic",
Dan Willemseneba363e2015-07-08 18:11:14 -0700279 arch: {
280 arm: {
281 instruction_set: "arm",
282 },
283 },
Colin Crossba442872015-03-14 14:26:32 -0700284}
Colin Cross3f40fa42015-01-30 17:27:36 -0800285
Colin Crossba442872015-03-14 14:26:32 -0700286toolchain_library {
287 name: "libgcc",
Dan Willemseneba363e2015-07-08 18:11:14 -0700288 arch: {
289 arm: {
290 instruction_set: "arm",
291 },
292 },
Colin Crossba442872015-03-14 14:26:32 -0700293}
Colin Cross3f40fa42015-01-30 17:27:36 -0800294
Colin Crossba442872015-03-14 14:26:32 -0700295toolchain_library {
296 name: "libgcov",
Dan Willemseneba363e2015-07-08 18:11:14 -0700297 arch: {
298 arm: {
299 instruction_set: "arm",
300 },
301 },
Colin Crossba442872015-03-14 14:26:32 -0700302}