blob: e287dabe742cb3665e1027e5b92d506222557425 [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",
103 "android/package_ctx.go",
104 "android/paths.go",
105 "android/util.go",
106 "android/variable.go",
Dan Willemsene8b1bc02016-05-12 19:03:10 -0700107
108 // Lock down environment access last
Colin Cross635c3b02016-05-18 15:37:25 -0700109 "android/env.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800110 ],
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700111 testSrcs: [
Colin Cross635c3b02016-05-18 15:37:25 -0700112 "android/paths_test.go",
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700113 ],
Colin Crossba442872015-03-14 14:26:32 -0700114}
Colin Cross3f40fa42015-01-30 17:27:36 -0800115
Colin Crossba442872015-03-14 14:26:32 -0700116bootstrap_go_package {
Colin Crossb98c8b02016-07-29 13:44:28 -0700117 name: "soong-cc-config",
118 pkgPath: "android/soong/cc/config",
119 deps: [
120 "soong-android",
121 ],
122 srcs: [
123 "cc/config/clang.go",
124 "cc/config/global.go",
125 "cc/config/toolchain.go",
126
127 "cc/config/arm_device.go",
128 "cc/config/arm64_device.go",
129 "cc/config/mips_device.go",
130 "cc/config/mips64_device.go",
131 "cc/config/x86_device.go",
132 "cc/config/x86_64_device.go",
133
134 "cc/config/x86_darwin_host.go",
135 "cc/config/x86_linux_host.go",
136 "cc/config/x86_windows_host.go",
137 ],
138}
139
140bootstrap_go_package {
Colin Crossba442872015-03-14 14:26:32 -0700141 name: "soong-cc",
142 pkgPath: "android/soong/cc",
143 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -0800144 "blueprint",
145 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700146 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700147 "soong-android",
Colin Crossb98c8b02016-07-29 13:44:28 -0700148 "soong-cc-config",
Colin Cross5049f022015-03-18 13:28:46 -0700149 "soong-genrule",
Colin Cross3f40fa42015-01-30 17:27:36 -0800150 ],
Colin Crossba442872015-03-14 14:26:32 -0700151 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700152 "cc/androidmk.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800153 "cc/builder.go",
154 "cc/cc.go",
Dan Willemsen20acc5c2016-05-25 14:47:21 -0700155 "cc/check.go",
Colin Cross581c1892015-04-07 16:50:10 -0700156 "cc/gen.go",
Dan Willemsen4b7d5de2016-01-12 23:20:28 -0800157 "cc/makevars.go",
Colin Cross16b23492016-01-06 14:41:07 -0800158 "cc/sanitize.go",
Colin Crossca860ac2016-01-04 14:34:37 -0800159 "cc/stl.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700160 "cc/strip.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800161 "cc/util.go",
162
Colin Cross4d9c2d12016-07-29 12:48:20 -0700163 "cc/compiler.go",
164 "cc/installer.go",
165 "cc/linker.go",
166
167 "cc/binary.go",
168 "cc/library.go",
169 "cc/object.go",
170 "cc/test.go",
Colin Crossb916a382016-07-29 17:28:03 -0700171 "cc/toolchain_library.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700172
173 "cc/ndk_prebuilt.go",
Dan Albert914449f2016-06-17 16:45:24 -0700174 "cc/ndk_headers.go",
175 "cc/ndk_library.go",
176 "cc/ndk_sysroot.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800177 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700178 testSrcs: [
179 "cc/cc_test.go",
180 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700181 pluginFor: ["soong_build"],
Colin Crossba442872015-03-14 14:26:32 -0700182}
Colin Cross3f40fa42015-01-30 17:27:36 -0800183
Colin Cross5049f022015-03-18 13:28:46 -0700184bootstrap_go_package {
185 name: "soong-genrule",
186 pkgPath: "android/soong/genrule",
187 deps: [
188 "blueprint",
189 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700190 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700191 "soong-android",
Colin Cross5049f022015-03-18 13:28:46 -0700192 ],
193 srcs: [
194 "genrule/genrule.go",
195 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700196 pluginFor: ["soong_build"],
Colin Cross5049f022015-03-18 13:28:46 -0700197}
Colin Cross2fe66872015-03-30 17:20:39 -0700198
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700199blueprint_go_binary {
Dan Willemsen3bf1a082016-08-03 00:35:25 -0700200 name: "zip2zip",
201 deps: ["android-archive-zip"],
202 srcs: [
203 "cmd/zip2zip/zip2zip.go",
204 ],
205}
206
207blueprint_go_binary {
Colin Cross2fe66872015-03-30 17:20:39 -0700208 name: "soong_jar",
Dan Willemsen017d8932016-08-04 15:43:03 -0700209 deps: ["android-archive-zip"],
Colin Cross2fe66872015-03-30 17:20:39 -0700210 srcs: [
211 "cmd/soong_jar/soong_jar.go",
Dan Willemsen017d8932016-08-04 15:43:03 -0700212 "cmd/soong_jar/rate_limit.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700213 ],
214}
215
216bootstrap_go_package {
217 name: "soong-java",
218 pkgPath: "android/soong/java",
219 deps: [
220 "blueprint",
221 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700222 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700223 "soong-android",
Colin Cross0607cf72015-04-28 13:28:51 -0700224 "soong-genrule",
Colin Cross2fe66872015-03-30 17:20:39 -0700225 ],
226 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700227 "java/androidmk.go",
Colin Cross30e076a2015-04-13 13:58:27 -0700228 "java/app_builder.go",
229 "java/app.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700230 "java/builder.go",
Colin Crossc0b06f12015-04-08 13:03:43 -0700231 "java/gen.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700232 "java/java.go",
233 "java/resources.go",
234 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700235 pluginFor: ["soong_build"],
Colin Cross2fe66872015-03-30 17:20:39 -0700236}
237
Colin Cross80031312015-03-14 14:28:22 -0700238//
239// androidmk Android.mk to Blueprints translator
240//
241
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700242blueprint_go_binary {
Colin Cross80031312015-03-14 14:28:22 -0700243 name: "androidmk",
244 srcs: [
245 "androidmk/cmd/androidmk/android.go",
246 "androidmk/cmd/androidmk/androidmk.go",
247 "androidmk/cmd/androidmk/values.go",
248 ],
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700249 testSrcs: [
Colin Crossa43f9b32016-06-07 15:34:59 -0700250 "androidmk/cmd/androidmk/androidmk_test.go",
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700251 ],
Colin Cross80031312015-03-14 14:28:22 -0700252 deps: [
253 "androidmk-parser",
254 "blueprint-parser",
255 ],
256}
257
258bootstrap_go_package {
259 name: "androidmk-parser",
260 pkgPath: "android/soong/androidmk/parser",
261 srcs: [
Colin Cross08693d22016-05-25 17:25:40 -0700262 "androidmk/parser/ast.go",
Colin Cross80031312015-03-14 14:28:22 -0700263 "androidmk/parser/make_strings.go",
Colin Cross80031312015-03-14 14:28:22 -0700264 "androidmk/parser/parser.go",
265 "androidmk/parser/scope.go",
266 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700267 testSrcs: [
268 "androidmk/parser/make_strings_test.go",
269 ],
Colin Cross80031312015-03-14 14:28:22 -0700270}
271
272//
273// C static libraries extracted from the gcc toolchain
274//
275
Colin Crossba442872015-03-14 14:26:32 -0700276toolchain_library {
277 name: "libatomic",
Dan Willemseneba363e2015-07-08 18:11:14 -0700278 arch: {
279 arm: {
280 instruction_set: "arm",
281 },
282 },
Colin Crossba442872015-03-14 14:26:32 -0700283}
Colin Cross3f40fa42015-01-30 17:27:36 -0800284
Colin Crossba442872015-03-14 14:26:32 -0700285toolchain_library {
286 name: "libgcc",
Dan Willemseneba363e2015-07-08 18:11:14 -0700287 arch: {
288 arm: {
289 instruction_set: "arm",
290 },
291 },
Colin Crossba442872015-03-14 14:26:32 -0700292}
Colin Cross3f40fa42015-01-30 17:27:36 -0800293
Colin Crossba442872015-03-14 14:26:32 -0700294toolchain_library {
295 name: "libgcov",
Dan Willemseneba363e2015-07-08 18:11:14 -0700296 arch: {
297 arm: {
298 instruction_set: "arm",
299 },
300 },
Colin Crossba442872015-03-14 14:26:32 -0700301}