config: add a knob to use the mold linker for packages
[openwrt/staging/nbd.git] / config / Config-build.in
index f8d0f8e0bd238d2cdbef263b1539ee6aeed0647a..5f9a1be8586267ba56fb0bd499bdd586ead0501a 100644 (file)
@@ -159,6 +159,19 @@ menu "Global build settings"
                  Adds LTO flags to the CFLAGS and LDFLAGS.
                  Packages can choose to opt-out via setting PKG_BUILD_FLAGS:=no-lto
 
+       config MOLD
+               depends on (aarch64 || arm || i386 || i686 || m68k || powerpc || powerpc64 || sh4 || x86_64)
+               depends on !GCC_USE_VERSION_11
+               def_bool $(shell, ./config/check-hostcxx.sh 10 2 12)
+
+       config USE_MOLD
+               bool
+               prompt "Use the mold linker for all packages"
+               depends on MOLD
+               help
+                 Link packages with mold, a modern linker
+                 Packages can opt-out via setting PKG_BUILD_FLAGS:=no-mold
+
        config IPV6
                def_bool y
 
@@ -200,7 +213,7 @@ menu "Global build settings"
 
        config SSTRIP_DISCARD_TRAILING_ZEROES
                bool "Strip trailing zero bytes"
-               depends on USE_SSTRIP
+               depends on USE_SSTRIP && !USE_MOLD
                default y
                help
                  Use sstrip's -z option to discard trailing zero bytes