[openwrt/openwrt] config: add choice for selecting the LLVM toolchain type

LEDE Commits lede-commits at lists.infradead.org
Mon Nov 1 08:40:16 PDT 2021


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/5ad663b7652e06e430209c2b3f5ab835181082e7

commit 5ad663b7652e06e430209c2b3f5ab835181082e7
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Mon Nov 1 15:36:36 2021 +0100

    config: add choice for selecting the LLVM toolchain type
    
    This is global for all BPF based packages
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 toolchain/Config.in | 30 ++++++++++++++++++++++++------
 tools/Makefile      |  2 +-
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/toolchain/Config.in b/toolchain/Config.in
index 1d230ca22f..1515135806 100644
--- a/toolchain/Config.in
+++ b/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
diff --git a/tools/Makefile b/tools/Makefile
index dc665f6b46..f070692942 100644
--- a/tools/Makefile
+++ b/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



More information about the lede-commits mailing list