blob: 0a80f77813d22f18a10095ab67c6593ff6728711 [file] [log] [blame]
Dan Willemsen2acbec52017-09-14 17:28:36 -07001// Copyright (C) 2015 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
15// Common variables.
16// =========================================================
Bob Badour5f579b82021-02-12 21:18:40 -080017package {
18 default_applicable_licenses: ["external_minijail_license"],
19}
20
21// Added automatically by a large-scale-change that took the approach of
22// 'apply every license found to every target'. While this makes sure we respect
23// every license restriction, it may not be entirely correct.
24//
25// e.g. GPL in an MIT project might only apply to the contrib/ directory.
26//
27// Please consider splitting the single license below into multiple licenses,
28// taking care not to lose any license_kind information, and overriding the
29// default license using the 'licenses: [...]' property on targets as needed.
30//
31// For unused files, consider creating a 'fileGroup' with "//visibility:private"
32// to attach the license to, and including a comment whether the files may be
33// used in the current project.
34//
35// large-scale-change included anything that looked like it might be a license
36// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
37//
38// Please consider removing redundant or irrelevant files from 'license_text:'.
39// See: http://go/android-license-faq
40license {
41 name: "external_minijail_license",
42 visibility: [":__subpackages__"],
43 license_kinds: [
44 "SPDX-license-identifier-Apache-2.0",
45 "SPDX-license-identifier-BSD",
46 ],
47 license_text: [
48 "LICENSE",
49 "NOTICE",
50 ],
51}
52
Dan Willemsen2acbec52017-09-14 17:28:36 -070053libminijailSrcFiles = [
54 "bpf.c",
55 "libminijail.c",
56 "signal_handler.c",
57 "syscall_filter.c",
58 "syscall_wrapper.c",
59 "system.c",
60 "util.c",
61]
62
63unittestSrcFiles = [
64 "testrunner.cc",
Zi Lin171ee1e2021-10-13 03:12:18 +000065 "test_util.cc",
Dan Willemsen2acbec52017-09-14 17:28:36 -070066]
67
68minijailCommonLibraries = ["libcap"]
69
70cc_defaults {
71 name: "libminijail_flags",
72 cflags: [
Luis Hector Chavezc3e17722018-10-16 20:43:12 -070073 "-D_FILE_OFFSET_BITS=64",
Mike Frysinger916c6c32018-09-27 14:17:53 -040074 "-DALLOW_DEBUG_LOGGING",
Nicole Anderson-Aubcc8cfd2020-11-10 20:33:27 +000075 "-DALLOW_DUPLICATE_SYSCALLS",
Allen Webbee876072019-02-21 10:56:21 -080076 "-DDEFAULT_PIVOT_ROOT=\"/var/empty\"",
Dan Willemsen2acbec52017-09-14 17:28:36 -070077 "-Wall",
78 "-Werror",
79 ],
Mike Frysinger32a3b692021-04-17 10:23:54 -040080 c_std: "gnu11",
Dan Willemsen2acbec52017-09-14 17:28:36 -070081 target: {
82 darwin: {
83 enabled: false,
84 },
85 },
86}
87
88// Static library for generated code.
89// =========================================================
90cc_object {
91 name: "libminijail_gen_syscall_obj",
92 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +090093 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +090094 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -070095 srcs: ["gen_syscalls.c"],
96 cflags: [
97 "-dD",
98 "-E",
Chih-Hung Hsiehed6a82e2017-10-04 10:54:11 -070099 "-Wall",
100 "-Werror",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700101 ],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900102 apex_available: [
103 "//apex_available:platform",
104 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700105 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900106 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900107 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900108 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900109 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700110}
111
112cc_genrule {
113 name: "libminijail_gen_syscall",
114 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900115 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900116 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700117 tool_files: ["gen_syscalls.sh"],
118 cmd: "$(location gen_syscalls.sh) $(in) $(out)",
119 srcs: [":libminijail_gen_syscall_obj"],
120 out: ["libsyscalls.c"],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900121 apex_available: [
122 "//apex_available:platform",
123 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700124 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900125 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900126 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900127 ],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700128}
129
130cc_object {
131 name: "libminijail_gen_constants_obj",
132 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900133 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900134 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700135 srcs: ["gen_constants.c"],
136 cflags: [
137 "-dD",
138 "-E",
Chih-Hung Hsiehed6a82e2017-10-04 10:54:11 -0700139 "-Wall",
140 "-Werror",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700141 ],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900142 apex_available: [
143 "//apex_available:platform",
144 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700145 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900146 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900147 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900148 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900149 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700150}
151
152cc_genrule {
153 name: "libminijail_gen_constants",
154 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900155 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900156 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700157 tool_files: ["gen_constants.sh"],
158 cmd: "$(location gen_constants.sh) $(in) $(out)",
159 srcs: [":libminijail_gen_constants_obj"],
160 out: ["libconstants.c"],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900161 apex_available: [
162 "//apex_available:platform",
163 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700164 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900165 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900166 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900167 ],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700168}
169
170cc_library_static {
171 name: "libminijail_generated",
172 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900173 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900174 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700175 defaults: ["libminijail_flags"],
176 host_supported: true,
177
178 target: {
179 android: {
180 generated_sources: [
181 "libminijail_gen_syscall",
182 "libminijail_gen_constants",
183 ],
184 },
185 host: {
186 srcs: [
187 "linux-x86/libconstants.gen.c",
188 "linux-x86/libsyscalls.gen.c",
189 ],
190 },
191 },
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900192 apex_available: [
193 "//apex_available:platform",
194 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700195 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900196 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900197 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900198 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900199 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700200}
201
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800202cc_object {
203 name: "libminijail_gen_constants_llvmir",
204 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900205 product_available: true,
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800206 recovery_available: true,
207 host_supported: true,
208 cflags: [
209 "-S",
210 "-O0",
211 "-emit-llvm",
212 ],
213
214 target: {
215 android: {
216 generated_sources: ["libminijail_gen_constants"],
217 },
218 host: {
219 srcs: ["linux-x86/libconstants.gen.c"],
220 },
221 },
222}
223
224cc_object {
225 name: "libminijail_gen_syscall_llvmir",
226 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900227 product_available: true,
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800228 recovery_available: true,
229 host_supported: true,
230 cflags: [
231 "-S",
232 "-O0",
233 "-emit-llvm",
234 ],
235
236 target: {
237 android: {
238 generated_sources: ["libminijail_gen_syscall"],
239 },
240 host: {
241 srcs: ["linux-x86/libsyscalls.gen.c"],
242 },
243 },
244}
245
Dan Willemsen2acbec52017-09-14 17:28:36 -0700246// libminijail shared and static library for target.
247// =========================================================
248cc_library {
249 name: "libminijail",
Luis Hector Chavez413af652018-04-19 20:15:13 -0700250 host_supported: true,
Logan Chien9460f602017-11-21 20:32:45 +0800251
Dan Willemsen2acbec52017-09-14 17:28:36 -0700252 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900253 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900254 recovery_available: true,
Logan Chien9460f602017-11-21 20:32:45 +0800255 vndk: {
256 enabled: true,
257 },
258
Dan Willemsen2acbec52017-09-14 17:28:36 -0700259 defaults: ["libminijail_flags"],
260
261 srcs: libminijailSrcFiles,
262
263 static: {
264 whole_static_libs: ["libminijail_generated"] + minijailCommonLibraries,
265 },
266 shared: {
267 static_libs: ["libminijail_generated"],
268 shared_libs: minijailCommonLibraries,
269 },
270 export_include_dirs: ["."],
Luis Hector Chavez413af652018-04-19 20:15:13 -0700271
272 target: {
273 host: {
274 cflags: [
275 "-DPRELOADPATH=\"/invalidminijailpreload.so\"",
276 ],
277 },
278 },
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900279 apex_available: [
280 "//apex_available:platform",
281 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700282 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900283 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900284 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900285 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900286 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700287}
288
289// Example ASan-ified libminijail shared library for target.
290// Commented out since it's only needed for local debugging.
291// =========================================================
292//cc_library_shared {
293// name: "libminijail_asan",
294// defaults: ["libminijail_flags"],
295//
296// sanitize: {
297// address: true,
298// },
299// relative_install_path: "asan",
300// srcs: libminijailSrcFiles,
301//
302// static_libs: ["libminijail_generated"],
303// shared_libs: minijailCommonLibraries,
304// export_include_dirs: ["."],
305//}
306
307// libminijail native unit tests using gtest.
308//
309// For a device, run with:
310// adb shell /data/nativetest/libminijail_unittest_gtest/libminijail_unittest_gtest
311//
312// For host, run with:
313// out/host/linux-x86/nativetest(64)/libminijail_unittest_gtest/libminijail_unittest_gtest
314// =========================================================
315cc_test {
316 name: "libminijail_unittest_gtest",
317 defaults: ["libminijail_flags"],
318 // TODO(b/31395668): Re-enable once the seccomp(2) syscall becomes available.
319 //host_supported: true
320
321 srcs: libminijailSrcFiles + ["libminijail_unittest.cc"] + unittestSrcFiles,
322
323 static_libs: ["libminijail_generated"],
324 shared_libs: minijailCommonLibraries,
325
326 target: {
327 android: {
328 cflags: ["-Wno-writable-strings"],
329 test_suites: ["device-tests"],
330 },
331 host: {
332 cflags: ["-DPRELOADPATH=\"/invalid\""],
333 },
334 },
335}
336
337// Syscall filtering native unit tests using gtest.
338//
339// For a device, run with:
340// adb shell /data/nativetest/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
341//
342// For host, run with:
343// out/host/linux-x86/nativetest(64)/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
344// =========================================================
345cc_test {
346 name: "syscall_filter_unittest_gtest",
347 defaults: ["libminijail_flags"],
348 host_supported: true,
349
350 srcs: [
351 "bpf.c",
352 "syscall_filter.c",
Luis Héctor Chávez01b628c2021-01-03 05:46:57 -0800353 "syscall_wrapper.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700354 "util.c",
355 "syscall_filter_unittest.cc",
356 ] + unittestSrcFiles,
357
358 static_libs: ["libminijail_generated"],
359 shared_libs: minijailCommonLibraries,
360
361 target: {
362 android: {
363 test_suites: ["device-tests"],
364 },
365 },
Julien Desprez28fd8402021-02-10 11:01:17 -0800366 test_options: {
367 unit_test: true,
368 },
369 data: ["test/*"],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700370}
371
372// System functionality unit tests using gtest.
373//
374// For a device, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500375// adb shell /data/nativetest/mj_system_unittest_gtest/mj_system_unittest_gtest
Dan Willemsen2acbec52017-09-14 17:28:36 -0700376//
377// For host, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500378// out/host/linux-x86/nativetest(64)/mj_system_unittest_gtest/mj_system_unittest_gtest
Dan Willemsen2acbec52017-09-14 17:28:36 -0700379// =========================================================
380cc_test {
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500381 name: "mj_system_unittest_gtest",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700382 defaults: ["libminijail_flags"],
383 host_supported: true,
384
385 srcs: [
Luis Héctor Chávez01b628c2021-01-03 05:46:57 -0800386 "syscall_wrapper.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700387 "system.c",
388 "util.c",
389 "system_unittest.cc",
390 ] + unittestSrcFiles,
391
392 static_libs: ["libminijail_generated"],
393 shared_libs: minijailCommonLibraries,
394
395 target: {
396 android: {
397 test_suites: ["device-tests"],
398 },
399 },
400}
401
Mike Frysinger32c39922018-01-17 17:09:54 -0500402// Utility functionality unit tests using gtest.
403//
404// For a device, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500405// adb shell /data/nativetest/mj_util_unittest_gtest/mj_util_unittest_gtest
Mike Frysinger32c39922018-01-17 17:09:54 -0500406//
407// For host, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500408// out/host/linux-x86/nativetest(64)/mj_util_unittest_gtest/mj_util_unittest_gtest
Mike Frysinger32c39922018-01-17 17:09:54 -0500409// =========================================================
410cc_test {
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500411 name: "mj_util_unittest_gtest",
Mike Frysinger32c39922018-01-17 17:09:54 -0500412 defaults: ["libminijail_flags"],
413 host_supported: true,
414
415 srcs: [
416 "util.c",
417 "util_unittest.cc",
418 ] + unittestSrcFiles,
419
420 static_libs: ["libminijail_generated"],
421 shared_libs: minijailCommonLibraries,
422
423 target: {
424 android: {
425 test_suites: ["device-tests"],
426 },
427 },
428}
429
Mike Frysinger4d2a81e2018-01-22 16:43:33 -0500430// Utility functionality unit tests using gtest.
431//
432// For a device, run with:
433// adb shell /data/nativetest/minijail0_cli_unittest_gtest/minijail0_cli_unittest_gtest
434//
435// For host, run with:
436// out/host/linux-x86/nativetest(64)/minijail0_cli_unittest_gtest/minijail0_cli_unittest_gtest
437// =========================================================
438cc_test {
439 name: "minijail0_cli_unittest_gtest",
440 defaults: ["libminijail_flags"],
441 host_supported: true,
442
443 cflags: [
444 "-DPRELOADPATH=\"/invalid\"",
445 ],
446 srcs: libminijailSrcFiles + [
Zi Lin44461c72021-11-16 18:37:27 +0000447 "config_parser.c",
Mike Frysinger4d2a81e2018-01-22 16:43:33 -0500448 "elfparse.c",
449 "minijail0_cli.c",
450 "minijail0_cli_unittest.cc",
451 ] + unittestSrcFiles,
452
453 static_libs: ["libminijail_generated"],
454 shared_libs: minijailCommonLibraries,
455
456 target: {
457 android: {
458 test_suites: ["device-tests"],
459 },
460 },
Zi Lin44461c72021-11-16 18:37:27 +0000461 data: ["test/*"],
Mike Frysinger4d2a81e2018-01-22 16:43:33 -0500462}
463
Zi Lin5158f552021-10-27 00:55:52 +0000464
465// Configuration file parser functionality unit tests using gtest.
466//
467// For a device, run with:
468// adb shell /data/nativetest/config_parser_unittest_gtest/config_parser_unittest_gtest
469//
470// For host, run with:
471// out/host/linux-x86/nativetest(64)/config_parser_unittest_gtest/config_parser_unittest_gtest
472// =========================================================
473cc_test {
474 name: "config_parser_unittest_gtest",
475 defaults: ["libminijail_flags"],
476 host_supported: true,
477
478 srcs: [
479 "config_parser.c",
480 "util.c",
481 "config_parser_unittest.cc",
482 ] + unittestSrcFiles,
483
484 static_libs: ["libminijail_generated"],
485 shared_libs: minijailCommonLibraries,
486
487 target: {
488 android: {
489 test_suites: ["device-tests"],
490 },
491 },
492 test_options: {
493 unit_test: true,
494 },
495 data: ["test/*"],
496}
497
Dan Willemsen2acbec52017-09-14 17:28:36 -0700498// libminijail_test executable for brillo_Minijail test.
499// =========================================================
500cc_test {
501 name: "libminijail_test",
502 defaults: ["libminijail_flags"],
503 test_suites: ["device-tests"],
504
505 gtest: false,
506
507 srcs: ["test/libminijail_test.cpp"],
508
509 shared_libs: [
510 "libbase",
511 "libminijail",
512 ],
513}
514
515// libminijail usage example.
516// =========================================================
517cc_binary {
518 name: "drop_privs",
519 defaults: ["libminijail_flags"],
520
521 // Don't build with ASan, but leave commented out for easy local debugging.
522 // sanitize: { address: true, },
523 srcs: ["examples/drop_privs.cpp"],
524
525 shared_libs: [
526 "libbase",
527 "libminijail",
528 ],
529}
530
531// minijail0 executable.
532// This is not currently used on Brillo/Android,
533// but it's convenient to be able to build it.
534// =========================================================
535cc_binary {
536 name: "minijail0",
537 defaults: ["libminijail_flags"],
Luis Hector Chavez413af652018-04-19 20:15:13 -0700538 host_supported: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700539
540 cflags: [
Dan Willemsen2acbec52017-09-14 17:28:36 -0700541 "-DPRELOADPATH=\"/invalidminijailpreload.so\"",
542 ],
543 srcs: [
Zi Lin44461c72021-11-16 18:37:27 +0000544 "config_parser.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700545 "elfparse.c",
546 "minijail0.c",
Mike Frysinger5ef22ca2018-01-20 13:42:10 -0500547 "minijail0_cli.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700548 ],
549
550 static_libs: ["libminijail_generated"],
551 shared_libs: minijailCommonLibraries + ["libminijail"],
552}
Lingfeng Yanga111f542020-02-20 08:50:39 -0800553
Yo Chiang81df0662020-07-25 19:40:44 +0800554rust_defaults {
555 name: "libminijail_rust_defaults",
556 target: {
557 darwin: {
558 enabled: false,
559 },
560 },
561}
562
Andrew Walbran9bd40192020-06-05 14:44:30 +0100563// This target was generated by cargo2android.py --run --device, with some
564// manual fixes.
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100565rust_library {
Lingfeng Yanga111f542020-02-20 08:50:39 -0800566 name: "libminijail_sys",
Yo Chiang81df0662020-07-25 19:40:44 +0800567 defaults: ["libminijail_rust_defaults"],
Andrew Walbran9bd40192020-06-05 14:44:30 +0100568 host_supported: true,
Lingfeng Yanga111f542020-02-20 08:50:39 -0800569 crate_name: "minijail_sys",
Allen Webb96dd14e2020-06-17 08:33:50 -0700570 srcs: ["rust/minijail-sys/lib.rs"],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800571 edition: "2018",
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100572 rustlibs: [
Lingfeng Yanga111f542020-02-20 08:50:39 -0800573 "liblibc",
574 ],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800575 shared_libs: [
576 "libcap",
Alistair Delva54fa7322020-08-24 13:01:05 -0700577 "libminijail",
Lingfeng Yanga111f542020-02-20 08:50:39 -0800578 ],
Jiyong Park1081a942020-12-07 15:09:28 +0900579 apex_available: [
580 "//apex_available:platform",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700581 "com.android.compos",
Jiyong Park1081a942020-12-07 15:09:28 +0900582 "com.android.virt",
583 ],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800584}
Alistair Delva9072fad2020-07-20 22:57:57 -0700585
586// This target was generated by cargo2android.py --run --device, with some
587// manual fixes.
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100588rust_library {
Alistair Delva9072fad2020-07-20 22:57:57 -0700589 name: "libminijail_rust",
Yo Chiang81df0662020-07-25 19:40:44 +0800590 defaults: ["libminijail_rust_defaults"],
Alistair Delva9072fad2020-07-20 22:57:57 -0700591 host_supported: true,
592 crate_name: "minijail",
593 srcs: ["rust/minijail/src/lib.rs"],
594 edition: "2018",
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100595 rustlibs: [
Alistair Delva9072fad2020-07-20 22:57:57 -0700596 "liblibc",
597 "libminijail_sys",
598 ],
Jiyong Park1081a942020-12-07 15:09:28 +0900599 apex_available: [
600 "//apex_available:platform",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700601 "com.android.compos",
Jiyong Park1081a942020-12-07 15:09:28 +0900602 "com.android.virt",
603 ],
Alistair Delva9072fad2020-07-20 22:57:57 -0700604}