aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/bpf.mk10
-rw-r--r--toolchain/Config.in14
2 files changed, 21 insertions, 3 deletions
diff --git a/include/bpf.mk b/include/bpf.mk
index 28cdf6cb32..c68ad74554 100644
--- a/include/bpf.mk
+++ b/include/bpf.mk
@@ -1,6 +1,7 @@
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
+LLVM_VER:=
-ifneq ($(CONFIG_BPF_TOOLCHAIN_HOST),)
+ifneq ($(CONFIG_USE_LLVM_HOST),)
BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH))
ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)
BPF_PATH:=$(BPF_TOOLCHAIN_HOST_PATH)/bin:$(PATH)
@@ -9,9 +10,12 @@ ifneq ($(CONFIG_BPF_TOOLCHAIN_HOST),)
endif
CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' which clang clang-13 clang-12 clang-11))
LLVM_VER:=$(subst clang,,$(notdir $(CLANG)))
-else
+endif
+ifneq ($(CONFIG_USE_LLVM_PREBUILT),)
+ CLANG:=$(TOPDIR)/llvm-bpf/bin/clang
+endif
+ifneq ($(CONFIG_USE_LLVM_BUILD),)
CLANG:=$(STAGING_DIR_HOST)/llvm-bpf/bin/clang
- LLVM_VER:=
endif
LLVM_PATH:=$(dir $(CLANG))
diff --git a/toolchain/Config.in b/toolchain/Config.in
index a7da2a1f73..366f5c8b48 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -41,11 +41,17 @@ 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
config BPF_TOOLCHAIN_NONE
bool "None"
+ config BPF_TOOLCHAIN_PREBUILT
+ bool "Use prebuilt LLVM toolchain"
+ depends on HAS_PREBUILT_LLVM_TOOLCHAIN
+ select USE_LLVM_PREBUILT
+
config BPF_TOOLCHAIN_HOST
select USE_LLVM_HOST
bool "Use host LLVM toolchain"
@@ -298,10 +304,18 @@ config GDB_PYTHON
config HAS_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