blob: 8360f69454192b9a79cca32e95d9c7a211bb4153 [file] [log] [blame]
Bob Badourb5457a72021-02-12 15:24:13 -08001package {
2 default_applicable_licenses: ["external_libcap_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18//
19// large-scale-change filtered out the below license kinds as false-positives:
20// SPDX-license-identifier-GPL
21// SPDX-license-identifier-GPL-2.0
22// SPDX-license-identifier-LGPL
23// See: http://go/android-license-faq
24license {
25 name: "external_libcap_license",
26 visibility: [":__subpackages__"],
27 license_kinds: [
28 "SPDX-license-identifier-Apache-2.0",
29 "SPDX-license-identifier-BSD",
30 "SPDX-license-identifier-BSD-3-Clause",
31 ],
32 license_text: [
33 "NOTICE",
34 ],
35}
36
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -070037cc_defaults {
38 name: "libcap_defaults",
39 cflags: [
Elliott Hughes5a87f0e2020-06-05 09:25:16 -070040 "-Wno-pointer-arith",
41 "-Wno-tautological-compare",
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -070042 "-Wno-unused-parameter",
43 "-Wno-unused-result",
Elliott Hughes5a87f0e2020-06-05 09:25:16 -070044 "-Wno-unused-variable",
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -070045 ],
46}
47
Dan Willemsend0dbccb2016-08-01 23:43:42 -070048cc_library {
49 name: "libcap",
Dan Willemsend0dbccb2016-08-01 23:43:42 -070050 host_supported: true,
Jiyong Park9c588102017-04-25 16:56:25 +090051 vendor_available: true,
Justin Yunf36c57c2020-11-11 16:24:15 +090052 product_available: true,
Inseob Kim7e908d52021-06-14 11:55:24 +090053 ramdisk_available: true,
Jiyong Parka63cdda2018-05-24 14:08:14 +090054 recovery_available: true,
Justin Yund05a95e2017-07-24 15:19:44 +090055 vndk: {
56 enabled: true,
57 },
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -070058 defaults: ["libcap_defaults"],
Dan Willemsend0dbccb2016-08-01 23:43:42 -070059
60 srcs: [
61 "libcap/cap_alloc.c",
62 "libcap/cap_extint.c",
63 "libcap/cap_file.c",
64 "libcap/cap_flag.c",
65 "libcap/cap_proc.c",
66 "libcap/cap_text.c",
67 ],
Elliott Hughesa8b83df2020-06-04 14:38:03 -070068 generated_headers: ["cap_names.h"],
Dan Willemsend0dbccb2016-08-01 23:43:42 -070069
70 local_include_dirs: ["libcap/include"],
71 export_include_dirs: ["libcap/include"],
72
73 target: {
74 darwin: {
75 enabled: false,
Tom Cherry64dcb222017-05-09 16:38:39 -070076 },
77 linux_bionic: {
78 enabled: true,
79 },
Haibo Huangd29d5072020-04-09 15:35:15 -070080 linux_glibc: {
81 local_include_dirs: ["libcap/include/uapi"],
82 },
Tom Cherry64dcb222017-05-09 16:38:39 -070083 },
Jiyong Park4eca36a2020-04-08 22:36:47 +090084 apex_available: [
Jooyung Han32563b82020-04-16 18:48:27 +090085 "//apex_available:platform",
86 "com.android.adbd",
Victor Hsieh2cde6942021-05-11 12:36:11 -070087 "com.android.compos",
Jooyung Han32563b82020-04-16 18:48:27 +090088 "com.android.media.swcodec",
Jiyong Park8626dd42020-12-07 15:08:24 +090089 "com.android.virt",
Jiyong Park4eca36a2020-04-08 22:36:47 +090090 ],
Jooyung Han32563b82020-04-16 18:48:27 +090091 min_sdk_version: "29",
Dan Willemsend0dbccb2016-08-01 23:43:42 -070092}
liminghao5e044e02016-11-15 16:28:23 +080093
94cc_binary {
95 name: "getcap",
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -070096 defaults: ["libcap_defaults"],
Elliott Hughesa8b83df2020-06-04 14:38:03 -070097 srcs: ["progs/getcap.c"],
liminghao5e044e02016-11-15 16:28:23 +080098 static_libs: [
99 "libcap",
100 ],
101}
102
103cc_binary {
104 name: "setcap",
Chih-Hung Hsiehe39c5302017-09-28 13:39:39 -0700105 defaults: ["libcap_defaults"],
Elliott Hughesa8b83df2020-06-04 14:38:03 -0700106 srcs: ["progs/setcap.c"],
liminghao5e044e02016-11-15 16:28:23 +0800107 static_libs: [
108 "libcap",
109 ],
110}
Elliott Hughesa8b83df2020-06-04 14:38:03 -0700111
112//
113// Generate cap_names.list.h from the <linux/capability.h> header (using awk).
114//
115
116genrule {
117 name: "cap_names.list.h",
118 srcs: ["libcap/include/uapi/linux/capability.h"],
119 out: ["cap_names.list.h"],
120 tool_files: [":generate_cap_names_list.awk"],
121 cmd: "awk -f $(location :generate_cap_names_list.awk) $(in) > $(out)",
122}
123
124filegroup {
125 name: "generate_cap_names_list.awk",
126 srcs: ["generate_cap_names_list.awk"],
127}
128
129//
130// Generate cap_names.h from cap_names.list.h (using _makenames).
131//
132
133genrule {
134 name: "cap_names.h",
135 out: ["cap_names.h"],
136 tools: [":_makenames"],
137 cmd: "$(location :_makenames) > $(out)",
138}
139
140cc_binary {
141 name: "_makenames",
142 defaults: ["libcap_defaults"],
143 srcs: ["libcap/_makenames.c"],
144 generated_headers: ["cap_names.list.h"],
145 host_supported: true,
146}