blob: 355dfd2e25575aac0fd8d111921577d95a1e3e88 [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",
Colin Crossa120ec12016-08-19 16:07:38 -070097 "android/customizer.go",
Colin Cross635c3b02016-05-18 15:37:25 -070098 "android/defaults.go",
99 "android/defs.go",
100 "android/glob.go",
101 "android/makevars.go",
102 "android/module.go",
103 "android/mutator.go",
Colin Cross9272ade2016-08-17 15:24:12 -0700104 "android/onceper.go",
Colin Cross635c3b02016-05-18 15:37:25 -0700105 "android/package_ctx.go",
106 "android/paths.go",
107 "android/util.go",
108 "android/variable.go",
Dan Willemsene8b1bc02016-05-12 19:03:10 -0700109
110 // Lock down environment access last
Colin Cross635c3b02016-05-18 15:37:25 -0700111 "android/env.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800112 ],
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700113 testSrcs: [
Colin Cross635c3b02016-05-18 15:37:25 -0700114 "android/paths_test.go",
Dan Willemsen34cc69e2015-09-23 15:26:20 -0700115 ],
Colin Crossba442872015-03-14 14:26:32 -0700116}
Colin Cross3f40fa42015-01-30 17:27:36 -0800117
Colin Crossba442872015-03-14 14:26:32 -0700118bootstrap_go_package {
Colin Crossb98c8b02016-07-29 13:44:28 -0700119 name: "soong-cc-config",
120 pkgPath: "android/soong/cc/config",
121 deps: [
122 "soong-android",
123 ],
124 srcs: [
125 "cc/config/clang.go",
126 "cc/config/global.go",
127 "cc/config/toolchain.go",
128
129 "cc/config/arm_device.go",
130 "cc/config/arm64_device.go",
131 "cc/config/mips_device.go",
132 "cc/config/mips64_device.go",
133 "cc/config/x86_device.go",
134 "cc/config/x86_64_device.go",
135
136 "cc/config/x86_darwin_host.go",
137 "cc/config/x86_linux_host.go",
138 "cc/config/x86_windows_host.go",
139 ],
140}
141
142bootstrap_go_package {
Colin Crossba442872015-03-14 14:26:32 -0700143 name: "soong-cc",
144 pkgPath: "android/soong/cc",
145 deps: [
Colin Cross3f40fa42015-01-30 17:27:36 -0800146 "blueprint",
147 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700148 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700149 "soong-android",
Colin Crossb98c8b02016-07-29 13:44:28 -0700150 "soong-cc-config",
Colin Cross5049f022015-03-18 13:28:46 -0700151 "soong-genrule",
Colin Cross3f40fa42015-01-30 17:27:36 -0800152 ],
Colin Crossba442872015-03-14 14:26:32 -0700153 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700154 "cc/androidmk.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800155 "cc/builder.go",
156 "cc/cc.go",
Dan Willemsen20acc5c2016-05-25 14:47:21 -0700157 "cc/check.go",
Colin Cross581c1892015-04-07 16:50:10 -0700158 "cc/gen.go",
Dan Willemsen4b7d5de2016-01-12 23:20:28 -0800159 "cc/makevars.go",
Colin Cross16b23492016-01-06 14:41:07 -0800160 "cc/sanitize.go",
Colin Crossca860ac2016-01-04 14:34:37 -0800161 "cc/stl.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700162 "cc/strip.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800163 "cc/util.go",
164
Colin Cross4d9c2d12016-07-29 12:48:20 -0700165 "cc/compiler.go",
166 "cc/installer.go",
167 "cc/linker.go",
168
169 "cc/binary.go",
170 "cc/library.go",
171 "cc/object.go",
172 "cc/test.go",
Colin Crossb916a382016-07-29 17:28:03 -0700173 "cc/toolchain_library.go",
Colin Cross4d9c2d12016-07-29 12:48:20 -0700174
175 "cc/ndk_prebuilt.go",
Dan Albert914449f2016-06-17 16:45:24 -0700176 "cc/ndk_headers.go",
177 "cc/ndk_library.go",
178 "cc/ndk_sysroot.go",
Colin Cross3f40fa42015-01-30 17:27:36 -0800179 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700180 testSrcs: [
181 "cc/cc_test.go",
182 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700183 pluginFor: ["soong_build"],
Colin Crossba442872015-03-14 14:26:32 -0700184}
Colin Cross3f40fa42015-01-30 17:27:36 -0800185
Colin Cross5049f022015-03-18 13:28:46 -0700186bootstrap_go_package {
187 name: "soong-genrule",
188 pkgPath: "android/soong/genrule",
189 deps: [
190 "blueprint",
191 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700192 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700193 "soong-android",
Colin Cross5049f022015-03-18 13:28:46 -0700194 ],
195 srcs: [
196 "genrule/genrule.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
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700201blueprint_go_binary {
Dan Willemsen3bf1a082016-08-03 00:35:25 -0700202 name: "zip2zip",
203 deps: ["android-archive-zip"],
204 srcs: [
205 "cmd/zip2zip/zip2zip.go",
206 ],
207}
208
209blueprint_go_binary {
Dan Willemsen47ec28f2016-08-10 16:12:30 -0700210 name: "soong_zip",
Dan Willemsen017d8932016-08-04 15:43:03 -0700211 deps: ["android-archive-zip"],
Colin Cross2fe66872015-03-30 17:20:39 -0700212 srcs: [
Dan Willemsen47ec28f2016-08-10 16:12:30 -0700213 "cmd/soong_zip/soong_zip.go",
214 "cmd/soong_zip/rate_limit.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700215 ],
216}
217
218bootstrap_go_package {
219 name: "soong-java",
220 pkgPath: "android/soong/java",
221 deps: [
222 "blueprint",
223 "blueprint-pathtools",
Colin Cross463a90e2015-06-17 14:20:06 -0700224 "soong",
Colin Cross635c3b02016-05-18 15:37:25 -0700225 "soong-android",
Colin Cross0607cf72015-04-28 13:28:51 -0700226 "soong-genrule",
Colin Cross2fe66872015-03-30 17:20:39 -0700227 ],
228 srcs: [
Dan Willemsen218f6562015-07-08 18:13:11 -0700229 "java/androidmk.go",
Colin Cross30e076a2015-04-13 13:58:27 -0700230 "java/app_builder.go",
231 "java/app.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700232 "java/builder.go",
Colin Crossc0b06f12015-04-08 13:03:43 -0700233 "java/gen.go",
Colin Cross2fe66872015-03-30 17:20:39 -0700234 "java/java.go",
235 "java/resources.go",
236 ],
Dan Willemsen98b26c52015-07-27 15:08:24 -0700237 pluginFor: ["soong_build"],
Colin Cross2fe66872015-03-30 17:20:39 -0700238}
239
Colin Cross80031312015-03-14 14:28:22 -0700240//
241// androidmk Android.mk to Blueprints translator
242//
243
Dan Willemsenc2aa4a92016-05-26 15:13:03 -0700244blueprint_go_binary {
Colin Cross80031312015-03-14 14:28:22 -0700245 name: "androidmk",
246 srcs: [
247 "androidmk/cmd/androidmk/android.go",
248 "androidmk/cmd/androidmk/androidmk.go",
249 "androidmk/cmd/androidmk/values.go",
250 ],
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700251 testSrcs: [
Colin Crossa43f9b32016-06-07 15:34:59 -0700252 "androidmk/cmd/androidmk/androidmk_test.go",
Dan Willemsen6c2ac062016-06-01 21:37:40 -0700253 ],
Colin Cross80031312015-03-14 14:28:22 -0700254 deps: [
255 "androidmk-parser",
256 "blueprint-parser",
257 ],
258}
259
260bootstrap_go_package {
261 name: "androidmk-parser",
262 pkgPath: "android/soong/androidmk/parser",
263 srcs: [
Colin Cross08693d22016-05-25 17:25:40 -0700264 "androidmk/parser/ast.go",
Colin Cross80031312015-03-14 14:28:22 -0700265 "androidmk/parser/make_strings.go",
Colin Cross80031312015-03-14 14:28:22 -0700266 "androidmk/parser/parser.go",
267 "androidmk/parser/scope.go",
268 ],
Dan Willemsene5e20332015-06-23 19:46:20 -0700269 testSrcs: [
270 "androidmk/parser/make_strings_test.go",
271 ],
Colin Cross80031312015-03-14 14:28:22 -0700272}
273
274//
275// C static libraries extracted from the gcc toolchain
276//
277
Colin Crossba442872015-03-14 14:26:32 -0700278toolchain_library {
279 name: "libatomic",
Dan Willemseneba363e2015-07-08 18:11:14 -0700280 arch: {
281 arm: {
282 instruction_set: "arm",
283 },
284 },
Colin Crossba442872015-03-14 14:26:32 -0700285}
Colin Cross3f40fa42015-01-30 17:27:36 -0800286
Colin Crossba442872015-03-14 14:26:32 -0700287toolchain_library {
288 name: "libgcc",
Dan Willemseneba363e2015-07-08 18:11:14 -0700289 arch: {
290 arm: {
291 instruction_set: "arm",
292 },
293 },
Colin Crossba442872015-03-14 14:26:32 -0700294}
Colin Cross3f40fa42015-01-30 17:27:36 -0800295
Colin Crossba442872015-03-14 14:26:32 -0700296toolchain_library {
297 name: "libgcov",
Dan Willemseneba363e2015-07-08 18:11:14 -0700298 arch: {
299 arm: {
300 instruction_set: "arm",
301 },
302 },
Colin Crossba442872015-03-14 14:26:32 -0700303}