Browse Source

build: fix bpf toolchain dependency for qosify

Add hidden symbols to fix defaults with CONFIG_DEVEL unset

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 4 years ago
parent
commit
6738820bf6
4 changed files with 17 additions and 2 deletions
  1. 2 0
      include/bpf.mk
  2. 1 1
      package/network/config/qosify/Makefile
  3. 13 0
      toolchain/Config.in
  4. 1 1
      tools/Makefile

+ 2 - 0
include/bpf.mk

@@ -1,3 +1,5 @@
+BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
+
 ifneq ($(CONFIG_BPF_TOOLCHAIN_HOST),)
 ifneq ($(CONFIG_BPF_TOOLCHAIN_HOST),)
   BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH))
   BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH))
   ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)
   ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)

+ 1 - 1
package/network/config/qosify/Makefile

@@ -29,7 +29,7 @@ define Package/qosify
   CATEGORY:=Kernel modules
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
   SUBMENU:=Network Support
   TITLE:=A simple QoS solution based eBPF + CAKE
   TITLE:=A simple QoS solution based eBPF + CAKE
-  DEPENDS:=+libbpf +libubox +libubus +kmod-sched-cake +tc-full @!BPF_TOOLCHAIN_NONE
+  DEPENDS:=+libbpf +libubox +libubus +kmod-sched-cake +tc-full $(BPF_DEPENDS)
 endef
 endef
 
 
 define Build/Compile
 define Build/Compile

+ 13 - 0
toolchain/Config.in

@@ -46,9 +46,11 @@ menuconfig TARGET_OPTIONS
 			bool "None"
 			bool "None"
 
 
 		config BPF_TOOLCHAIN_HOST
 		config BPF_TOOLCHAIN_HOST
+			select USE_LLVM_HOST
 			bool "Use host LLVM toolchain"
 			bool "Use host LLVM toolchain"
 
 
 		config BPF_TOOLCHAIN_BUILD_LLVM
 		config BPF_TOOLCHAIN_BUILD_LLVM
+			select USE_LLVM_BUILD
 			bool "Build LLVM toolchain for eBPF"
 			bool "Build LLVM toolchain for eBPF"
 			help
 			help
 			  If enabled, a LLVM toolchain for building eBPF binaries will be built.
 			  If enabled, a LLVM toolchain for building eBPF binaries will be built.
@@ -292,6 +294,17 @@ config GDB_PYTHON
 	help
 	help
 	  Enable the python bindings for GDB to allow using python in the gdb shell.
 	  Enable the python bindings for GDB to allow using python in the gdb shell.
 
 
+config HAS_BPF_TOOLCHAIN
+	bool
+
+config USE_LLVM_HOST
+	select HAS_BPF_TOOLCHAIN
+	bool
+
+config USE_LLVM_BUILD
+	select HAS_BPF_TOOLCHAIN
+	bool
+
 config USE_GLIBC
 config USE_GLIBC
 	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc)
 	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc)
 	bool
 	bool

+ 1 - 1
tools/Makefile

@@ -35,7 +35,7 @@ tools-$(CONFIG_TARGET_mxs) += elftosb sdimage
 tools-$(CONFIG_TARGET_tegra) += cbootimage cbootimage-configs
 tools-$(CONFIG_TARGET_tegra) += cbootimage cbootimage-configs
 tools-$(CONFIG_USES_MINOR) += kernel2minor
 tools-$(CONFIG_USES_MINOR) += kernel2minor
 tools-$(CONFIG_USE_SPARSE) += sparse
 tools-$(CONFIG_USE_SPARSE) += sparse
-tools-$(CONFIG_BPF_TOOLCHAIN_BUILD_LLVM) += llvm-bpf
+tools-$(CONFIG_USE_LLVM_BUILD) += llvm-bpf
 
 
 # builddir dependencies
 # builddir dependencies
 $(curdir)/autoconf/compile := $(curdir)/m4/compile
 $(curdir)/autoconf/compile := $(curdir)/m4/compile