blob: 29fda33df716cb3275d5728db537178209186221 [file] [log] [blame]
cc_defaults {
name: "libcap_defaults",
cflags: [
"-Wno-pointer-arith",
"-Wno-tautological-compare",
"-Wno-unused-parameter",
"-Wno-unused-result",
"-Wno-unused-variable",
],
}
cc_library {
name: "libcap",
host_supported: true,
vendor_available: true,
recovery_available: true,
vndk: {
enabled: true,
},
defaults: ["libcap_defaults"],
srcs: [
"libcap/cap_alloc.c",
"libcap/cap_extint.c",
"libcap/cap_file.c",
"libcap/cap_flag.c",
"libcap/cap_proc.c",
"libcap/cap_text.c",
],
generated_headers: ["cap_names.h"],
local_include_dirs: ["libcap/include"],
export_include_dirs: ["libcap/include"],
target: {
darwin: {
enabled: false,
},
linux_bionic: {
enabled: true,
},
linux_glibc: {
local_include_dirs: ["libcap/include/uapi"],
},
},
apex_available: [
"//apex_available:platform",
"com.android.adbd",
"com.android.media.swcodec",
],
min_sdk_version: "29",
}
cc_binary {
name: "getcap",
defaults: ["libcap_defaults"],
srcs: ["progs/getcap.c"],
static_libs: [
"libcap",
],
}
cc_binary {
name: "setcap",
defaults: ["libcap_defaults"],
srcs: ["progs/setcap.c"],
static_libs: [
"libcap",
],
}
//
// Generate cap_names.list.h from the <linux/capability.h> header (using awk).
//
genrule {
name: "cap_names.list.h",
srcs: ["libcap/include/uapi/linux/capability.h"],
out: ["cap_names.list.h"],
tool_files: [":generate_cap_names_list.awk"],
cmd: "awk -f $(location :generate_cap_names_list.awk) $(in) > $(out)",
}
filegroup {
name: "generate_cap_names_list.awk",
srcs: ["generate_cap_names_list.awk"],
}
//
// Generate cap_names.h from cap_names.list.h (using _makenames).
//
genrule {
name: "cap_names.h",
out: ["cap_names.h"],
tools: [":_makenames"],
cmd: "$(location :_makenames) > $(out)",
}
cc_binary {
name: "_makenames",
defaults: ["libcap_defaults"],
srcs: ["libcap/_makenames.c"],
generated_headers: ["cap_names.list.h"],
host_supported: true,
}