| Build instructions: |
| |
| 1. install cmake |
| 2. mkdir build |
| 3. cd build |
| 4. cmake .. |
| 5. make install |
| |
| cmake Options: |
| -DBUILD_SHARED_LIBS |
| By default SHARED libraries are created and applications are linked to it. |
| Use -DBUILD_SHARED_LIBS=OFF while invoking cmake to create STATIC libraries |
| and link applications to it. |
| |
| Ex. cmake -DBUILD_SHARED_LIBS=OFF .. |
| |
| -DCMAKE_INSTALL_PREFIX |
| Default is to install to /usr/local, use -DCMAKE_INSTALL_PREFIX= |
| when invoking cmake to specify another install location. |
| |
| -DCMAKE_INSTALL_LIBDIR |
| Default is to install to lib or lib64, use -DCMAKE_INSTALL_LIBDIR= |
| when invoking cmake to specify another install location. |
| |
| You may need to update the libbpf git submodule: |
| |
| git submodule update --init --recursive |
| |
| Testing: |
| |
| Tests are available in the tests subdirectory and should be run prior to |
| submitting patches. Patches that add functionality should add to tests |
| here also. Tests can be run by |
| |
| - running the scripts directly using a pre-existing vmlinux binary; i.e. |
| cd tests ; vmlinux=/path/2/vmlinux ./tests |
| (the vmlinux binary must contain DWARF to be converted to BTF) |
| |
| - running the tests via local scripts in .github/scripts; i.e. |
| bash .github/scripts/build-pahole.sh; \ |
| bash .github/scripts/build-kernel.sh; \ |
| bash .github/scripts/run-selftests.sh |
| - via GitHub actions: push a branch to a GitHub repo; actions will be |
| triggered for build and test matching the above steps. See the "Actions" |
| tab in the github repo for info on job pass/fail and logs. |