aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/binutils/Makefile
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2008-04-12 23:14:42 +0000
committerJeremy Kerr <jk@ozlabs.org>2008-04-12 23:14:42 +0000
commite5eb1146975a5c28309801965af3d2fb0f98141e (patch)
treeadccbc87893b645052bf0627516313616a982ce5 /toolchain/binutils/Makefile
parent93b986d8a347faa7165141b6f99609953d935e45 (diff)
downloadupstream-e5eb1146975a5c28309801965af3d2fb0f98141e.tar.gz
upstream-e5eb1146975a5c28309801965af3d2fb0f98141e.tar.bz2
upstream-e5eb1146975a5c28309801965af3d2fb0f98141e.zip
[toolchain] provide a cleaner way to specify a biarch toolchain build
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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10802 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/binutils/Makefile')
-rw-r--r--toolchain/binutils/Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index b3161b3155..8682fa5969 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -24,6 +24,8 @@ BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
include $(INCLUDE_DIR)/host-build.mk
+EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc)
+
define Build/Configure
$(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/
(cd $(PKG_BUILD_DIR); \
@@ -34,6 +36,7 @@ define Build/Configure
--target=$(REAL_GNU_TARGET_NAME) \
--disable-werror \
--disable-nls \
+ $(EXTRA_TARGET) \
$(SOFT_FLOAT_CONFIG_OPTION) \
$(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) \
);