summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-11-01 15:36:36 +0100
committerFelix Fietkau <nbd@nbd.name>2021-11-01 16:38:40 +0100
commit5ad663b7652e06e430209c2b3f5ab835181082e7 (patch)
tree61b8c0d21ed118824c40d9827176b47b072c9b54
parent2d5b83197a2035b95efdd954f086f099b67ae139 (diff)
downloadopenwrt-5ad663b7652e06e430209c2b3f5ab835181082e7.tar.gz
openwrt-5ad663b7652e06e430209c2b3f5ab835181082e7.tar.bz2
openwrt-5ad663b7652e06e430209c2b3f5ab835181082e7.zip
config: add choice for selecting the LLVM toolchain type
This is global for all BPF based packages Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--toolchain/Config.in30
-rw-r--r--tools/Makefile2
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