1//
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
13bootstrap_go_binary {
14    name: "soong_build",
15    deps: [
16        "blueprint",
17        "blueprint-bootstrap",
18        "soong",
19        "soong-common",
20        "soong-env",
21    ],
22    srcs: [
23        "cmd/soong_build/main.go",
24    ],
25    primaryBuilder: true,
26}
27
28bootstrap_go_binary {
29    name: "soong_env",
30    deps: [
31        "soong-env",
32    ],
33    srcs: [
34        "cmd/soong_env/soong_env.go",
35    ],
36}
37
38bootstrap_go_package {
39    name: "soong-env",
40    pkgPath: "android/soong/env",
41    srcs: [
42        "env/env.go",
43    ],
44}
45
46
47bootstrap_go_binary {
48    name: "soong_glob",
49    deps: [
50        "soong-glob",
51    ],
52    srcs: [
53        "cmd/soong_glob/soong_glob.go",
54    ],
55}
56
57bootstrap_go_package {
58    name: "soong-glob",
59    pkgPath: "android/soong/glob",
60    deps: [
61        "blueprint-deptools",
62        "blueprint-pathtools",
63    ],
64    srcs: [
65        "glob/glob.go",
66    ],
67}
68
69bootstrap_go_package {
70    name: "soong",
71    pkgPath: "android/soong",
72    deps: [
73        "blueprint",
74    ],
75    srcs: [
76        "doc.go",
77        "register.go",
78    ],
79}
80
81bootstrap_go_package {
82    name: "soong-common",
83    pkgPath: "android/soong/common",
84    deps: [
85        "blueprint",
86        "blueprint-bootstrap",
87        "soong",
88        "soong-env",
89        "soong-glob",
90    ],
91    srcs: [
92        "common/androidmk.go",
93        "common/arch.go",
94        "common/config.go",
95        "common/defaults.go",
96        "common/defs.go",
97        "common/env.go",
98        "common/glob.go",
99        "common/module.go",
100        "common/mutator.go",
101        "common/package_ctx.go",
102        "common/paths.go",
103        "common/util.go",
104        "common/variable.go",
105    ],
106    testSrcs: [
107        "common/paths_test.go",
108    ],
109}
110
111bootstrap_go_package {
112    name: "soong-cc",
113    pkgPath: "android/soong/cc",
114    deps: [
115        "blueprint",
116        "blueprint-pathtools",
117        "soong",
118        "soong-common",
119        "soong-genrule",
120    ],
121    srcs: [
122        "cc/androidmk.go",
123        "cc/builder.go",
124        "cc/cc.go",
125        "cc/clang.go",
126        "cc/gen.go",
127        "cc/stl.go",
128        "cc/toolchain.go",
129        "cc/util.go",
130
131        "cc/arm_device.go",
132        "cc/arm64_device.go",
133        "cc/mips_device.go",
134        "cc/mips64_device.go",
135        "cc/x86_device.go",
136        "cc/x86_64_device.go",
137
138        "cc/x86_darwin_host.go",
139        "cc/x86_linux_host.go",
140        "cc/x86_windows_host.go",
141    ],
142    testSrcs: [
143        "cc/cc_test.go",
144    ],
145    pluginFor: ["soong_build"],
146}
147
148bootstrap_go_package {
149    name: "soong-genrule",
150    pkgPath: "android/soong/genrule",
151    deps: [
152        "blueprint",
153        "blueprint-pathtools",
154        "soong",
155        "soong-common",
156    ],
157    srcs: [
158        "genrule/genrule.go",
159    ],
160    pluginFor: ["soong_build"],
161}
162
163bootstrap_go_binary {
164    name: "soong_jar",
165    srcs: [
166        "cmd/soong_jar/soong_jar.go",
167    ],
168}
169
170bootstrap_go_package {
171    name: "soong-java",
172    pkgPath: "android/soong/java",
173    deps: [
174        "blueprint",
175        "blueprint-pathtools",
176        "soong",
177        "soong-common",
178        "soong-genrule",
179    ],
180    srcs: [
181        "java/androidmk.go",
182        "java/app_builder.go",
183        "java/app.go",
184        "java/builder.go",
185        "java/gen.go",
186        "java/java.go",
187        "java/resources.go",
188    ],
189    pluginFor: ["soong_build"],
190}
191
192//
193// androidmk Android.mk to Blueprints translator
194//
195
196bootstrap_go_binary {
197    name: "androidmk",
198    srcs: [
199        "androidmk/cmd/androidmk/android.go",
200        "androidmk/cmd/androidmk/androidmk.go",
201        "androidmk/cmd/androidmk/values.go",
202    ],
203    deps: [
204        "androidmk-parser",
205        "blueprint-parser",
206    ],
207}
208
209bootstrap_go_package {
210    name: "androidmk-parser",
211    pkgPath: "android/soong/androidmk/parser",
212    srcs: [
213        "androidmk/parser/make_strings.go",
214        "androidmk/parser/makething.go",
215        "androidmk/parser/parser.go",
216        "androidmk/parser/scope.go",
217    ],
218    testSrcs: [
219        "androidmk/parser/make_strings_test.go",
220    ],
221}
222
223//
224// C static libraries extracted from the gcc toolchain
225//
226
227toolchain_library {
228    name: "libatomic",
229    arch: {
230        arm: {
231            instruction_set: "arm",
232        },
233    },
234}
235
236toolchain_library {
237    name: "libgcc",
238    arch: {
239        arm: {
240            instruction_set: "arm",
241        },
242    },
243}
244
245toolchain_library {
246    name: "libgcov",
247    arch: {
248        arm: {
249            instruction_set: "arm",
250        },
251    },
252}
253