mirror of
https://github.com/netdata/libbpf.git
synced 2026-03-21 00:39:07 +08:00
db1adc86580361e6acda632515756df0f0528e70
Add symlinks with version suffix in a way similar to how it's done in
kernel tree.
The differences with kernel tree version:
* LIBS is used to handle both files and targets w/o separation;
* Version symlink is created in corresponding target as opposed to do
everything in libbpf.so.$(LIBBPF_VERSION).
Example:
% OBJDIR=build DESTDIR=root make install
...
% find root/ ! -type d -exec ls -l {} +
-rw-r--r--. 1 rdna users 6046 Apr 2 18:09 root/usr/include/bpf/bpf.h
-rw-r--r--. 1 rdna users 3485 Apr 2 18:09 root/usr/include/bpf/btf.h
-rw-r--r--. 1 rdna users 16454 Apr 2 18:09 root/usr/include/bpf/libbpf.h
-rw-r--r--. 1 rdna users 602030 Apr 2 18:09 root/usr/lib64/libbpf.a
lrwxrwxrwx. 1 rdna users 11 Apr 2 18:09 root/usr/lib64/libbpf.so -> libbpf.so.0
lrwxrwxrwx. 1 rdna users 15 Apr 2 18:09 root/usr/lib64/libbpf.so.0 -> libbpf.so.0.0.2
-rwxr-xr-x. 1 rdna users 377640 Apr 2 18:09 root/usr/lib64/libbpf.so.0.0.2
-rw-r--r--. 1 rdna users 241 Apr 2 18:09 root/usr/lib64/pkgconfig/libbpf.pc
Signed-off-by: Andrey Ignatov <rdna@fb.com>
This is a mirror of bpf-next linux tree (https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next) bpf-next/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/tools/include/linux/*.h to make compilation successful. Build ===== 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
Description
Languages
C
98.3%
Shell
1.4%
Makefile
0.3%