blob: b83d6ba309472803220679753a0623d0e7101d86 [file] [log] [blame]
package {
default_applicable_licenses: ["external_bpftool_license"],
}
// See: http://go/android-license-faq
license {
name: "external_bpftool_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-BSD-2-Clause",
"SPDX-license-identifier-GPL-2.0-only",
],
license_text: [
"LICENSE.BSD-2-Clause",
"LICENSE.GPL-2.0",
],
}
cc_binary_host {
name: "bpftool",
srcs: [
"src/*.c",
"src/kernel/bpf/disasm.c",
],
exclude_srcs: [
"src/jit_disasm.c",
],
local_include_dirs: [
"include",
"include/uapi",
"src/kernel/bpf"
],
target: {
musl: {
// There is an unfortunate interaction between the bionic uapi headers
// used by musl and the kernel headers distributed with bpftool. The
// bionic uapi headers include <linux/compiler_types.h>, which they
// expect to be resolved to their own copy of compiler_types.h that
// includes compiler.h. It instead resolves to the bpftool copy,
// which includes compiler-gcc.h directly, triggering an error if
// the _LINUX_COMPILER_H_ header guard is not already defined. Hack
// around it by always including linux/compiler.h from the command line.
cflags: ["-include linux/compiler.h"],
},
},
static_libs: [
"libbpf",
"libcap",
"libelf",
"libz",
],
cflags: [
"-DBPFTOOL_WITHOUT_SKELETONS",
"-DBPFTOOL_VERSION=\"5.16.0-c446fdacb10d\"",
"-DUSE_LIBCAP",
"-Wno-missing-field-initializers",
"-Wno-pointer-arith",
"-Wno-unused-parameter",
]
}