mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-02-16 11:56:56 +00:00
build: add support for using prebuilt LLVM toolchain
When the prebuilt llvm toolchain is unpacked into the source dir, it is automatically picked up and used by the build system, and eBPF based packages can be selected Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
10cbce3b52
commit
9f90a89655
@ -1,6 +1,7 @@
|
|||||||
BPF_DEPENDS := @HAS_BPF_TOOLCHAIN
|
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))
|
BPF_TOOLCHAIN_HOST_PATH:=$(call qstrip,$(CONFIG_BPF_TOOLCHAIN_HOST_PATH))
|
||||||
ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)
|
ifneq ($(BPF_TOOLCHAIN_HOST_PATH),)
|
||||||
BPF_PATH:=$(BPF_TOOLCHAIN_HOST_PATH)/bin:$(PATH)
|
BPF_PATH:=$(BPF_TOOLCHAIN_HOST_PATH)/bin:$(PATH)
|
||||||
@ -9,9 +10,12 @@ ifneq ($(CONFIG_BPF_TOOLCHAIN_HOST),)
|
|||||||
endif
|
endif
|
||||||
CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' which clang clang-13 clang-12 clang-11))
|
CLANG:=$(firstword $(shell PATH='$(BPF_PATH)' which clang clang-13 clang-12 clang-11))
|
||||||
LLVM_VER:=$(subst clang,,$(notdir $(CLANG)))
|
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
|
CLANG:=$(STAGING_DIR_HOST)/llvm-bpf/bin/clang
|
||||||
LLVM_VER:=
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LLVM_PATH:=$(dir $(CLANG))
|
LLVM_PATH:=$(dir $(CLANG))
|
||||||
|
@ -41,11 +41,17 @@ 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_BUILD_LLVM if BUILDBOT
|
||||||
|
default BPF_TOOLCHAIN_PREBUILT if HAS_PREBUILT_LLVM_TOOLCHAIN
|
||||||
default BPF_TOOLCHAIN_NONE
|
default BPF_TOOLCHAIN_NONE
|
||||||
|
|
||||||
config BPF_TOOLCHAIN_NONE
|
config BPF_TOOLCHAIN_NONE
|
||||||
bool "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
|
config BPF_TOOLCHAIN_HOST
|
||||||
select USE_LLVM_HOST
|
select USE_LLVM_HOST
|
||||||
bool "Use host LLVM toolchain"
|
bool "Use host LLVM toolchain"
|
||||||
@ -298,10 +304,18 @@ config GDB_PYTHON
|
|||||||
config HAS_BPF_TOOLCHAIN
|
config HAS_BPF_TOOLCHAIN
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config HAS_PREBUILT_LLVM_TOOLCHAIN
|
||||||
|
def_bool $(shell, [ -f llvm-bpf/.llvm-version ] && echo y || echo n)
|
||||||
|
|
||||||
config USE_LLVM_HOST
|
config USE_LLVM_HOST
|
||||||
select HAS_BPF_TOOLCHAIN
|
select HAS_BPF_TOOLCHAIN
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config USE_LLVM_PREBUILT
|
||||||
|
select HAS_BPF_TOOLCHAIN
|
||||||
|
default y if !DEVEL && !BUILDBOT && HAS_PREBUILT_LLVM_TOOLCHAIN
|
||||||
|
bool
|
||||||
|
|
||||||
config USE_LLVM_BUILD
|
config USE_LLVM_BUILD
|
||||||
default y if !DEVEL && BUILDBOT
|
default y if !DEVEL && BUILDBOT
|
||||||
select HAS_BPF_TOOLCHAIN
|
select HAS_BPF_TOOLCHAIN
|
||||||
|
Loading…
Reference in New Issue
Block a user