077d84f543
Currently, to build a biarch toolchain, we need to explicitly give options to the binutils and gcc configure commands: CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS="--enable-targets=powerpc64-linux-uclibc" CONFIG_EXTRA_GCC_CONFIG_OPTIONS="--enable-biarch --enable-targets=powerpc64-linux-uclibc" This change replaces the command line options with an 'extra arch' configure option: CONFIG_EXTRA_TARGET_ARCH=y CONFIG_EXTRA_TARGET_ARCH_NAME="powerpc64" And a way to invoke this extra arch on the compiler command-line: CONFIG_EXTRA_TARGET_ARCH_OPTS="-m64" In this case, this results in an extra compiler: 'powerpc64-linux-uclibc-gcc', which invokes 'powerpc-linux-uclibc-gcc -m64' This is a more standard way of building biarch toolchains, and allows the packages to not have to care about how to invoke the 64-bit compiler. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> SVN-Revision: 10802
93 lines
2.7 KiB
Text
93 lines
2.7 KiB
Text
#
|
|
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
|
|
|
|
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/binutils/Config.in"
|
|
source "toolchain/gcc/Config.in"
|
|
source "toolchain/uClibc/Config.in"
|
|
|
|
config GDB
|
|
bool
|
|
prompt "Build gdb" if TOOLCHAINOPTS
|
|
default n
|
|
help
|
|
Enable if you want to build the gdb
|
|
|
|
config LARGEFILE
|
|
bool
|
|
prompt "Enable large file (files > 2 GB) support?" if TOOLCHAINOPTS
|
|
default y
|
|
help
|
|
Enable large file (files > 2 GB) support
|
|
|
|
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
|
|
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
|
|
functions, then everything will need to be compiled with soft floating
|
|
point support (-msoft-float).
|
|
|
|
Most people will answer N.
|
|
|
|
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 -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips
|
|
default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if armeb || arm
|
|
default "-Os -pipe -funit-at-a-time"
|
|
help
|
|
Optimizations to use when building for the target host.
|
|
|
|
source "toolchain/gcc/Config.version"
|
|
source "toolchain/uClibc/Config.version"
|