commit | eba15fdedda4aad74494ed4bbed55d0c36494b12 | [log] [tgz] |
---|---|---|
author | Matthias Maennich <maennich@google.com> | Tue Jun 23 10:50:41 2020 +0200 |
committer | Matthias Maennich <maennich@google.com> | Tue Sep 22 18:45:57 2020 +0100 |
tree | 1d5f8ff7396a867ea4a95d5787ebb583dda02d74 | |
parent | c16d1379e6b058a417873bfa4a0e6b9990a25b71 [diff] |
Add build description to build libbpf In order to build this with the provided glibc, we need to sneak in a more current perf_event.h from the bionic prebuilts. Yes, that is a hack while we figure this out with upstream or explore how we can use host bionic in this case. Bug: 159682555 Signed-off-by: Matthias Maennich <maennich@google.com> Change-Id: Iff5fcf216ab73e68b9f9d1a31aa5e7db70ef1a2a
This is a mirror of bpf-next linux tree's tools/lib/bpf
directory plus its supporting header files.
The following files will by sync'ed with bpf-next repo:
src/
<-> bpf-next/tools/lib/bpf/
include/uapi/linux/bpf_common.h
<-> bpf-next/tools/include/uapi/linux/bpf_common.h
include/uapi/linux/bpf.h
<-> bpf-next/tools/include/uapi/linux/bpf.h
include/uapi/linux/btf.h
<-> bpf-next/tools/include/uapi/linux/btf.h
include/uapi/linux/if_link.h
<-> bpf-next/tools/include/uapi/linux/if_link.h
include/uapi/linux/if_xdp.h
<-> bpf-next/tools/include/uapi/linux/if_xdp.h
include/uapi/linux/netlink.h
<-> bpf-next/tools/include/uapi/linux/netlink.h
include/tools/libc_compat.h
<-> bpf-next/tools/include/tools/libc_compat.h
Other header files at this repo (include/linux/*.h
) are reduced versions of their counterpart files at bpf-next's tools/include/linux/*.h
to make compilation successful.
libelf is an internal dependency of libbpf and thus it is required to link against and must be installed on the system for applications to work. pkg-config is used by default to find libelf, and the program called can be overridden with PKG_CONFIG
. If using pkg-config
at build time is not desired, it can be disabled by setting NO_PKG_CONFIG=1
when calling make.
To build both static libbpf.a and shared libbpf.so:
$ cd src
$ make
To build only static libbpf.a library in directory build/ and install them together with libbpf headers in a staging directory root/:
$ cd src $ mkdir build root $ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
To build both static libbpf.a and shared libbpf.so against a custom libelf dependency installed in /build/root/ and install them together with libbpf headers in a build directory /build/root/:
$ cd src $ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install
Distributions packaging libbpf from this mirror:
Benefits of packaging from the mirror over packaging from kernel sources:
Package dependencies of libbpf, package names may vary across distros:
This work is dual-licensed under BSD 2-clause license and GNU LGPL v2.1 license. You can choose between one of them if you use this work.
SPDX-License-Identifier: BSD-2-Clause OR LGPL-2.1