summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-02-07 10:11:42 +0000
committerFelix Fietkau2025-02-07 10:19:10 +0000
commit8cd50a6aeca3aaef5c391fb092e273d6b4c92f70 (patch)
tree45cd46705ca5de7e110650510756cce54472af07
parent7609571dcd9383439d34320d27f963cc81014c76 (diff)
downloadopenwrt-8cd50a6aeca3aaef5c391fb092e273d6b4c92f70.tar.gz
build: conditionally build llvm bpf toolchain by default
Unless another toolchain is present (or selected), build the bpf toolchain whenever a package is selected that needs it. Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 6605e45676815156f0c47d4117ee401e6616fcac)
-rw-r--r--include/bpf.mk2
-rw-r--r--package/network/services/unetd/Makefile1
-rw-r--r--toolchain/Config.in14
3 files changed, 9 insertions, 8 deletions
diff --git a/include/bpf.mk b/include/bpf.mk
index 2b7aa8512c..8a0121aabe 100644
--- a/include/bpf.mk
+++ b/include/bpf.mk
@@ -1,4 +1,4 @@
-BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
+BPF_DEPENDS := @HAS_BPF_TOOLCHAIN +@NEED_BPF_TOOLCHAIN
LLVM_VER:=
CLANG_MIN_VER:=12
diff --git a/package/network/services/unetd/Makefile b/package/network/services/unetd/Makefile
index c387521998..66d27ff6b9 100644
--- a/package/network/services/unetd/Makefile
+++ b/package/network/services/unetd/Makefile
@@ -40,6 +40,7 @@ define Package/unetd/config
bool "VXLAN support"
depends on PACKAGE_unetd
depends on HAS_BPF_TOOLCHAIN
+ select NEED_BPF_TOOLCHAIN
default y
endef
diff --git a/toolchain/Config.in b/toolchain/Config.in
index b4ba5b3b67..71ebbeb47b 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -40,9 +40,8 @@ menuconfig TARGET_OPTIONS
choice BPF_TOOLCHAIN
prompt "BPF toolchain" if DEVEL
- default BPF_TOOLCHAIN_BUILD_LLVM if BUILDBOT
default BPF_TOOLCHAIN_PREBUILT if HAS_PREBUILT_LLVM_TOOLCHAIN
- default BPF_TOOLCHAIN_NONE
+ default BPF_TOOLCHAIN_BUILD_LLVM
config BPF_TOOLCHAIN_NONE
bool "None"
@@ -57,7 +56,7 @@ menuconfig TARGET_OPTIONS
bool "Use host LLVM toolchain"
config BPF_TOOLCHAIN_BUILD_LLVM
- select USE_LLVM_BUILD
+ select USE_LLVM_BUILD if NEED_BPF_TOOLCHAIN
bool "Build LLVM toolchain for eBPF"
help
If enabled, a LLVM toolchain for building eBPF binaries will be built.
@@ -320,23 +319,24 @@ config GDB_PYTHON
Enable the python bindings for GDB to allow using python in the gdb shell.
config HAS_BPF_TOOLCHAIN
+ default y if !BPF_TOOLCHAIN_NONE
+ bool
+
+config NEED_BPF_TOOLCHAIN
bool
config HAS_PREBUILT_LLVM_TOOLCHAIN
def_bool $(shell, [ -f llvm-bpf/.llvm-version ] && echo y || echo n)
config USE_LLVM_HOST
- select HAS_BPF_TOOLCHAIN
bool
config USE_LLVM_PREBUILT
- select HAS_BPF_TOOLCHAIN
default y if !DEVEL && !BUILDBOT && HAS_PREBUILT_LLVM_TOOLCHAIN
bool
config USE_LLVM_BUILD
- default y if !DEVEL && BUILDBOT
- select HAS_BPF_TOOLCHAIN
+ default y if !DEVEL && NEED_BPF_TOOLCHAIN && (BUILDBOT || !HAS_PREBUILT_LLVM_TOOLCHAIN)
bool
config USE_GLIBC