Commit e01a75c1 authored by Andrii Nakryiko's avatar Andrii Nakryiko Committed by Daniel Borkmann
Browse files

libbpf: Move bpf_{helpers, helper_defs, endian, tracing}.h into libbpf



Move bpf_helpers.h, bpf_tracing.h, and bpf_endian.h into libbpf. Move
bpf_helper_defs.h generation into libbpf's Makefile. Ensure all those
headers are installed along the other libbpf headers. Also, adjust
selftests and samples include path to include libbpf now.

Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarSong Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20191008175942.1769476-6-andriin@fb.com
parent 3ac4dbe3
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -282,7 +282,7 @@ $(obj)/hbm_edt_kern.o: $(src)/hbm.h $(src)/hbm_kern.h
$(obj)/%.o: $(src)/%.c
$(obj)/%.o: $(src)/%.c
	@echo "  CLANG-bpf " $@
	@echo "  CLANG-bpf " $@
	$(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS) -I$(obj) \
	$(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS) -I$(obj) \
		-I$(srctree)/tools/testing/selftests/bpf/ \
		-I$(srctree)/tools/testing/selftests/bpf/ -I$(srctree)/tools/lib/bpf/ \
		-D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
		-D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
		-D__TARGET_ARCH_$(SRCARCH) -Wno-compare-distinct-pointer-types \
		-D__TARGET_ARCH_$(SRCARCH) -Wno-compare-distinct-pointer-types \
		-Wno-gnu-variable-sized-type-not-at-end \
		-Wno-gnu-variable-sized-type-not-at-end \
+1 −0
Original line number Original line Diff line number Diff line
@@ -6,3 +6,4 @@ libbpf.so.*
TAGS
TAGS
tags
tags
cscope.*
cscope.*
/bpf_helper_defs.h
+12 −4
Original line number Original line Diff line number Diff line
@@ -157,7 +157,7 @@ all: fixdep


all_cmd: $(CMD_TARGETS) check
all_cmd: $(CMD_TARGETS) check


$(BPF_IN): force elfdep bpfdep
$(BPF_IN): force elfdep bpfdep bpf_helper_defs.h
	@(test -f ../../include/uapi/linux/bpf.h -a -f ../../../include/uapi/linux/bpf.h && ( \
	@(test -f ../../include/uapi/linux/bpf.h -a -f ../../../include/uapi/linux/bpf.h && ( \
	(diff -B ../../include/uapi/linux/bpf.h ../../../include/uapi/linux/bpf.h >/dev/null) || \
	(diff -B ../../include/uapi/linux/bpf.h ../../../include/uapi/linux/bpf.h >/dev/null) || \
	echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'" >&2 )) || true
	echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'" >&2 )) || true
@@ -175,6 +175,10 @@ $(BPF_IN): force elfdep bpfdep
	echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h' differs from latest version at 'include/uapi/linux/if_xdp.h'" >&2 )) || true
	echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h' differs from latest version at 'include/uapi/linux/if_xdp.h'" >&2 )) || true
	$(Q)$(MAKE) $(build)=libbpf
	$(Q)$(MAKE) $(build)=libbpf


bpf_helper_defs.h: $(srctree)/include/uapi/linux/bpf.h
	$(Q)$(srctree)/scripts/bpf_helpers_doc.py --header 		\
		--file $(srctree)/include/uapi/linux/bpf.h > bpf_helper_defs.h

$(OUTPUT)libbpf.so: $(OUTPUT)libbpf.so.$(LIBBPF_VERSION)
$(OUTPUT)libbpf.so: $(OUTPUT)libbpf.so.$(LIBBPF_VERSION)


$(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN)
$(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN)
@@ -236,13 +240,17 @@ install_lib: all_cmd
		$(call do_install_mkdir,$(libdir_SQ)); \
		$(call do_install_mkdir,$(libdir_SQ)); \
		cp -fpR $(LIB_FILE) $(DESTDIR)$(libdir_SQ)
		cp -fpR $(LIB_FILE) $(DESTDIR)$(libdir_SQ)


install_headers:
install_headers: bpf_helper_defs.h
	$(call QUIET_INSTALL, headers) \
	$(call QUIET_INSTALL, headers) \
		$(call do_install,bpf.h,$(prefix)/include/bpf,644); \
		$(call do_install,bpf.h,$(prefix)/include/bpf,644); \
		$(call do_install,libbpf.h,$(prefix)/include/bpf,644); \
		$(call do_install,libbpf.h,$(prefix)/include/bpf,644); \
		$(call do_install,btf.h,$(prefix)/include/bpf,644); \
		$(call do_install,btf.h,$(prefix)/include/bpf,644); \
		$(call do_install,libbpf_util.h,$(prefix)/include/bpf,644); \
		$(call do_install,libbpf_util.h,$(prefix)/include/bpf,644); \
		$(call do_install,xsk.h,$(prefix)/include/bpf,644);
		$(call do_install,xsk.h,$(prefix)/include/bpf,644); \
		$(call do_install,bpf_helpers.h,$(prefix)/include/bpf,644); \
		$(call do_install,bpf_helper_defs.h,$(prefix)/include/bpf,644); \
		$(call do_install,bpf_tracing.h,$(prefix)/include/bpf,644); \
		$(call do_install,bpf_endian.h,$(prefix)/include/bpf,644);


install_pkgconfig: $(PC_FILE)
install_pkgconfig: $(PC_FILE)
	$(call QUIET_INSTALL, $(PC_FILE)) \
	$(call QUIET_INSTALL, $(PC_FILE)) \
@@ -259,7 +267,7 @@ config-clean:
clean:
clean:
	$(call QUIET_CLEAN, libbpf) $(RM) $(TARGETS) $(CXX_TEST_TARGET) \
	$(call QUIET_CLEAN, libbpf) $(RM) $(TARGETS) $(CXX_TEST_TARGET) \
		*.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \
		*.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \
		*.pc LIBBPF-CFLAGS
		*.pc LIBBPF-CFLAGS bpf_helper_defs.h
	$(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf
	$(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf




Loading