# This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. menu "Toolchain settings" depends on !ADK_CHOOSE_TARGET_ARCH && !ADK_CHOOSE_TARGET_SYSTEM config ADK_VENDOR string "Vendor name" default "openadk" help Vendor string is used for toolchain. choice prompt "GCC version" config ADK_TOOLCHAIN_GCC_4_4_7 prompt "4.4.7" boolean depends on ADK_LINUX_AVR32 config ADK_TOOLCHAIN_GCC_4_5_4 prompt "4.5.4" boolean depends on ADK_LINUX_BFIN config ADK_TOOLCHAIN_GCC_4_7_4 prompt "4.7.4" boolean depends on ADK_LINUX_CRIS config ADK_TOOLCHAIN_GCC_4_8_0_ARC prompt "4.8.0-arc" boolean depends on ADK_LINUX_ARC config ADK_TOOLCHAIN_GCC_4_8_3 prompt "4.8.3" boolean depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_AARCH64 depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_CRIS depends on !ADK_LINUX_TILE config ADK_TOOLCHAIN_GCC_4_9_1 prompt "4.9.1" boolean depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_CRIS config ADK_TOOLCHAIN_GCC_GIT prompt "git" boolean select ADK_DISABLE_CHECKSUM depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_CRIS endchoice choice prompt "Binutils version" depends on !ADK_CHOOSE_TARGET_SYSTEM && !ADK_CHOOSE_TARGET_ARCH config ADK_TOOLCHAIN_BINUTILS_2_20_1 prompt "2.20.1" boolean depends on ADK_LINUX_AVR32 config ADK_TOOLCHAIN_BINUTILS_2_22 prompt "2.22" boolean depends on ADK_LINUX_BFIN || ADK_LINUX_CRIS config ADK_TOOLCHAIN_BINUTILS_2_23_ARC prompt "2.23-arc" boolean depends on ADK_LINUX_ARC config ADK_TOOLCHAIN_BINUTILS_2_24 prompt "2.24" boolean depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_CRIS config ADK_TOOLCHAIN_BINUTILS_GIT prompt "git" boolean select ADK_DISABLE_CHECKSUM depends on !ADK_LINUX_BFIN depends on !ADK_LINUX_ARC depends on !ADK_LINUX_AVR32 depends on !ADK_LINUX_CRIS endchoice config ADK_TARGET_CFLAGS_OPT string default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS default "-O2 -pipe" if ADK_TARGET_CFLAGS_OPT_O2 default "-O3 -pipe" if ADK_TARGET_CFLAGS_OPT_O3 default "-O0 -pipe" if ADK_TARGET_CFLAGS_OPT_O0 choice prompt "Optimization level" boolean config ADK_TARGET_CFLAGS_OPT_OS prompt "optimize for size (-Os)" config ADK_TARGET_CFLAGS_OPT_O2 prompt "optimize for performance (-O2)" config ADK_TARGET_CFLAGS_OPT_O3 prompt "optimize for performance (-O3)" config ADK_TARGET_CFLAGS_OPT_O0 prompt "no optimization (-O0)" endchoice config ADK_LINUX_ARM_WITH_THUMB prompt "Use THUMB2 ARM mode" boolean depends on ADK_CPU_CORTEX_A9 && ADK_TARGET_LIB_GLIBC select ADK_KERNEL_THUMB2_KERNEL default n config ADK_TOOLCHAIN_WITH_SSP boolean default n config ADK_TARGET_USE_SSP prompt "Use Stack Smashing Protection for all packages" boolean select ADK_TOOLCHAIN_WITH_SSP default n config ADK_TARGET_USE_PIE prompt "Use Position Independent Executable for packages with have support for it" boolean default n config ADK_TOOLCHAIN_WITH_LTO boolean default n config ADK_TARGET_USE_LTO prompt "Use Link Time Optimization for all packages" boolean select ADK_TOOLCHAIN_WITH_LTO default n config ADK_TARGET_USE_LD_RELRO prompt "Use LD read-only (-z relro) relocations for all packages" boolean default n config ADK_TARGET_USE_LD_BIND_NOW prompt "Use LD bind now (-z now) for all packages" boolean default n config ADK_TARGET_USE_LD_GC prompt "Use LD garbage collection for all packages" boolean default n config ADK_TOOLCHAIN_WITH_GOLD boolean default n config ADK_TARGET_USE_GOLD prompt "Use GOLD as linker for all packages" boolean select ADK_TOOLCHAIN_WITH_GOLD depends on !ADK_LINUX_MIPS depends on !ADK_LINUX_MIPS64 default n config ADK_TARGET_USE_GNU_HASHSTYLE prompt "Use GNU hashstyle for all packages" boolean depends on !ADK_LINUX_MIPS depends on !ADK_LINUX_MIPS64 default n help Performance optimization for applications with lot of shared library dependencies. See http://www.akkadia.org/drepper/dsohowto.pdf config ADK_DEBUG bool "Compile applications with debug support and do not strip" default n help All software for the target will be compiled with: -fno-omit-frame-pointer -funwind-tables -fasynchronous-unwind-tables Software will not be stripped. Mostly useful for NFS root or big USB/CF or hard disk setups. config ADK_DEBUG_STRIP bool "strip target binaries/libraries for gdbserver usage" depends on ADK_DEBUG default n help All packages and C library will be compiled with debug information, but stripped for the target. config ADK_TARGET_USE_STATIC_LIBS bool "Link applications statically by default" default n default y if ADK_TARGET_UCLINUX select BUSYBOX_STATIC help Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc still requires libgcc_so.so.1 for pthread_cancel. Glibc also requires libnss_*.so libraries at runtime. Full static builds are only supported for musl libc. config ADK_STATIC_TOOLCHAIN boolean "Build the toolchain components statically" default n help If you want to create more portable toolchains, build them static. config ADK_UCLIBC_TEST prompt "Build testsuite for C library" boolean depends on ADK_TARGET_LIB_UCLIBC_NG || ADK_TARGET_LIB_UCLIBC default y endmenu