menu "Toolchain options" visible if FREETZ_SHOW_EXPERT choice prompt "Toolchains" default FREETZ_DOWNLOAD_TOOLCHAIN help Download Toolchain, build toolchain config FREETZ_DOWNLOAD_TOOLCHAIN bool "Download and use precompiled toolchains" depends on FREETZ_AVM_VERSION_06_9X_MAX depends on !FREETZ_SYSTEM_TYPE_IPQ40xx depends on !FREETZ_SYSTEM_TYPE_PUMA6 depends on !FREETZ_SYSTEM_TYPE_QCA956x config FREETZ_BUILD_TOOLCHAIN bool "Build own toolchains (requires 4GB diskspace)" endchoice # "Toolchains" # comment "Kernel toolchain options ----------------------------------" config FREETZ_KERNEL_BINUTILS_2_18_DEFAULT bool depends on FREETZ_AVM_GCC_3_4_MAX default y config FREETZ_KERNEL_BINUTILS_2_22_DEFAULT bool depends on FREETZ_AVM_GCC_4_6_MIN && FREETZ_AVM_VERSION_06_9X_MAX && FREETZ_KERNEL_VERSION_2_6_39_MAX default y config FREETZ_KERNEL_BINUTILS_2_24_DEFAULT bool depends on FREETZ_AVM_GCC_4_6_MIN && FREETZ_AVM_VERSION_06_9X_MAX && FREETZ_KERNEL_VERSION_3_10_MIN default y config FREETZ_KERNEL_BINUTILS_2_25_DEFAULT bool depends on FREETZ_AVM_GCC_5_MIN && FREETZ_AVM_VERSION_07_0X_MIN default y choice prompt "Kernel binutils" default FREETZ_KERNEL_BINUTILS_2_18 if FREETZ_KERNEL_BINUTILS_2_18_DEFAULT default FREETZ_KERNEL_BINUTILS_2_22 if FREETZ_KERNEL_BINUTILS_2_22_DEFAULT default FREETZ_KERNEL_BINUTILS_2_24 if FREETZ_KERNEL_BINUTILS_2_24_DEFAULT default FREETZ_KERNEL_BINUTILS_2_25 if FREETZ_KERNEL_BINUTILS_2_25_DEFAULT config FREETZ_KERNEL_BINUTILS_2_18 bool "binutils-2.18" depends on FREETZ_AVM_GCC_3_4_MAX depends on FREETZ_KERNEL_VERSION_2_6_19_MAX depends on FREETZ_KERNEL_BINUTILS_2_18_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_KERNEL_BINUTILS_2_22 bool "binutils-2.22" depends on FREETZ_AVM_GCC_4_6_MIN && FREETZ_AVM_GCC_4_9_MAX depends on FREETZ_KERNEL_VERSION_2_6_39_MAX depends on FREETZ_KERNEL_BINUTILS_2_22_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_KERNEL_BINUTILS_2_23 bool "binutils-2.23.2" depends on FREETZ_AVM_GCC_4_6_MIN && FREETZ_AVM_GCC_4_9_MAX depends on FREETZ_KERNEL_VERSION_2_6_39_MAX depends on FREETZ_KERNEL_BINUTILS_2_23_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_KERNEL_BINUTILS_2_24 bool "binutils-2.24" depends on FREETZ_AVM_GCC_4_6_MIN # depends on any kernel version depends on FREETZ_KERNEL_BINUTILS_2_24_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_KERNEL_BINUTILS_2_25 bool "binutils-2.25.1" # starting with version 2.25 binutils support o32 FPXX # gcc versions up to 4.9.3 however do not pass the required -m(hard|soft)-float flags to the assembler # this is the reason for the gcc-4.9 dependency below depends on FREETZ_AVM_GCC_4_9_MIN # depends on any kernel version depends on FREETZ_KERNEL_BINUTILS_2_25_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_KERNEL_BINUTILS_2_26 bool "binutils-2.26.1" depends on FREETZ_AVM_GCC_4_9_MIN # depends on any kernel version depends on FREETZ_KERNEL_BINUTILS_2_26_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) endchoice choice prompt "Kernel compiler" default FREETZ_KERNEL_GCC_3_4 if FREETZ_AVM_GCC_3_4 default FREETZ_KERNEL_GCC_4_6 if FREETZ_AVM_GCC_4_6 default FREETZ_KERNEL_GCC_4_7 if FREETZ_AVM_GCC_4_7 default FREETZ_KERNEL_GCC_4_8 if FREETZ_AVM_GCC_4_8 default FREETZ_KERNEL_GCC_5 if FREETZ_AVM_GCC_5 config FREETZ_KERNEL_GCC_3_4 bool "gcc-3.4.6" depends on FREETZ_AVM_GCC_3_4 config FREETZ_KERNEL_GCC_4_6 bool "gcc-4.6.4" depends on FREETZ_AVM_GCC_4_6 config FREETZ_KERNEL_GCC_4_7 bool "gcc-4.7.4" depends on FREETZ_AVM_GCC_4_7 config FREETZ_KERNEL_GCC_4_8 bool "gcc-4.8.5" depends on FREETZ_AVM_GCC_4_8 config FREETZ_KERNEL_GCC_5 bool "gcc-5.5" depends on FREETZ_AVM_GCC_5 endchoice config FREETZ_KERNEL_BINUTILS_VERSION string default "2.18" if FREETZ_KERNEL_BINUTILS_2_18 default "2.22" if FREETZ_KERNEL_BINUTILS_2_22 default "2.23.2" if FREETZ_KERNEL_BINUTILS_2_23 default "2.24" if FREETZ_KERNEL_BINUTILS_2_24 default "2.25.1" if FREETZ_KERNEL_BINUTILS_2_25 default "2.26.1" if FREETZ_KERNEL_BINUTILS_2_26 config FREETZ_KERNEL_GCC_VERSION string default "3.4.6" if FREETZ_KERNEL_GCC_3_4 default "4.6.4" if FREETZ_KERNEL_GCC_4_6 default "4.7.4" if FREETZ_KERNEL_GCC_4_7 default "4.8.5" if FREETZ_KERNEL_GCC_4_8 default "5.5.0" if FREETZ_KERNEL_GCC_5 comment "Target toolchain options ----------------------------------" choice prompt "Target uClibc version" default FREETZ_TARGET_UCLIBC_0_9_28 if FREETZ_AVM_UCLIBC_0_9_28 default FREETZ_TARGET_UCLIBC_0_9_29 if FREETZ_AVM_UCLIBC_0_9_29 default FREETZ_TARGET_UCLIBC_0_9_32 if FREETZ_AVM_UCLIBC_0_9_32 default FREETZ_TARGET_UCLIBC_0_9_33 if FREETZ_AVM_UCLIBC_0_9_33 default FREETZ_TARGET_UCLIBC_1_0_14 if FREETZ_AVM_UCLIBC_1_0_14 config FREETZ_TARGET_UCLIBC_0_9_28 bool "0.9.28" depends on FREETZ_AVM_UCLIBC_0_9_28 config FREETZ_TARGET_UCLIBC_0_9_29 bool "0.9.29" depends on FREETZ_AVM_UCLIBC_0_9_29 config FREETZ_TARGET_UCLIBC_0_9_32 bool "0.9.32.1" depends on FREETZ_AVM_UCLIBC_0_9_32 \ || ((FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) && FREETZ_AVM_UCLIBC_0_9_29) config FREETZ_TARGET_UCLIBC_0_9_33 bool "0.9.33.2" depends on FREETZ_AVM_UCLIBC_0_9_33 \ || (FREETZ_AVM_UCLIBC_0_9_32 && FREETZ_KERNEL_VERSION_2_6_32) \ || ((FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) && (FREETZ_AVM_UCLIBC_0_9_29 || FREETZ_AVM_UCLIBC_0_9_32)) config FREETZ_TARGET_UCLIBC_1_0_14 bool "1.0.14" depends on FREETZ_AVM_UCLIBC_1_0_14 endchoice comment "CAUTION: Usage of an uClibc version higher than that used by AVM may lead to an unstable box" depends on (FREETZ_AVM_UCLIBC_0_9_29 && !FREETZ_TARGET_UCLIBC_0_9_29) \ || (FREETZ_AVM_UCLIBC_0_9_32 && !FREETZ_TARGET_UCLIBC_0_9_32) config FREETZ_TARGET_UCLIBC_SUPPORTS_libubacktrace bool #default y if FREETZ_TARGET_UCLIBC_0_9_32 default y if FREETZ_TARGET_UCLIBC_0_9_33 default y if FREETZ_TARGET_UCLIBC_1 default n config FREETZ_TARGET_UCLIBC_REQUIRES_libubacktrace bool depends on FREETZ_TARGET_UCLIBC_SUPPORTS_libubacktrace default y if \ (FREETZ_TARGET_ARCH_MIPS && (FREETZ_AVM_UCLIBC_0_9_33 || FREETZ_TARGET_UCLIBC_1) && !FREETZ_REMOVE_AVM_E2FSPROGS) || \ FREETZ_TARGET_ARCH_X86 default n config FREETZ_TARGET_BINUTILS_2_22_DEFAULT bool depends on FREETZ_KERNEL_BINUTILS_2_18_DEFAULT || FREETZ_KERNEL_BINUTILS_2_22_DEFAULT default y config FREETZ_TARGET_BINUTILS_2_24_DEFAULT bool depends on FREETZ_KERNEL_BINUTILS_2_24_DEFAULT default y config FREETZ_TARGET_BINUTILS_2_25_DEFAULT bool depends on FREETZ_KERNEL_BINUTILS_2_25_DEFAULT default y choice prompt "Target binutils" default FREETZ_TARGET_BINUTILS_2_22 if FREETZ_TARGET_BINUTILS_2_22_DEFAULT default FREETZ_TARGET_BINUTILS_2_24 if FREETZ_TARGET_BINUTILS_2_24_DEFAULT default FREETZ_TARGET_BINUTILS_2_25 if FREETZ_TARGET_BINUTILS_2_25_DEFAULT config FREETZ_TARGET_BINUTILS_2_22 bool "binutils-2.22" depends on (FREETZ_TARGET_GCC_4_6 || FREETZ_TARGET_GCC_4_7 || FREETZ_TARGET_GCC_4_8 || FREETZ_TARGET_GCC_4_9) depends on FREETZ_KERNEL_VERSION_2_6_39_MAX depends on FREETZ_TARGET_BINUTILS_2_22_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_TARGET_BINUTILS_2_23 bool "binutils-2.23.2" depends on (FREETZ_TARGET_GCC_4_6 || FREETZ_TARGET_GCC_4_7 || FREETZ_TARGET_GCC_4_8 || FREETZ_TARGET_GCC_4_9) depends on FREETZ_KERNEL_VERSION_2_6_39_MAX depends on FREETZ_TARGET_BINUTILS_2_23_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_TARGET_BINUTILS_2_24 bool "binutils-2.24" # depends on any target GCC version # depends on any kernel version depends on FREETZ_TARGET_BINUTILS_2_24_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_TARGET_BINUTILS_2_25 bool "binutils-2.25.1" depends on (FREETZ_TARGET_GCC_4_9 || FREETZ_TARGET_GCC_5) # depends on any kernel version depends on FREETZ_TARGET_BINUTILS_2_25_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_TARGET_BINUTILS_2_26 bool "binutils-2.26.1" depends on (FREETZ_TARGET_GCC_4_9 || FREETZ_TARGET_GCC_5) # depends on any kernel version depends on FREETZ_TARGET_BINUTILS_2_26_DEFAULT || (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) endchoice choice prompt "Target compiler" default FREETZ_TARGET_GCC_4_6 if FREETZ_AVM_GCC_4_6_MAX default FREETZ_TARGET_GCC_4_7 if FREETZ_AVM_GCC_4_7 default FREETZ_TARGET_GCC_4_8 if FREETZ_AVM_GCC_4_8 default FREETZ_TARGET_GCC_4_9 if FREETZ_AVM_GCC_4_9 default FREETZ_TARGET_GCC_5 if FREETZ_AVM_GCC_5 config FREETZ_TARGET_GCC_4_6 bool "gcc-4.6.4" depends on FREETZ_AVM_GCC_4_6_MAX config FREETZ_TARGET_GCC_4_7 bool "gcc-4.7.4" depends on FREETZ_AVM_GCC_4_7 \ || (FREETZ_AVM_GCC_4_7_MAX && (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE)) config FREETZ_TARGET_GCC_4_8 bool "gcc-4.8.5" depends on FREETZ_AVM_GCC_4_8 \ || (FREETZ_AVM_GCC_4_8_MAX && (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE)) config FREETZ_TARGET_GCC_4_9 bool "gcc-4.9.4" depends on FREETZ_AVM_GCC_4_9 \ || (FREETZ_AVM_GCC_4_9_MAX && (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE)) config FREETZ_TARGET_GCC_5 bool "gcc-5.5" depends on FREETZ_AVM_GCC_5 \ || (FREETZ_AVM_GCC_5_MAX && (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE)) endchoice config FREETZ_TARGET_GCC_SNAPSHOT bool "Use a snapshot of gcc-major-version selected above" depends on FREETZ_REAL_DEVELOPER_ONLY \ && (FREETZ_TARGET_GCC_4_8 || FREETZ_TARGET_GCC_4_9) && (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) config FREETZ_TARGET_GCC_SNAPSHOT_DATE string "Snapshot date (in YYYYMMDD format)" depends on FREETZ_TARGET_GCC_SNAPSHOT default "20150611" if FREETZ_TARGET_GCC_4_8 default "20160727" if FREETZ_TARGET_GCC_4_9 default "20171003" if FREETZ_TARGET_GCC_5 config FREETZ_TARGET_GCC_DEFAULT_AS_NEEDED bool default n if FREETZ_TARGET_UCLIBC_0_9_28 || FREETZ_TARGET_UCLIBC_0_9_29 default y help Enabling this option changes linker default from '--no-as-needed' to '--as-needed'. choice prompt "Standard C++ Library" default FREETZ_STDCXXLIB_USE_UCLIBCXX help Library to be used as the implementation of the Standard C++ Library. config FREETZ_STDCXXLIB_USE_UCLIBCXX bool "uClibc++" help uClibc++ is an implementation of the Standard C++ Library optimized for embedded systems (primarily for size). Its size is ~160KB. It however lacks a complete support for wchar type. It also has some performance deficiencies, e.g. std::map::find requires O(n), bubble sort O(n^2) is used as sort algorithm, and etc. config FREETZ_STDCXXLIB_USE_GNULIBSTDCXX bool "GNU libstdc++" help GNU libstdc++ is an implementation of the Standard C++ Library from the developers of the GNU Compiler Collection (GCC). It provides a full support for all features defined in the 2nd edition of the C++ Standard (ISO/IEC 14882:2003) and for many features of the upcoming version of the Standard. The only disadvantage it has compared to uClibc++ is its size - upto 900KB depending on the compiler version. endchoice config FREETZ_TARGET_UCLIBC_0 bool default y if FREETZ_TARGET_UCLIBC_0_9_28 default y if FREETZ_TARGET_UCLIBC_0_9_29 default y if FREETZ_TARGET_UCLIBC_0_9_32 default y if FREETZ_TARGET_UCLIBC_0_9_33 default n config FREETZ_TARGET_UCLIBC_1 bool default y if FREETZ_TARGET_UCLIBC_1_0_14 default n config FREETZ_TARGET_UCLIBC_VERSION string default "0.9.28" if FREETZ_TARGET_UCLIBC_0_9_28 default "0.9.29" if FREETZ_TARGET_UCLIBC_0_9_29 default "0.9.32.1" if FREETZ_TARGET_UCLIBC_0_9_32 default "0.9.33.2" if FREETZ_TARGET_UCLIBC_0_9_33 default "1.0.14" if FREETZ_TARGET_UCLIBC_1_0_14 config FREETZ_TARGET_UCLIBC_MAJOR_VERSION string default "1" if FREETZ_TARGET_UCLIBC_1 default "0" if FREETZ_TARGET_UCLIBC_0 config FREETZ_TARGET_BINUTILS_VERSION string default "2.22" if FREETZ_TARGET_BINUTILS_2_22 default "2.23.2" if FREETZ_TARGET_BINUTILS_2_23 default "2.24" if FREETZ_TARGET_BINUTILS_2_24 default "2.25.1" if FREETZ_TARGET_BINUTILS_2_25 default "2.26.1" if FREETZ_TARGET_BINUTILS_2_26 config FREETZ_TARGET_GCC_MAJOR_VERSION string default "4.6" if FREETZ_TARGET_GCC_4_6 default "4.7" if FREETZ_TARGET_GCC_4_7 default "4.8" if FREETZ_TARGET_GCC_4_8 default "4.9" if FREETZ_TARGET_GCC_4_9 default "5" if FREETZ_TARGET_GCC_5 config FREETZ_TARGET_GCC_MINOR_VERSION depends on !FREETZ_TARGET_GCC_SNAPSHOT string default "4" if FREETZ_TARGET_GCC_4_6 default "4" if FREETZ_TARGET_GCC_4_7 default "5" if FREETZ_TARGET_GCC_4_8 default "4" if FREETZ_TARGET_GCC_4_9 default "5.0" if FREETZ_TARGET_GCC_5 config FREETZ_TARGET_GCC_VERSION string default "${FREETZ_TARGET_GCC_MAJOR_VERSION}.${FREETZ_TARGET_GCC_MINOR_VERSION}" if !FREETZ_TARGET_GCC_SNAPSHOT default "${FREETZ_TARGET_GCC_MAJOR_VERSION}-${FREETZ_TARGET_GCC_SNAPSHOT_DATE}" if FREETZ_TARGET_GCC_SNAPSHOT config FREETZ_GNULIBSTDCXX_VERSION string default "6.0.16" if FREETZ_TARGET_GCC_4_6 default "6.0.17" if FREETZ_TARGET_GCC_4_7 default "6.0.19" if FREETZ_TARGET_GCC_4_8 default "6.0.20" if FREETZ_TARGET_GCC_4_9 default "6.0.21" if FREETZ_TARGET_GCC_5 config FREETZ_STDCXXLIB string default "uclibcxx" if FREETZ_STDCXXLIB_USE_UCLIBCXX default "libstdcxx" if FREETZ_STDCXXLIB_USE_GNULIBSTDCXX config FREETZ_TARGET_CFLAGS string "Target compiler flags" default "-Os -pipe" config FREETZ_RPATH string "FREETZ_RPATH" default "/usr/lib/freetz" help A run-time search path (a colon-separated list of directories) to be hard-coded in all binaries/libraries compiled using Freetz toolchain. What is this needed for? Freetz provides some libraries (e.g. OpenSSL, Zlib, SQLite) which are also used by AVM in the original firmware. Freetz versions of these libraries are not (always) compatible with the AVM ones (Freetz might use a higher version number, a deviating configuration, different compiler settings, etc.). In order to avoid collisions with the AVM versions of the libraries Freetz libraries are put in a non-standard directory (non-standard from the dynamic loader point of view). This option allows the user to set this directory - it will be the 1st element of FREETZ_RPATH. Note: If you do NOT plan to flash the Freetz image and use the Freetz toolchain just for compiling the binaries/libraries then you can also set this option to one of the standard dynamic loader search paths (/usr or /usr/lib). In this case the resulting binaries/libraries won't contain an RPATH entry. config FREETZ_TARGET_TOOLCHAIN_AVM_COMPATIBLE bool "Create toolchain compatible with original firmware" depends on FREETZ_BUILD_TOOLCHAIN && (FREETZ_AVM_UCLIBC_0_9_28 || FREETZ_AVM_UCLIBC_0_9_29) default n help In order to produce smaller binaries freetz toolchain is compiled with mips-plt optimizations enabled. Because of the missing support for the required relocation types in uClibc versions prior to 0.9.30 the binaries produced with a toolchain optimized this way could not be run on boxes with original firmware. This option causes mips-plt optimizations to be disabled. The binaries compiled with such toolchain could be run on boxes with unmodified firmware. Note: mips-plt optimizations affect only dynamically linked binaries. In case all binaries you want to run on an unmodified box will be linked statically it is safe to say 'no' here. config FREETZ_TARGET_UCLIBC_DODEBUG bool "Include debug symbols in uClibc" depends on (FREETZ_BUILD_TOOLCHAIN || FREETZ_DL_TOOLCHAIN_OVERRIDE) && (FREETZ_TARGET_UCLIBC_0_9_32 || FREETZ_TARGET_UCLIBC_0_9_33 || FREETZ_TARGET_UCLIBC_1) default n help This is a developers only option! Do not activate it if you don't know what it is useful for! Causes uClibc to be compiled with debug support enabled, i.e. activates DODEBUG symbol in uClibc .config choice prompt "Debug level" depends on FREETZ_TARGET_UCLIBC_DODEBUG default FREETZ_TARGET_UCLIBC_DODEBUG_DEFAULT config FREETZ_TARGET_UCLIBC_DODEBUG_DEFAULT bool "default" config FREETZ_TARGET_UCLIBC_DODEBUG_MAXIMUM bool "maximum" help Significantly increases size of all uClibc libraries. Your box should have at least 64MB RAM. endchoice config FREETZ_TARGET_UCLIBC_REDUCED_LOCALE_SET bool "Use reduced set of locales" if FREETZ_BUILD_TOOLCHAIN && \ ( \ FREETZ_TARGET_UCLIBC_0_9_29 || \ FREETZ_TARGET_UCLIBC_0_9_32 || \ FREETZ_TARGET_UCLIBC_0_9_33 || \ FREETZ_TARGET_UCLIBC_1 \ ) default y help This option causes only the following locales to be included into uClibc: - en_US - en_US.UTF-8 - de_DE - de_DE.UTF-8 This saves about 235KB in the image and at run-time. config FREETZ_TARGET_UCLIBC_PROVIDES_SSP bool default y depends on FREETZ_TARGET_UCLIBC_1 config FREETZ_TARGET_NLS # bool "Native language support (NLS) for target toolchain" if FREETZ_BUILD_TOOLCHAIN bool default n help Support NLS-enabled programs and Linux tools on target system. Example: $ ls /foo/bar ls: /foo/bar: No such file or directory $ export LANG=de_DE.8859-1 $ ls /foo/bar ls: /foo/bar: Datei oder Verzeichnis nicht gefunden config FREETZ_TARGET_TOOLCHAIN select FREETZ_LIB_libgmp select FREETZ_LIB_libmpfr select FREETZ_LIB_libmpc bool "Build binutils and gcc for target" if FREETZ_BUILD_TOOLCHAIN default n help Build the binutils and gcc to run on the target. Files are installed into toolchain/target/target-utils. comment "Both kernel and target toolchain related options ----------" config FREETZ_TOOLCHAIN_MINIMIZE_REQUIRED_GLIBC_VERSION # bool "Minimize required GLIBC version" if FREETZ_BUILD_TOOLCHAIN bool default y config FREETZ_TOOLCHAIN_32BIT bool "Build 32-bit toolchains" if FREETZ_BUILD_TOOLCHAIN default n help This option causes a 32-bit toolchain to be built even on 64-bit systems. config FREETZ_TOOLCHAIN_CCACHE bool "Build ccache" default n help ccache is a compiler cache. It acts as a caching pre-processor to C/C++ compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a 5 to 10 times speedup in common compilations. The idea came from Erik Thiele wrote the original compilercache program as a bourne shell script. ccache is a re-implementation of Erik's idea in C with more features and better performance. endmenu # "Toolchain options" #