Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / bpf / libbpf / libbpf_build.rst
blob8e8c23e8093d1d53f9149ea7ca2fdbe51a007db2
1 .. SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
3 Building libbpf
4 ===============
6 libelf and zlib are internal dependencies of libbpf and thus are required to link
7 against and must be installed on the system for applications to work.
8 pkg-config is used by default to find libelf, and the program called
9 can be overridden with PKG_CONFIG.
11 If using pkg-config at build time is not desired, it can be disabled by
12 setting NO_PKG_CONFIG=1 when calling make.
14 To build both static libbpf.a and shared libbpf.so:
16 .. code-block:: bash
18     $ cd src
19     $ make
21 To build only static libbpf.a library in directory build/ and install them
22 together with libbpf headers in a staging directory root/:
24 .. code-block:: bash
26     $ cd src
27     $ mkdir build root
28     $ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
30 To build both static libbpf.a and shared libbpf.so against a custom libelf
31 dependency installed in /build/root/ and install them together with libbpf
32 headers in a build directory /build/root/:
34 .. code-block:: bash
36     $ cd src
37     $ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make