| # Copyright (C) 2023 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| load("@kleaf//build/kernel/kleaf:hermetic_tools.bzl", "hermetic_genrule") |
| |
| cc_library( |
| name = "libcap", |
| 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", |
| ] + glob(["**/*.h"]), |
| copts = [ |
| "-Wno-pointer-arith", |
| "-Wno-tautological-compare", |
| "-Wno-unused-parameter", |
| "-Wno-unused-result", |
| "-Wno-unused-variable", |
| ], |
| includes = [ |
| "libcap", |
| "libcap/include", |
| "libcap/include/uapi", |
| ], |
| visibility = ["//visibility:public"], |
| deps = ["cap_names_hdr"], |
| ) |
| |
| hermetic_genrule( |
| name = "cap_names_list", |
| srcs = ["libcap/include/uapi/linux/capability.h"], |
| outs = ["cap_names.list.h"], |
| cmd = "awk -f $(location generate_cap_names_list.awk) $(location libcap/include/uapi/linux/capability.h) > $@", |
| tools = ["generate_cap_names_list.awk"], |
| ) |
| |
| cc_library( |
| name = "cap_names_list_hdr", |
| hdrs = [":cap_names_list"], |
| ) |
| |
| hermetic_genrule( |
| name = "cap_names", |
| outs = ["cap_names.h"], |
| cmd = "$(location :_makenames) > $@", |
| tools = [":_makenames"], |
| ) |
| |
| cc_library( |
| name = "cap_names_hdr", |
| hdrs = [":cap_names"], |
| ) |
| |
| cc_binary( |
| name = "_makenames", |
| srcs = ["libcap/_makenames.c"], |
| copts = [ |
| "-Wno-pointer-arith", |
| "-Wno-tautological-compare", |
| "-Wno-unused-parameter", |
| "-Wno-unused-result", |
| "-Wno-unused-variable", |
| ], |
| deps = [":cap_names_list_hdr"], |
| ) |