X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/f77b88d124ea1c900f9cf5e04046939aad48bbe1..be11e989ca09a64632f976654f69c655f8808675:/toolchain/Config.in?ds=sidebyside diff --git a/toolchain/Config.in b/toolchain/Config.in index 5b3fe7012..ab684bb57 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -1,33 +1,98 @@ # +config NATIVE_TOOLCHAIN + bool + prompt "Use host's toolchain" if DEVEL && BROKEN + default n + help + If enabled, OpenWrt will compile using your existing toolchain instead of compiling one -menu "Toolchain Options" +menuconfig TOOLCHAINOPTS + bool "Toolchain Options" if DEVEL + depends !NATIVE_TOOLCHAIN +menuconfig EXTRA_TARGET_ARCH + bool + prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS + default n + help + Some builds may require a 'biarch' toolchain. This option + allows you to specify an additional target arch. + + Most people will answer N here. + + config EXTRA_TARGET_ARCH_NAME + string + prompt "Extra architecture name" if EXTRA_TARGET_ARCH + help + Specify the cpu name (eg powerpc64 or x86_64) of the + additional target architecture. + + config EXTRA_TARGET_ARCH_OPTS + string + prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH + help + If you're specifying an addition target architecture, + you'll probably need to also provide options to make + the compiler use this alternate arch. + + For example, if you're building a compiler that can build + both powerpc and powerpc64 binaries, you'll need to + specify -m64 here. -source "toolchain/uClibc/Config.in" source "toolchain/binutils/Config.in" source "toolchain/gcc/Config.in" -source "toolchain/ccache/Config.in" +choice + prompt "LIBC implementation" if TOOLCHAINOPTS + default USE_UCLIBC + help + Select the LIBC implementation. + + config USE_EGLIBC + bool "Use eglibc" + depends !avr32 + select NO_STRIP + + config USE_GLIBC + bool "Use glibc" + depends !avr32 + select NO_STRIP + + config USE_UCLIBC + bool "Use uClibc" + +endchoice -comment "Common Toolchain Options" +source "toolchain/eglibc/Config.in" +source "toolchain/glibc/Config.in" +source "toolchain/uClibc/Config.in" -config BR2_ENABLE_MULTILIB - bool "Enable multilib support?" +config GDB + bool + prompt "Build gdb" if TOOLCHAINOPTS default n help - If you want multilib enabled, enable this... + Enable if you want to build the gdb -config BR2_LARGEFILE - bool "Enable large file (files > 2 GB) support?" - depends on !BR2_cris +config LARGEFILE + bool + prompt "Enable large file (files > 2 GB) support?" if TOOLCHAINOPTS default y help - Enable large file (files > 2 GB) support + Enable large file (files > 2 GB) support -config BR2_SOFT_FLOAT - bool "Use software floating point by default" - default n - depends on BR2_arm || BR2_mips || BR2_powerpc +config SHADOW_PASSWORDS + bool + prompt "Enable shadow password support?" if TOOLCHAINOPTS + default y + help + Enable shadow password support. + +config SOFT_FLOAT + bool + prompt "Use software floating point by default" if TOOLCHAINOPTS + default y + depends on (arm || armeb || powerpc) && !HAS_FPU help If your target CPU does not have a Floating Point Unit (FPU) or a kernel FPU emulator, but you still wish to support floating point @@ -36,21 +101,48 @@ config BR2_SOFT_FLOAT Most people will answer N. -config BR2_TARGET_OPTIMIZATION - string "Target Optimizations" - default "-Os -pipe -mips32 -mtune=mips32" +config TARGET_OPTIMIZATION + string + prompt "Target Optimizations" if TOOLCHAINOPTS + default "-O2 -pipe -march=i686 -funit-at-a-time" if TARGET_x86_mediacenter + default "-O2 -pipe -march=i486 -funit-at-a-time" if TARGET_x86 + default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_rdc + default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_uml && i386 + default "-Os -pipe -march=athlon64 -funit-at-a-time" if TARGET_uml && x86_64 + default "-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time" if TARGET_ar71xx + default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips + default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if TARGET_ixp4xx || TARGET_iop32x || TARGET_pxa || TARGET_orion + default "-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time" if TARGET_storm + default "-Os -pipe -funit-at-a-time" help Optimizations to use when building for the target host. -# Might be worth experimenting with for gcc 3.4.x. -#GCC_WITH_CPU:= -#GCC_WITH_ARCH:= -#GCC_WITH_TUNE:= +config USE_UCLIBC + bool + default y if !TOOLCHAINOPTS + +source "toolchain/gcc/Config.version" + +source "toolchain/eglibc/Config.version" +source "toolchain/glibc/Config.version" +source "toolchain/uClibc/Config.version" -#GCC_WITH_CPU:=--with-cpu= -#GCC_WITH_ARCH:=--with-arch= -#GCC_WITH_TUNE:=--with-tune= +config LIBC + string + default "eglibc" if USE_EGLIBC + default "glibc" if USE_GLIBC + default "uClibc" if USE_UCLIBC +config LIBC_VERSION + string + default EGLIBC_VERSION if USE_EGLIBC + default GLIBC_VERSION if USE_GLIBC + default UCLIBC_VERSION if USE_UCLIBC -endmenu +config TARGET_SUFFIX + string + default "gnueabi" if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT + default "gnu" if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT + default "uclibcgnueabi" if USE_UCLIBC && EABI_SUPPORT + default "uclibc" if USE_UCLIBC && !EABI_SUPPORT