2018-10-10 04:45:49 +00:00
|
|
|
|
2019-05-16 03:55:16 +00:00
|
|
|
This is a mirror of [bpf-next linux tree](https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next)'s
|
|
|
|
`tools/lib/bpf` directory plus its supporting header files.
|
2018-10-10 04:45:49 +00:00
|
|
|
|
|
|
|
The following files will by sync'ed with bpf-next repo:
|
2019-05-16 03:55:16 +00:00
|
|
|
- `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
|
2018-10-10 04:45:49 +00:00
|
|
|
successful.
|
|
|
|
|
2019-05-14 13:30:21 +00:00
|
|
|
Build [![Build Status](https://travis-ci.org/libbpf/libbpf.svg?branch=master)](https://travis-ci.org/libbpf/libbpf)
|
2018-10-10 04:45:49 +00:00
|
|
|
=====
|
2019-03-28 19:31:46 +00:00
|
|
|
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
|
2019-05-16 03:55:16 +00:00
|
|
|
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.
|
2019-03-28 19:31:46 +00:00
|
|
|
|
2019-03-29 16:29:49 +00:00
|
|
|
To build both static libbpf.a and shared libbpf.so:
|
2019-05-16 03:55:16 +00:00
|
|
|
```bash
|
|
|
|
$ cd src
|
|
|
|
$ make
|
|
|
|
```
|
2018-10-11 21:58:49 +00:00
|
|
|
|
2019-03-29 16:29:49 +00:00
|
|
|
To build only static libbpf.a library in directory
|
2018-10-11 21:58:49 +00:00
|
|
|
build/ and install them together with libbpf headers in a staging directory
|
|
|
|
root/:
|
2019-05-16 03:55:16 +00:00
|
|
|
```bash
|
|
|
|
$ cd src
|
|
|
|
$ mkdir build root
|
|
|
|
$ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
|
|
|
|
```
|
2019-03-28 19:31:46 +00:00
|
|
|
|
|
|
|
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/:
|
2019-05-16 03:55:16 +00:00
|
|
|
```bash
|
|
|
|
$ cd src
|
|
|
|
$ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install
|
|
|
|
```
|