blob: 019a18685fba0619723016f2a65610d653894026 [file] [log] [blame]
Inseob Kimc0907f12019-02-08 21:00:45 +09001// Copyright (C) 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package cc
16
17import (
18 "android/soong/android"
19)
20
Paul Duffin77980a82019-12-19 16:01:36 +000021func RegisterRequiredBuildComponentsForTest(ctx android.RegistrationContext) {
Paul Duffind6867912019-12-19 14:38:36 +000022 RegisterPrebuiltBuildComponents(ctx)
Paul Duffin036e7002019-12-19 19:16:28 +000023 RegisterCCBuildComponents(ctx)
Paul Duffin2ee69792020-01-16 12:14:42 +000024 RegisterBinaryBuildComponents(ctx)
Paul Duffin6c26dc72019-12-19 15:02:40 +000025 RegisterLibraryBuildComponents(ctx)
Paul Duffin1c6c1c72020-02-21 10:28:43 +000026 RegisterLibraryHeadersBuildComponents(ctx)
Paul Duffin6c26dc72019-12-19 15:02:40 +000027
28 ctx.RegisterModuleType("toolchain_library", ToolchainLibraryFactory)
29 ctx.RegisterModuleType("llndk_library", LlndkLibraryFactory)
30 ctx.RegisterModuleType("cc_object", ObjectFactory)
Martin Stjernholm7feceb22020-07-11 04:33:29 +010031 ctx.RegisterModuleType("cc_genrule", genRuleFactory)
Colin Crossf28329d2020-02-15 11:00:10 -080032 ctx.RegisterModuleType("ndk_prebuilt_shared_stl", NdkPrebuiltSharedStlFactory)
33 ctx.RegisterModuleType("ndk_prebuilt_object", NdkPrebuiltObjectFactory)
Dan Albertde5aade2020-06-30 12:32:51 -070034 ctx.RegisterModuleType("ndk_library", NdkLibraryFactory)
Paul Duffin77980a82019-12-19 16:01:36 +000035}
36
Paul Duffina04c1072020-03-02 10:16:35 +000037func GatherRequiredDepsForTest(oses ...android.OsType) string {
Inseob Kimc0907f12019-02-08 21:00:45 +090038 ret := `
39 toolchain_library {
40 name: "libatomic",
Martin Stjernholm7feceb22020-07-11 04:33:29 +010041 defaults: ["linux_bionic_supported"],
Inseob Kimc0907f12019-02-08 21:00:45 +090042 vendor_available: true,
43 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -080044 native_bridge_supported: true,
Inseob Kimc0907f12019-02-08 21:00:45 +090045 src: "",
46 }
47
48 toolchain_library {
49 name: "libcompiler_rt-extras",
50 vendor_available: true,
51 recovery_available: true,
52 src: "",
53 }
54
55 toolchain_library {
56 name: "libclang_rt.builtins-arm-android",
57 vendor_available: true,
58 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -080059 native_bridge_supported: true,
Inseob Kimc0907f12019-02-08 21:00:45 +090060 src: "",
61 }
62
63 toolchain_library {
64 name: "libclang_rt.builtins-aarch64-android",
65 vendor_available: true,
66 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -080067 native_bridge_supported: true,
Inseob Kimc0907f12019-02-08 21:00:45 +090068 src: "",
69 }
70
Jooyung Han75568392020-03-20 04:29:24 +090071 cc_prebuilt_library_shared {
72 name: "libclang_rt.hwasan-aarch64-android",
73 nocrt: true,
74 vendor_available: true,
75 recovery_available: true,
76 system_shared_libs: [],
77 stl: "none",
78 srcs: [""],
79 check_elf_files: false,
80 sanitize: {
81 never: true,
82 },
83 }
84
Inseob Kimc0907f12019-02-08 21:00:45 +090085 toolchain_library {
86 name: "libclang_rt.builtins-i686-android",
87 vendor_available: true,
88 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -080089 native_bridge_supported: true,
Inseob Kimc0907f12019-02-08 21:00:45 +090090 src: "",
91 }
92
93 toolchain_library {
94 name: "libclang_rt.builtins-x86_64-android",
Martin Stjernholm7feceb22020-07-11 04:33:29 +010095 defaults: ["linux_bionic_supported"],
Inseob Kimc0907f12019-02-08 21:00:45 +090096 vendor_available: true,
97 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -080098 native_bridge_supported: true,
Inseob Kimc0907f12019-02-08 21:00:45 +090099 src: "",
100 }
101
102 toolchain_library {
Mitch Phillipsda9a4632019-07-15 09:34:09 -0700103 name: "libclang_rt.fuzzer-arm-android",
104 vendor_available: true,
105 recovery_available: true,
106 src: "",
107 }
108
109 toolchain_library {
110 name: "libclang_rt.fuzzer-aarch64-android",
111 vendor_available: true,
112 recovery_available: true,
113 src: "",
114 }
115
116 toolchain_library {
117 name: "libclang_rt.fuzzer-i686-android",
118 vendor_available: true,
119 recovery_available: true,
120 src: "",
121 }
122
123 toolchain_library {
124 name: "libclang_rt.fuzzer-x86_64-android",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100125 defaults: ["linux_bionic_supported"],
Mitch Phillipsda9a4632019-07-15 09:34:09 -0700126 vendor_available: true,
127 recovery_available: true,
128 src: "",
129 }
130
131 toolchain_library {
132 name: "libclang_rt.fuzzer-x86_64",
133 vendor_available: true,
134 recovery_available: true,
135 src: "",
136 }
137
Paul Duffind6867912019-12-19 14:38:36 +0000138 // Needed for sanitizer
139 cc_prebuilt_library_shared {
140 name: "libclang_rt.ubsan_standalone-aarch64-android",
141 vendor_available: true,
142 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -0800143 system_shared_libs: [],
Paul Duffind6867912019-12-19 14:38:36 +0000144 srcs: [""],
145 }
146
Mitch Phillipsda9a4632019-07-15 09:34:09 -0700147 toolchain_library {
Inseob Kimc0907f12019-02-08 21:00:45 +0900148 name: "libgcc",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100149 defaults: ["linux_bionic_supported"],
Inseob Kimc0907f12019-02-08 21:00:45 +0900150 vendor_available: true,
151 recovery_available: true,
152 src: "",
153 }
154
Yi Kongacee27c2019-03-29 20:05:14 -0700155 toolchain_library {
156 name: "libgcc_stripped",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100157 defaults: ["linux_bionic_supported"],
Yi Kongacee27c2019-03-29 20:05:14 -0700158 vendor_available: true,
159 recovery_available: true,
Colin Crossc511bc52020-04-07 16:50:32 +0000160 sdk_version: "current",
Yi Kongacee27c2019-03-29 20:05:14 -0700161 src: "",
162 }
163
Inseob Kimc0907f12019-02-08 21:00:45 +0900164 cc_library {
Inseob Kimc0907f12019-02-08 21:00:45 +0900165 name: "libc",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100166 defaults: ["linux_bionic_supported"],
Yi Konge7fe9912019-06-02 00:53:50 -0700167 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900168 nocrt: true,
Peter Collingbournee5ba2862019-12-10 18:37:45 -0800169 stl: "none",
Inseob Kimc0907f12019-02-08 21:00:45 +0900170 system_shared_libs: [],
171 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -0800172 stubs: {
173 versions: ["27", "28", "29"],
174 },
Colin Cross0477b422020-10-13 18:43:54 -0700175 llndk_stubs: "libc.llndk",
176}
Inseob Kimc0907f12019-02-08 21:00:45 +0900177 llndk_library {
Colin Cross0477b422020-10-13 18:43:54 -0700178 name: "libc.llndk",
Inseob Kimc0907f12019-02-08 21:00:45 +0900179 symbol_file: "",
Colin Crossc511bc52020-04-07 16:50:32 +0000180 sdk_version: "current",
Inseob Kimc0907f12019-02-08 21:00:45 +0900181 }
182 cc_library {
183 name: "libm",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100184 defaults: ["linux_bionic_supported"],
Yi Konge7fe9912019-06-02 00:53:50 -0700185 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900186 nocrt: true,
Peter Collingbournee5ba2862019-12-10 18:37:45 -0800187 stl: "none",
Inseob Kimc0907f12019-02-08 21:00:45 +0900188 system_shared_libs: [],
189 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -0800190 stubs: {
191 versions: ["27", "28", "29"],
192 },
193 apex_available: [
194 "//apex_available:platform",
195 "myapex"
196 ],
Colin Cross0477b422020-10-13 18:43:54 -0700197 llndk_stubs: "libm.llndk",
Inseob Kimc0907f12019-02-08 21:00:45 +0900198 }
199 llndk_library {
Colin Cross0477b422020-10-13 18:43:54 -0700200 name: "libm.llndk",
Inseob Kimc0907f12019-02-08 21:00:45 +0900201 symbol_file: "",
Colin Crossc511bc52020-04-07 16:50:32 +0000202 sdk_version: "current",
Inseob Kimc0907f12019-02-08 21:00:45 +0900203 }
Ivan Lozanoa0cd8f92020-04-09 09:56:02 -0400204
205 // Coverage libraries
206 cc_library {
207 name: "libprofile-extras",
208 vendor_available: true,
209 recovery_available: true,
210 native_coverage: false,
211 system_shared_libs: [],
212 stl: "none",
213 notice: "custom_notice",
214 }
215 cc_library {
216 name: "libprofile-clang-extras",
217 vendor_available: true,
218 recovery_available: true,
219 native_coverage: false,
220 system_shared_libs: [],
221 stl: "none",
222 notice: "custom_notice",
223 }
224 cc_library {
225 name: "libprofile-extras_ndk",
226 vendor_available: true,
227 native_coverage: false,
228 system_shared_libs: [],
229 stl: "none",
230 notice: "custom_notice",
231 sdk_version: "current",
232 }
233 cc_library {
234 name: "libprofile-clang-extras_ndk",
235 vendor_available: true,
236 native_coverage: false,
237 system_shared_libs: [],
238 stl: "none",
239 notice: "custom_notice",
240 sdk_version: "current",
241 }
242
Inseob Kimc0907f12019-02-08 21:00:45 +0900243 cc_library {
244 name: "libdl",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100245 defaults: ["linux_bionic_supported"],
Yi Konge7fe9912019-06-02 00:53:50 -0700246 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900247 nocrt: true,
Peter Collingbournee5ba2862019-12-10 18:37:45 -0800248 stl: "none",
Inseob Kimc0907f12019-02-08 21:00:45 +0900249 system_shared_libs: [],
250 recovery_available: true,
Colin Crossf9aabd72020-02-15 11:29:50 -0800251 stubs: {
252 versions: ["27", "28", "29"],
253 },
254 apex_available: [
255 "//apex_available:platform",
256 "myapex"
257 ],
Colin Cross0477b422020-10-13 18:43:54 -0700258 llndk_stubs: "libdl.llndk",
Inseob Kimc0907f12019-02-08 21:00:45 +0900259 }
260 llndk_library {
Colin Cross0477b422020-10-13 18:43:54 -0700261 name: "libdl.llndk",
Inseob Kimc0907f12019-02-08 21:00:45 +0900262 symbol_file: "",
Colin Crossc511bc52020-04-07 16:50:32 +0000263 sdk_version: "current",
Inseob Kimc0907f12019-02-08 21:00:45 +0900264 }
265 cc_library {
Jooyung Han097087b2019-10-22 19:32:18 +0900266 name: "libft2",
267 no_libcrt: true,
268 nocrt: true,
269 system_shared_libs: [],
270 recovery_available: true,
Colin Cross0477b422020-10-13 18:43:54 -0700271 llndk_stubs: "libft2.llndk",
Jooyung Han097087b2019-10-22 19:32:18 +0900272 }
273 llndk_library {
Colin Cross0477b422020-10-13 18:43:54 -0700274 name: "libft2.llndk",
Jooyung Han097087b2019-10-22 19:32:18 +0900275 symbol_file: "",
276 vendor_available: false,
Colin Crossc511bc52020-04-07 16:50:32 +0000277 sdk_version: "current",
Jooyung Han097087b2019-10-22 19:32:18 +0900278 }
279 cc_library {
Inseob Kimc0907f12019-02-08 21:00:45 +0900280 name: "libc++_static",
Yi Konge7fe9912019-06-02 00:53:50 -0700281 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900282 nocrt: true,
283 system_shared_libs: [],
284 stl: "none",
285 vendor_available: true,
286 recovery_available: true,
Inseob Kim89db15d2020-02-03 18:06:46 +0900287 host_supported: true,
Jooyung Han749dc692020-04-15 11:03:39 +0900288 min_sdk_version: "29",
Jiyong Park541142c2020-03-07 16:35:46 +0900289 apex_available: [
290 "//apex_available:platform",
291 "//apex_available:anyapex",
292 ],
Inseob Kimc0907f12019-02-08 21:00:45 +0900293 }
294 cc_library {
295 name: "libc++",
Yi Konge7fe9912019-06-02 00:53:50 -0700296 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900297 nocrt: true,
298 system_shared_libs: [],
299 stl: "none",
300 vendor_available: true,
301 recovery_available: true,
Inseob Kim89db15d2020-02-03 18:06:46 +0900302 host_supported: true,
Jooyung Han749dc692020-04-15 11:03:39 +0900303 min_sdk_version: "29",
Inseob Kimc0907f12019-02-08 21:00:45 +0900304 vndk: {
305 enabled: true,
306 support_system_process: true,
307 },
Colin Crossf9aabd72020-02-15 11:29:50 -0800308 apex_available: [
309 "//apex_available:platform",
310 "myapex"
311 ],
Inseob Kimc0907f12019-02-08 21:00:45 +0900312 }
313 cc_library {
Dan Albert2da19cb2019-07-24 12:17:40 -0700314 name: "libc++demangle",
315 no_libcrt: true,
316 nocrt: true,
317 system_shared_libs: [],
318 stl: "none",
319 host_supported: false,
320 vendor_available: true,
321 recovery_available: true,
Jooyung Han749dc692020-04-15 11:03:39 +0900322 min_sdk_version: "29",
Jiyong Park541142c2020-03-07 16:35:46 +0900323 apex_available: [
324 "//apex_available:platform",
325 "//apex_available:anyapex",
326 ],
Dan Albert2da19cb2019-07-24 12:17:40 -0700327 }
328 cc_library {
Inseob Kimc0907f12019-02-08 21:00:45 +0900329 name: "libunwind_llvm",
Yi Konge7fe9912019-06-02 00:53:50 -0700330 no_libcrt: true,
Inseob Kimc0907f12019-02-08 21:00:45 +0900331 nocrt: true,
332 system_shared_libs: [],
333 stl: "none",
334 vendor_available: true,
335 recovery_available: true,
336 }
337
Jiyong Park541142c2020-03-07 16:35:46 +0900338 cc_defaults {
339 name: "crt_defaults",
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100340 defaults: ["linux_bionic_supported"],
Jiyong Park541142c2020-03-07 16:35:46 +0900341 recovery_available: true,
342 vendor_available: true,
343 native_bridge_supported: true,
344 stl: "none",
Dan Albert92fe7402020-07-15 13:33:30 -0700345 min_sdk_version: "16",
346 crt: true,
Jiyong Park541142c2020-03-07 16:35:46 +0900347 apex_available: [
348 "//apex_available:platform",
349 "//apex_available:anyapex",
350 ],
351 }
352
Inseob Kimc0907f12019-02-08 21:00:45 +0900353 cc_object {
354 name: "crtbegin_so",
Jiyong Park541142c2020-03-07 16:35:46 +0900355 defaults: ["crt_defaults"],
Inseob Kimc0907f12019-02-08 21:00:45 +0900356 }
357
358 cc_object {
Colin Cross815daf92019-05-14 16:05:20 -0700359 name: "crtbegin_dynamic",
Jiyong Park541142c2020-03-07 16:35:46 +0900360 defaults: ["crt_defaults"],
Colin Cross815daf92019-05-14 16:05:20 -0700361 }
362
363 cc_object {
Inseob Kimc0907f12019-02-08 21:00:45 +0900364 name: "crtbegin_static",
Jiyong Park541142c2020-03-07 16:35:46 +0900365 defaults: ["crt_defaults"],
Inseob Kimc0907f12019-02-08 21:00:45 +0900366 }
367
368 cc_object {
369 name: "crtend_so",
Jiyong Park541142c2020-03-07 16:35:46 +0900370 defaults: ["crt_defaults"],
Inseob Kimc0907f12019-02-08 21:00:45 +0900371 }
372
373 cc_object {
374 name: "crtend_android",
Jiyong Park541142c2020-03-07 16:35:46 +0900375 defaults: ["crt_defaults"],
Inseob Kimc0907f12019-02-08 21:00:45 +0900376 }
377
378 cc_library {
379 name: "libprotobuf-cpp-lite",
380 }
Colin Crossf28329d2020-02-15 11:00:10 -0800381
382 cc_library {
383 name: "ndk_libunwind",
384 sdk_version: "current",
385 stl: "none",
386 system_shared_libs: [],
387 }
388
Dan Albertde5aade2020-06-30 12:32:51 -0700389 ndk_library {
390 name: "libc",
391 first_version: "minimum",
392 symbol_file: "libc.map.txt",
Colin Crossf28329d2020-02-15 11:00:10 -0800393 }
394
Dan Albertde5aade2020-06-30 12:32:51 -0700395 ndk_library {
396 name: "libm",
397 first_version: "minimum",
398 symbol_file: "libm.map.txt",
Colin Crossf28329d2020-02-15 11:00:10 -0800399 }
400
Dan Albertde5aade2020-06-30 12:32:51 -0700401 ndk_library {
402 name: "libdl",
403 first_version: "minimum",
404 symbol_file: "libdl.map.txt",
Colin Crossf28329d2020-02-15 11:00:10 -0800405 }
406
Colin Crossf28329d2020-02-15 11:00:10 -0800407 ndk_prebuilt_shared_stl {
408 name: "ndk_libc++_shared",
409 }
410 `
411
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100412 supportLinuxBionic := false
Paul Duffina04c1072020-03-02 10:16:35 +0000413 for _, os := range oses {
414 if os == android.Fuchsia {
415 ret += `
Inseob Kimc0907f12019-02-08 21:00:45 +0900416 cc_library {
417 name: "libbioniccompat",
418 stl: "none",
419 }
420 cc_library {
421 name: "libcompiler_rt",
422 stl: "none",
423 }
424 `
Paul Duffina04c1072020-03-02 10:16:35 +0000425 }
426 if os == android.Windows {
427 ret += `
428 toolchain_library {
429 name: "libwinpthread",
430 host_supported: true,
431 enabled: false,
432 target: {
433 windows: {
434 enabled: true,
435 },
436 },
437 src: "",
438 }
439 `
440 }
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100441 if os == android.LinuxBionic {
442 supportLinuxBionic = true
443 ret += `
444 cc_binary {
445 name: "linker",
446 defaults: ["linux_bionic_supported"],
447 recovery_available: true,
448 stl: "none",
449 nocrt: true,
450 static_executable: true,
451 native_coverage: false,
452 system_shared_libs: [],
453 }
454
455 cc_genrule {
456 name: "host_bionic_linker_flags",
457 host_supported: true,
458 device_supported: false,
459 target: {
460 host: {
461 enabled: false,
462 },
463 linux_bionic: {
464 enabled: true,
465 },
466 },
467 out: ["linker.flags"],
468 }
469
470 cc_defaults {
471 name: "linux_bionic_supported",
472 host_supported: true,
473 target: {
474 host: {
475 enabled: false,
476 },
477 linux_bionic: {
478 enabled: true,
479 },
480 },
481 }
482 `
483 }
Inseob Kimc0907f12019-02-08 21:00:45 +0900484 }
Martin Stjernholm7feceb22020-07-11 04:33:29 +0100485
486 if !supportLinuxBionic {
487 ret += `
488 cc_defaults {
489 name: "linux_bionic_supported",
490 }
491 `
492 }
493
Inseob Kimc0907f12019-02-08 21:00:45 +0900494 return ret
495}
Colin Cross9a942872019-05-14 15:44:26 -0700496
Colin Crossf28329d2020-02-15 11:00:10 -0800497func GatherRequiredFilesForTest(fs map[string][]byte) {
Colin Crossf28329d2020-02-15 11:00:10 -0800498}
499
Colin Cross98be1bb2019-12-13 20:41:13 -0800500func TestConfig(buildDir string, os android.OsType, env map[string]string,
501 bp string, fs map[string][]byte) android.Config {
Colin Cross9a942872019-05-14 15:44:26 -0700502
Colin Cross98be1bb2019-12-13 20:41:13 -0800503 // add some modules that are required by the compiler and/or linker
504 bp = bp + GatherRequiredDepsForTest(os)
505
Colin Cross2fce23a2020-06-07 17:02:48 -0700506 mockFS := map[string][]byte{}
Colin Cross98be1bb2019-12-13 20:41:13 -0800507
Colin Crossf28329d2020-02-15 11:00:10 -0800508 GatherRequiredFilesForTest(mockFS)
509
Colin Cross98be1bb2019-12-13 20:41:13 -0800510 for k, v := range fs {
511 mockFS[k] = v
512 }
513
514 var config android.Config
515 if os == android.Fuchsia {
516 config = android.TestArchConfigFuchsia(buildDir, env, bp, mockFS)
517 } else {
518 config = android.TestArchConfig(buildDir, env, bp, mockFS)
519 }
520
521 return config
522}
523
524func CreateTestContext() *android.TestContext {
Colin Cross9a942872019-05-14 15:44:26 -0700525 ctx := android.NewTestArchContext()
Colin Cross4b49b762019-11-22 15:25:03 -0800526 ctx.RegisterModuleType("cc_fuzz", FuzzFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800527 ctx.RegisterModuleType("cc_test", TestFactory)
Chris Parsons79d66a52020-06-05 17:26:16 -0400528 ctx.RegisterModuleType("cc_test_library", TestLibraryFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800529 ctx.RegisterModuleType("llndk_headers", llndkHeadersFactory)
530 ctx.RegisterModuleType("vendor_public_library", vendorPublicLibraryFactory)
Colin Cross4b49b762019-11-22 15:25:03 -0800531 ctx.RegisterModuleType("filegroup", android.FileGroupFactory)
532 ctx.RegisterModuleType("vndk_prebuilt_shared", VndkPrebuiltSharedFactory)
533 ctx.RegisterModuleType("vndk_libraries_txt", VndkLibrariesTxtFactory)
Inseob Kim5f58ff72020-09-07 19:53:31 +0900534 ctx.RegisterModuleType("vendor_snapshot_shared", VendorSnapshotSharedFactory)
Inseob Kimc42f2f22020-07-29 20:32:10 +0900535 ctx.RegisterModuleType("vendor_snapshot_static", VendorSnapshotStaticFactory)
Inseob Kim5f58ff72020-09-07 19:53:31 +0900536 ctx.RegisterModuleType("vendor_snapshot_binary", VendorSnapshotBinaryFactory)
Colin Crosse1bb5d02019-09-24 14:55:04 -0700537 ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators)
Paul Duffin021f4e52020-07-30 16:04:17 +0100538 android.RegisterPrebuiltMutators(ctx)
Paul Duffinc988c8e2020-04-29 18:27:14 +0100539 RegisterRequiredBuildComponentsForTest(ctx)
Colin Cross4b49b762019-11-22 15:25:03 -0800540 ctx.RegisterSingletonType("vndk-snapshot", VndkSnapshotSingleton)
Inseob Kim8471cda2019-11-15 09:59:12 +0900541 ctx.RegisterSingletonType("vendor-snapshot", VendorSnapshotSingleton)
Colin Cross9a942872019-05-14 15:44:26 -0700542
Colin Cross9a942872019-05-14 15:44:26 -0700543 return ctx
544}