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"
string
prompt "Toolchain include path" if DEVEL
depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
+ default "./usr/include ./include/fortify ./include" if EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
default "./usr/include ./include"
help
Specify additional directories searched for header files (override
bool
prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
depends on !sparc
- default n
help
Some builds may require a 'biarch' toolchain. This option
allows you to specify an additional target arch.
source "toolchain/binutils/Config.in"
+config DWARVES
+ bool
+ prompt "Build pahole" if TOOLCHAINOPTS
+ depends on !HOST_OS_MACOS
+ help
+ Enable if you want to build pahole and the dwarves tools.
+
comment "Compiler"
depends on TOOLCHAINOPTS
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
bool