mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
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
54 lines
1.4 KiB
Makefile
54 lines
1.4 KiB
Makefile
#
|
|
# Copyright (C) 2006 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=binutils
|
|
PKG_VERSION:=$(strip $(subst ",, $(CONFIG_BINUTILS_VERSION)))
|
|
#"))
|
|
|
|
PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/binutils/ \
|
|
ftp://gatekeeper.dec.com/pub/GNU/ \
|
|
ftp://ftp.uu.net/archive/systems/gnu/ \
|
|
ftp://ftp.eu.uu.net/pub/gnu/ \
|
|
ftp://ftp.funet.fi/pub/gnu/prep/ \
|
|
ftp://ftp.leo.org/pub/comp/os/unix/gnu/
|
|
|
|
PKG_SOURCE:=binutils-$(PKG_VERSION).tar.bz2
|
|
PATCH_DIR:=./patches/$(PKG_VERSION)
|
|
STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
|
|
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); \
|
|
./configure \
|
|
--prefix=$(STAGING_DIR_HOST) \
|
|
--build=$(GNU_HOST_NAME) \
|
|
--host=$(GNU_HOST_NAME) \
|
|
--target=$(REAL_GNU_TARGET_NAME) \
|
|
--disable-werror \
|
|
--disable-nls \
|
|
$(EXTRA_TARGET) \
|
|
$(SOFT_FLOAT_CONFIG_OPTION) \
|
|
$(call qstrip,$(CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS)) \
|
|
);
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C $(PKG_BUILD_DIR) all
|
|
endef
|
|
|
|
define Build/Install
|
|
$(MAKE) -C $(PKG_BUILD_DIR) install
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|