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>
This commit is contained in:
Felix Fietkau 2025-02-07 11:11:42 +01:00
parent 411df8fbc4
commit 6605e45676
3 changed files with 9 additions and 8 deletions

View File

@ -1,4 +1,4 @@
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN BPF_DEPENDS := @HAS_BPF_TOOLCHAIN +@NEED_BPF_TOOLCHAIN
LLVM_VER:= LLVM_VER:=
CLANG_MIN_VER:=12 CLANG_MIN_VER:=12

View File

@ -40,6 +40,7 @@ define Package/unetd/config
bool "VXLAN support" bool "VXLAN support"
depends on PACKAGE_unetd depends on PACKAGE_unetd
depends on HAS_BPF_TOOLCHAIN depends on HAS_BPF_TOOLCHAIN
select NEED_BPF_TOOLCHAIN
default y default y
endef endef

View File

@ -40,9 +40,8 @@ menuconfig TARGET_OPTIONS
choice BPF_TOOLCHAIN choice BPF_TOOLCHAIN
prompt "BPF toolchain" if DEVEL prompt "BPF toolchain" if DEVEL
default BPF_TOOLCHAIN_BUILD_LLVM if BUILDBOT
default BPF_TOOLCHAIN_PREBUILT if HAS_PREBUILT_LLVM_TOOLCHAIN default BPF_TOOLCHAIN_PREBUILT if HAS_PREBUILT_LLVM_TOOLCHAIN
default BPF_TOOLCHAIN_NONE default BPF_TOOLCHAIN_BUILD_LLVM
config BPF_TOOLCHAIN_NONE config BPF_TOOLCHAIN_NONE
bool "None" bool "None"
@ -57,7 +56,7 @@ menuconfig TARGET_OPTIONS
bool "Use host LLVM toolchain" bool "Use host LLVM toolchain"
config BPF_TOOLCHAIN_BUILD_LLVM config BPF_TOOLCHAIN_BUILD_LLVM
select USE_LLVM_BUILD select USE_LLVM_BUILD if NEED_BPF_TOOLCHAIN
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.
@ -320,23 +319,24 @@ config GDB_PYTHON
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 config HAS_BPF_TOOLCHAIN
default y if !BPF_TOOLCHAIN_NONE
bool
config NEED_BPF_TOOLCHAIN
bool bool
config HAS_PREBUILT_LLVM_TOOLCHAIN config HAS_PREBUILT_LLVM_TOOLCHAIN
def_bool $(shell, [ -f llvm-bpf/.llvm-version ] && echo y || echo n) def_bool $(shell, [ -f llvm-bpf/.llvm-version ] && echo y || echo n)
config USE_LLVM_HOST config USE_LLVM_HOST
select HAS_BPF_TOOLCHAIN
bool bool
config USE_LLVM_PREBUILT config USE_LLVM_PREBUILT
select HAS_BPF_TOOLCHAIN
default y if !DEVEL && !BUILDBOT && HAS_PREBUILT_LLVM_TOOLCHAIN default y if !DEVEL && !BUILDBOT && HAS_PREBUILT_LLVM_TOOLCHAIN
bool bool
config USE_LLVM_BUILD config USE_LLVM_BUILD
default y if !DEVEL && BUILDBOT default y if !DEVEL && NEED_BPF_TOOLCHAIN && (BUILDBOT || !HAS_PREBUILT_LLVM_TOOLCHAIN)
select HAS_BPF_TOOLCHAIN
bool bool
config USE_GLIBC config USE_GLIBC