Skip to content

Commit

Permalink
build: conditionally build llvm bpf toolchain by default
Browse files Browse the repository at this point in the history
Unless another toolchain is present (or selected), build the bpf toolchain
whenever a package is selected that needs it.

Signed-off-by: Felix Fietkau <[email protected]>
  • Loading branch information
nbd168 committed Feb 7, 2025
1 parent 411df8f commit 6605e45
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 8 deletions.
2 changes: 1 addition & 1 deletion include/bpf.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN +@NEED_BPF_TOOLCHAIN
LLVM_VER:=

CLANG_MIN_VER:=12
Expand Down
1 change: 1 addition & 0 deletions package/network/services/unetd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions toolchain/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 6605e45

Please sign in to comment.