On Wed, Jan 15, 2020 at 03:12:48PM +0100, Toke Høiland-Jørgensen wrote:
The recent commit 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are taken from selftests dir") broke compilation against libbpf if it is installed on the system, and $INCLUDEDIR/bpf is not in the include path.
Since having the bpf/ subdir of $INCLUDEDIR in the include path has never been a requirement for building against libbpf before, this needs to be fixed. One option is to just revert the offending commit and figure out a different way to achieve what it aims for. However, this series takes a different approach: Changing all in-tree users of libbpf to consistently use a bpf/ prefix in #include directives for header files from libbpf.
I don't think such approach will work in all cases. Consider the user installing libbpf headers into /home/somebody/include/bpf/, passing that path to -I and trying to build bpf progs that do #include "bpf_helpers.h"... In the current shape of libbpf everything will compile fine, but after patch 8 of this series the compiler will not find bpf/bpf_helper_defs.h. So I think we have no choice, but to revert that part of Andrii's patch. Note that doing #include "" for additional library headers is a common practice. There was nothing wrong about #include "bpf_helper_defs.h" in bpf_helpers.h.