Browse Source

config: add choice for selecting the LLVM toolchain type

This is global for all BPF based packages

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 4 years ago
parent
commit
5ad663b765
2 changed files with 25 additions and 7 deletions
  1. 24 6
      toolchain/Config.in
  2. 1 1
      tools/Makefile

+ 24 - 6
toolchain/Config.in

@@ -37,13 +37,31 @@ menuconfig TARGET_OPTIONS
 
 		  Most people will answer N.
 
-config BUILD_LLVM_BPF
-	bool "Build LLVM toolchain for eBPF" if DEVEL
-	help
-	  If enabled, a LLVM toolchain for building eBPF binaries will be built.
-	  If this is not enabled, eBPF packages can only be built if the host
-	  has a suitable toolchain
 
+	choice BPF_TOOLCHAIN
+		prompt "BPF toolchain" if DEVEL
+		default BPF_TOOLCHAIN_NONE
+
+		config BPF_TOOLCHAIN_NONE
+			bool "None"
+
+		config BPF_TOOLCHAIN_HOST
+			bool "Use host LLVM toolchain"
+
+		config BPF_TOOLCHAIN_BUILD_LLVM
+			bool "Build LLVM toolchain for eBPF"
+			help
+			  If enabled, a LLVM toolchain for building eBPF binaries will be built.
+			  If this is not enabled, eBPF packages can only be built if the host
+			  has a suitable toolchain
+	endchoice
+
+	config BPF_TOOLCHAIN_HOST_PATH
+		string
+		depends on BPF_TOOLCHAIN_HOST
+		prompt "Host LLVM toolchain path (prefix)" if DEVEL
+		default "/usr/local/opt/llvm" if HOST_OS_MACOS
+		default ""
 
 menuconfig EXTERNAL_TOOLCHAIN
 	bool

+ 1 - 1
tools/Makefile

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