Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 1 | cc_defaults { |
| 2 | name: "libcap_defaults", |
| 3 | cflags: [ |
Elliott Hughes | 5a87f0e | 2020-06-05 09:25:16 -0700 | [diff] [blame] | 4 | "-Wno-pointer-arith", |
| 5 | "-Wno-tautological-compare", |
Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 6 | "-Wno-unused-parameter", |
| 7 | "-Wno-unused-result", |
Elliott Hughes | 5a87f0e | 2020-06-05 09:25:16 -0700 | [diff] [blame] | 8 | "-Wno-unused-variable", |
Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 9 | ], |
| 10 | } |
| 11 | |
Dan Willemsen | d0dbccb | 2016-08-01 23:43:42 -0700 | [diff] [blame] | 12 | cc_library { |
| 13 | name: "libcap", |
Dan Willemsen | d0dbccb | 2016-08-01 23:43:42 -0700 | [diff] [blame] | 14 | host_supported: true, |
Jiyong Park | 9c58810 | 2017-04-25 16:56:25 +0900 | [diff] [blame] | 15 | vendor_available: true, |
Justin Yun | f36c57c | 2020-11-11 16:24:15 +0900 | [diff] [blame] | 16 | product_available: true, |
Jiyong Park | a63cdda | 2018-05-24 14:08:14 +0900 | [diff] [blame] | 17 | recovery_available: true, |
Justin Yun | d05a95e | 2017-07-24 15:19:44 +0900 | [diff] [blame] | 18 | vndk: { |
| 19 | enabled: true, |
| 20 | }, |
Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 21 | defaults: ["libcap_defaults"], |
Dan Willemsen | d0dbccb | 2016-08-01 23:43:42 -0700 | [diff] [blame] | 22 | |
| 23 | srcs: [ |
| 24 | "libcap/cap_alloc.c", |
| 25 | "libcap/cap_extint.c", |
| 26 | "libcap/cap_file.c", |
| 27 | "libcap/cap_flag.c", |
| 28 | "libcap/cap_proc.c", |
| 29 | "libcap/cap_text.c", |
| 30 | ], |
Elliott Hughes | a8b83df | 2020-06-04 14:38:03 -0700 | [diff] [blame] | 31 | generated_headers: ["cap_names.h"], |
Dan Willemsen | d0dbccb | 2016-08-01 23:43:42 -0700 | [diff] [blame] | 32 | |
| 33 | local_include_dirs: ["libcap/include"], |
| 34 | export_include_dirs: ["libcap/include"], |
| 35 | |
| 36 | target: { |
| 37 | darwin: { |
| 38 | enabled: false, |
Tom Cherry | 64dcb22 | 2017-05-09 16:38:39 -0700 | [diff] [blame] | 39 | }, |
| 40 | linux_bionic: { |
| 41 | enabled: true, |
| 42 | }, |
Haibo Huang | d29d507 | 2020-04-09 15:35:15 -0700 | [diff] [blame] | 43 | linux_glibc: { |
| 44 | local_include_dirs: ["libcap/include/uapi"], |
| 45 | }, |
Tom Cherry | 64dcb22 | 2017-05-09 16:38:39 -0700 | [diff] [blame] | 46 | }, |
Jiyong Park | 4eca36a | 2020-04-08 22:36:47 +0900 | [diff] [blame] | 47 | apex_available: [ |
Jooyung Han | 32563b8 | 2020-04-16 18:48:27 +0900 | [diff] [blame] | 48 | "//apex_available:platform", |
| 49 | "com.android.adbd", |
| 50 | "com.android.media.swcodec", |
Jiyong Park | 8626dd4 | 2020-12-07 15:08:24 +0900 | [diff] [blame^] | 51 | "com.android.virt", |
Jiyong Park | 4eca36a | 2020-04-08 22:36:47 +0900 | [diff] [blame] | 52 | ], |
Jooyung Han | 32563b8 | 2020-04-16 18:48:27 +0900 | [diff] [blame] | 53 | min_sdk_version: "29", |
Dan Willemsen | d0dbccb | 2016-08-01 23:43:42 -0700 | [diff] [blame] | 54 | } |
liminghao | 5e044e0 | 2016-11-15 16:28:23 +0800 | [diff] [blame] | 55 | |
| 56 | cc_binary { |
| 57 | name: "getcap", |
Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 58 | defaults: ["libcap_defaults"], |
Elliott Hughes | a8b83df | 2020-06-04 14:38:03 -0700 | [diff] [blame] | 59 | srcs: ["progs/getcap.c"], |
liminghao | 5e044e0 | 2016-11-15 16:28:23 +0800 | [diff] [blame] | 60 | static_libs: [ |
| 61 | "libcap", |
| 62 | ], |
| 63 | } |
| 64 | |
| 65 | cc_binary { |
| 66 | name: "setcap", |
Chih-Hung Hsieh | e39c530 | 2017-09-28 13:39:39 -0700 | [diff] [blame] | 67 | defaults: ["libcap_defaults"], |
Elliott Hughes | a8b83df | 2020-06-04 14:38:03 -0700 | [diff] [blame] | 68 | srcs: ["progs/setcap.c"], |
liminghao | 5e044e0 | 2016-11-15 16:28:23 +0800 | [diff] [blame] | 69 | static_libs: [ |
| 70 | "libcap", |
| 71 | ], |
| 72 | } |
Elliott Hughes | a8b83df | 2020-06-04 14:38:03 -0700 | [diff] [blame] | 73 | |
| 74 | // |
| 75 | // Generate cap_names.list.h from the <linux/capability.h> header (using awk). |
| 76 | // |
| 77 | |
| 78 | genrule { |
| 79 | name: "cap_names.list.h", |
| 80 | srcs: ["libcap/include/uapi/linux/capability.h"], |
| 81 | out: ["cap_names.list.h"], |
| 82 | tool_files: [":generate_cap_names_list.awk"], |
| 83 | cmd: "awk -f $(location :generate_cap_names_list.awk) $(in) > $(out)", |
| 84 | } |
| 85 | |
| 86 | filegroup { |
| 87 | name: "generate_cap_names_list.awk", |
| 88 | srcs: ["generate_cap_names_list.awk"], |
| 89 | } |
| 90 | |
| 91 | // |
| 92 | // Generate cap_names.h from cap_names.list.h (using _makenames). |
| 93 | // |
| 94 | |
| 95 | genrule { |
| 96 | name: "cap_names.h", |
| 97 | out: ["cap_names.h"], |
| 98 | tools: [":_makenames"], |
| 99 | cmd: "$(location :_makenames) > $(out)", |
| 100 | } |
| 101 | |
| 102 | cc_binary { |
| 103 | name: "_makenames", |
| 104 | defaults: ["libcap_defaults"], |
| 105 | srcs: ["libcap/_makenames.c"], |
| 106 | generated_headers: ["cap_names.list.h"], |
| 107 | host_supported: true, |
| 108 | } |