toolchain: gcc: improve patch handling by introducing major version
[openwrt/openwrt.git] / toolchain / Config.in
index 15151358065844a6f077977a9ae1134b92fe1d6d..fb14006055582e051840c21ed0c07d1d4aa0ca86 100644 (file)
@@ -40,15 +40,24 @@ 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"
 
                config BPF_TOOLCHAIN_BUILD_LLVM
+                       select USE_LLVM_BUILD
                        bool "Build LLVM toolchain for eBPF"
                        help
                          If enabled, a LLVM toolchain for building eBPF binaries will be built.
@@ -238,6 +247,14 @@ comment "Binary tools"
 
 source "toolchain/binutils/Config.in"
 
+config DWARVES
+       bool
+       prompt "Build pahole" if TOOLCHAINOPTS
+       depends on !HOST_OS_MACOS
+       default n
+       help
+         Enable if you want to build pahole and the dwarves tools.
+
 comment "Compiler"
        depends on TOOLCHAINOPTS
 
@@ -292,6 +309,26 @@ config GDB_PYTHON
        help
          Enable the python bindings for GDB to allow using python in the gdb shell.
 
+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
+
 config USE_GLIBC
        default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc)
        bool