Add ARM 4.2.4 toolchain
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1465 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
parent
53a9b4d53b
commit
331e5a3f88
|
@ -13,3 +13,5 @@ buildroot-0.1.2 2008-11-06 <spudmonkey@racsa.co.cr>
|
|||
buildroot-0.1.3 2008-xx-xx <spudmonkey@racsa.co.cr>
|
||||
|
||||
* Add support for H8/300 toolchain
|
||||
* Add support for GCC 4.2.4 and binutils 2.19
|
||||
* New ARM configuration using GCC 4.2.4 and binutils 2.19
|
||||
|
|
|
@ -128,16 +128,7 @@ $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/include : $(STAGING_DIR) $(NUTTX_DIR)/inc
|
|||
$(TOOL_BUILD_DIR):
|
||||
mkdir -p $(TOOL_BUILD_DIR)
|
||||
|
||||
$(TOOL_BUILD_DIR)/nuttx_dev: $(TOOL_BUILD_DIR)
|
||||
mkdir -p $(TOOL_BUILD_DIR)/nuttx_dev
|
||||
|
||||
$(TOOL_BUILD_DIR)/nuttx_dev/usr: $(TOOL_BUILD_DIR)/nuttx_dev
|
||||
mkdir -p $(TOOL_BUILD_DIR)/nuttx_dev/usr
|
||||
|
||||
$(TOOL_BUILD_DIR)/nuttx_dev/usr/include: $(TOOL_BUILD_DIR)/nuttx_dev/usr
|
||||
mkdir -p $(TOOL_BUILD_DIR)/nuttx_dev/usr/include
|
||||
|
||||
nuttx_setup: $(TOOL_BUILD_DIR)/nuttx_dev/usr/include
|
||||
nuttx_setup: $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/include
|
||||
|
||||
source: $(TARGETS_SOURCE)
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
arm-defconfig
|
||||
Builds an ARM toolchain using gcc 3.4.5
|
||||
|
||||
arm-defconfig-4.2.4
|
||||
Builds an ARM toolchain using gcc 4.2.4
|
||||
|
||||
h8300_config
|
||||
Builds an H8/300 toolchain using gcc 3.4.5
|
||||
|
||||
m68hc11-config
|
||||
Builds an hc11 toolchain using gcc 3.4.5
|
||||
|
||||
m68k-config
|
||||
Builds an M68K toolchain using gcc 3.4.5
|
||||
|
||||
sh-defconfig
|
||||
Builds an SH-1/2 toolchain using gcc 3.4.5
|
|
@ -0,0 +1,134 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
#
|
||||
BR2_HAVE_DOT_CONFIG=y
|
||||
# BR2_alpha is not set
|
||||
BR2_arm=y
|
||||
# BR2_armeb is not set
|
||||
# BR2_avr32 is not set
|
||||
# BR2_cris is not set
|
||||
# BR2_i386 is not set
|
||||
# BR2_m68k is not set
|
||||
# BR2_m68hc11 is not set
|
||||
# BR2_m68hc12 is not set
|
||||
# BR2_mips is not set
|
||||
# BR2_mipsel is not set
|
||||
# BR2_nios2 is not set
|
||||
# BR2_powerpc is not set
|
||||
# BR2_sh is not set
|
||||
# BR2_sh64 is not set
|
||||
# BR2_h8300 is not set
|
||||
# BR2_sparc is not set
|
||||
# BR2_x86_64 is not set
|
||||
BR2_generic_arm=y
|
||||
# BR2_arm610 is not set
|
||||
# BR2_arm710 is not set
|
||||
# BR2_arm720t is not set
|
||||
# BR2_arm920t is not set
|
||||
# BR2_arm922t is not set
|
||||
# BR2_arm926t is not set
|
||||
# BR2_arm1136jf_s is not set
|
||||
# BR2_sa110 is not set
|
||||
# BR2_sa1100 is not set
|
||||
# BR2_xscale is not set
|
||||
# BR2_iwmmxt is not set
|
||||
BR2_ARM_TYPE="GENERIC_ARM"
|
||||
BR2_ARM_OABI=y
|
||||
# BR2_ARM_EABI is not set
|
||||
BR2_ARCH="arm"
|
||||
BR2_ENDIAN="LITTLE"
|
||||
|
||||
#
|
||||
# Build options
|
||||
#
|
||||
BR2_WGET="wget --passive-ftp"
|
||||
BR2_SVN="svn co"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/../archives"
|
||||
BR2_SOURCEFORGE_MIRROR="easynews"
|
||||
BR2_ATMEL_MIRROR="ftp://at91dist:distrib@81.80.104.162/AT91_Third_Party_Design_Flow/Linux_Host/"
|
||||
BR2_AT91_PATCH_MIRROR="http://maxim.org.za/AT91RM9200/2.6/"
|
||||
BR2_STAGING_DIR="$(BUILD_DIR)/staging_dir"
|
||||
BR2_NUTTX_DIR="$(TOPDIR)/../nuttx"
|
||||
BR2_TOPDIR_PREFIX=""
|
||||
BR2_TOPDIR_SUFFIX=""
|
||||
BR2_GNU_BUILD_SUFFIX="arm-elf"
|
||||
BR2_GNU_TARGET_SUFFIX="elf"
|
||||
# BR2_PREFER_IMA is not set
|
||||
# BR2_DEPRECATED is not set
|
||||
|
||||
#
|
||||
# Toolchain Options
|
||||
#
|
||||
|
||||
#
|
||||
# Binutils Options
|
||||
#
|
||||
# BR2_BINUTILS_VERSION_2_14_90_0_8 is not set
|
||||
# BR2_BINUTILS_VERSION_2_15 is not set
|
||||
# BR2_BINUTILS_VERSION_2_15_94_0_2_2 is not set
|
||||
# BR2_BINUTILS_VERSION_2_16_1 is not set
|
||||
# BR2_BINUTILS_VERSION_2_16_90_0_3 is not set
|
||||
# BR2_BINUTILS_VERSION_2_16_91_0_5 is not set
|
||||
# BR2_BINUTILS_VERSION_2_16_91_0_6 is not set
|
||||
# BR2_BINUTILS_VERSION_2_16_91_0_7 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_2 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_3 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_4 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_5 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_6 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_7 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_8 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_9 is not set
|
||||
# BR2_BINUTILS_VERSION_2_17_50_0_10 is not set
|
||||
BR2_BINUTILS_VERSION_2_19=y
|
||||
BR2_BINUTILS_VERSION="2.19"
|
||||
BR2_EXTRA_BINUTILS_CONFIG_OPTIONS=""
|
||||
|
||||
#
|
||||
# GCC Options
|
||||
#
|
||||
# BR2_GCC_VERSION_3_3_5 is not set
|
||||
# BR2_GCC_VERSION_3_3_6 is not set
|
||||
# BR2_GCC_VERSION_3_4_2 is not set
|
||||
# BR2_GCC_VERSION_3_4_3 is not set
|
||||
# BR2_GCC_VERSION_3_4_4 is not set
|
||||
# BR2_GCC_VERSION_3_4_5 is not set
|
||||
# BR2_GCC_VERSION_3_4_6 is not set
|
||||
# BR2_GCC_VERSION_4_0_0 is not set
|
||||
# BR2_GCC_VERSION_4_0_1 is not set
|
||||
# BR2_GCC_VERSION_4_0_2 is not set
|
||||
# BR2_GCC_VERSION_4_0_3 is not set
|
||||
# BR2_GCC_VERSION_4_0_4 is not set
|
||||
# BR2_GCC_VERSION_4_1_0 is not set
|
||||
# BR2_GCC_VERSION_4_1_1 is not set
|
||||
# BR2_GCC_VERSION_4_1_2 is not set
|
||||
# BR2_GCC_VERSION_4_2 is not set
|
||||
BR2_GCC_VERSION_4_2_4=y
|
||||
BR2_GCC_SUPPORTS_SYSROOT=y
|
||||
BR2_GCC_VERSION="4.2.4"
|
||||
# BR2_GCC_USE_SJLJ_EXCEPTIONS is not set
|
||||
BR2_EXTRA_GCC_CONFIG_OPTIONS=""
|
||||
# BR2_INSTALL_LIBSTDCPP is not set
|
||||
# BR2_INSTALL_OBJC is not set
|
||||
# BR2_INSTALL_FORTRAN is not set
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
#
|
||||
# BR2_PACKAGE_GDB is not set
|
||||
# BR2_PACKAGE_GDB_SERVER is not set
|
||||
# BR2_PACKAGE_GDB_HOST is not set
|
||||
|
||||
#
|
||||
# Common Toolchain Options
|
||||
#
|
||||
# BR2_PACKAGE_SSTRIP_TARGET is not set
|
||||
# BR2_PACKAGE_SSTRIP_HOST is not set
|
||||
# BR2_ENABLE_MULTILIB is not set
|
||||
BR2_LARGEFILE=y
|
||||
BR2_SOFT_FLOAT=y
|
||||
BR2_TARGET_OPTIMIZATION="-Os -pipe"
|
|
@ -9,58 +9,37 @@ BINUTILS_VERSION:=$(strip $(subst ",, $(BR2_BINUTILS_VERSION)))
|
|||
EXTRA_BINUTILS_CONFIG_OPTIONS=$(strip $(subst ",, $(BR2_EXTRA_BINUTILS_CONFIG_OPTIONS)))
|
||||
#"))
|
||||
BINUTILS_SITE:=ftp://ftp.kernel.org/pub/linux/devel/binutils
|
||||
ifeq ($(BINUTILS_VERSION),2.19)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.17)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.16)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.16.1)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.15)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.14)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.13)
|
||||
BINUTILS_SITE:=ftp://ftp.gnu.org/gnu/binutils/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(BINUTILS_VERSION),2.15.97)
|
||||
BINUTILS_SITE:=ftp://sources.redhat.com/pub/binutils/snapshots/
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
|
||||
# We do not rely on the host's gmp/mpfr but use a known working one
|
||||
# NOTE: Unlike the original buildroot binutils.mk, this version always relies on
|
||||
# the system libgmp and libmpfr which must be installed for certain binutils versions.
|
||||
|
||||
BINUTILS_HOST_PREREQ:=
|
||||
BINUTILS_TARGET_PREREQ:=
|
||||
|
||||
ifeq ($(findstring 3.,$(GCC_VERSION)),3.)
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(findstring 4.0,$(GCC_VERSION)),4.0)
|
||||
BINUTILS_NO_MPFR:=y
|
||||
endif
|
||||
|
||||
ifndef BINUTILS_NO_MPFR
|
||||
BINUTILS_HOST_PREREQ:=$(TOOL_BUILD_DIR)/gmp/lib/libgmp.so \
|
||||
$(TOOL_BUILD_DIR)/mpfr/lib/libmpfr.so
|
||||
|
||||
BINUTILS_TARGET_PREREQ:=$(TARGET_DIR)/lib/libgmp.so \
|
||||
$(TARGET_DIR)/lib/libmpfr.so
|
||||
EXTRA_BINUTILS_CONFIG_OPTIONS+=--with-gmp="$(GMP_HOST_DIR)"
|
||||
EXTRA_BINUTILS_CONFIG_OPTIONS+=--with-mpfr="$(MPFR_HOST_DIR)"
|
||||
|
||||
BINUTILS_TARGET_CONFIG_OPTIONS=--with-gmp="$(GMP_TARGET_DIR)"
|
||||
BINUTILS_TARGET_CONFIG_OPTIONS+=--with-mpfr="$(MPFR_TARGET_DIR)"
|
||||
endif
|
||||
|
||||
BINUTILS_SOURCE:=binutils-$(BINUTILS_VERSION).tar.bz2
|
||||
BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_VERSION)
|
||||
BINUTILS_CAT:=$(BZCAT)
|
||||
|
@ -92,8 +71,6 @@ $(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
|
|||
--build=$(GNU_HOST_NAME) \
|
||||
--host=$(GNU_HOST_NAME) \
|
||||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--with-build-sysroot="$(TOOL_BUILD_DIR)/nuttx_dev/" \
|
||||
--with-sysroot="$(TOOL_BUILD_DIR)/nuttx_dev/" \
|
||||
$(DISABLE_NLS) \
|
||||
$(MULTILIB) \
|
||||
--disable-werror \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
# vi: set sw=4 ts=4:
|
||||
#set -x
|
||||
# set -x
|
||||
|
||||
echo ""
|
||||
echo "Checking build system dependencies:"
|
||||
|
@ -165,7 +165,8 @@ if [ -z "$COMPILER" ] ; then
|
|||
exit 1;
|
||||
fi;
|
||||
|
||||
COMPILER_VERSION=$($COMPILER --version 2>&1 | head -n1 | $XSED -e 's/^.*(.CC) \([0-9\.]\)/\1/g' -e "s/[-\ ].*//g")
|
||||
COMPILER_VERSION=$($COMPILER -v 2>&1 | $XSED -n '/^gcc version/p' |
|
||||
$XSED -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q')
|
||||
if [ -z "$COMPILER_VERSION" ] ; then
|
||||
echo "gcc installed: FALSE"
|
||||
/bin/echo -e "\n\nYou must install 'gcc' on your build machine\n";
|
||||
|
@ -182,9 +183,9 @@ echo "C compiler version '$COMPILER_VERSION': Ok"
|
|||
|
||||
|
||||
# check for host CXX
|
||||
CXXCOMPILER=$(which $HOSTCXX)
|
||||
CXXCOMPILER=$(which $HOSTCXX 2>/dev/null)
|
||||
if [ -z "$CXXCOMPILER" ] ; then
|
||||
CXXCOMPILER=$(which c++)
|
||||
CXXCOMPILER=$(which c++ 2>/dev/null)
|
||||
fi
|
||||
if [ -z "$CXXCOMPILER" ] ; then
|
||||
echo "C++ Compiler installed: FALSE"
|
||||
|
@ -192,7 +193,8 @@ if [ -z "$CXXCOMPILER" ] ; then
|
|||
#exit 1
|
||||
fi
|
||||
if [ ! -z "$CXXCOMPILER" ] ; then
|
||||
CXXCOMPILER_VERSION=$($CXXCOMPILER --version 2>&1 | head -n1 | $XSED -e 's/^.*(.CC) \([0-9\.]\)/\1/g' -e "s/[-\ ].*//g")
|
||||
CXXCOMPILER_VERSION=$($CXXCOMPILER -v 2>&1 | $XSED -n '/^gcc version/p' |
|
||||
$XSED -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q')
|
||||
if [ -z "$CXXCOMPILER_VERSION" ] ; then
|
||||
echo "c++ installed: FALSE"
|
||||
/bin/echo -e "\nYou may have to install 'g++' on your build machine\n"
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
|
||||
--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 13:06:56.000000000 +0100
|
||||
+++ gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 15:23:41.000000000 +0100
|
||||
@@ -32,7 +32,8 @@
|
||||
//
|
||||
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
-
|
||||
+namespace std
|
||||
+{
|
||||
#ifdef __UCLIBC_MJN3_ONLY__
|
||||
#warning fix prototypes for *textdomain funcs
|
||||
#endif
|
||||
@@ -115,3 +116,4 @@
|
||||
this->_S_create_c_locale(this->_M_c_locale_messages, __s);
|
||||
}
|
||||
}
|
||||
+}
|
||||
diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h
|
||||
--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 13:06:56.000000000 +0100
|
||||
+++ gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 15:20:31.000000000 +0100
|
||||
@@ -33,7 +33,8 @@
|
||||
//
|
||||
|
||||
// Written by Benjamin Kosnik <bkoz@redhat.com>
|
||||
-
|
||||
+namespace std
|
||||
+{
|
||||
template<typename _CharT>
|
||||
__timepunct<_CharT>::__timepunct(size_t __refs)
|
||||
: facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
|
||||
@@ -74,3 +75,4 @@
|
||||
delete _M_data;
|
||||
_S_destroy_c_locale(_M_c_locale_timepunct);
|
||||
}
|
||||
+}
|
|
@ -0,0 +1,30 @@
|
|||
At present, libstdc++ will not build. My understanding is that it needs to have
|
||||
the NuttX libc characterized in crossconfig.m4. This is a first attempt to do that --
|
||||
unfortunately, it still does not work.
|
||||
|
||||
diff -u gcc-4.2.4/libstdc++-v3/configure.orig gcc-4.2.4/libstdc++-v3/configure
|
||||
--- gcc-4.2.4/libstdc++-v3/configure.orig 2009-01-05 17:52:11.000000000 -0600
|
||||
+++ gcc-4.2.4/libstdc++-v3/configure 2009-01-05 17:52:43.000000000 -0600
|
||||
@@ -108515,9 +108515,7 @@
|
||||
|
||||
;;
|
||||
*)
|
||||
- { { echo "$as_me:$LINENO: error: No support for this host/target combination." >&5
|
||||
-echo "$as_me: error: No support for this host/target combination." >&2;}
|
||||
- { (exit 1); exit 1; }; }
|
||||
+ # Assume bare hardware
|
||||
;;
|
||||
esac
|
||||
|
||||
diff -u gcc-4.2.4/libstdc++-v3/crossconfig.m4.orig gcc-4.2.4/libstdc++-v3/crossconfig.m4
|
||||
--- gcc-4.2.4/libstdc++-v3/crossconfig.m4.orig 2009-01-05 17:51:07.000000000 -0600
|
||||
+++ gcc-4.2.4/libstdc++-v3/crossconfig.m4 2009-01-05 17:52:02.000000000 -0600
|
||||
@@ -412,7 +412,7 @@
|
||||
AC_DEFINE(HAVE_TANHL)
|
||||
;;
|
||||
*)
|
||||
- AC_MSG_ERROR([No support for this host/target combination.])
|
||||
+ # Assume bare hardware
|
||||
;;
|
||||
esac
|
||||
])
|
|
@ -103,19 +103,19 @@ config BR2_GCC_VERSION
|
|||
default "4.2" if BR2_GCC_VERSION_4_2
|
||||
default "4.2.4" if BR2_GCC_VERSION_4_2_4
|
||||
|
||||
config BR2_TOOLCHAIN_SYSROOT
|
||||
bool "Enable toolchain with --sysroot support"
|
||||
depends on BR2_GCC_SUPPORTS_SYSROOT
|
||||
default y
|
||||
help
|
||||
Enables --sysroot=dir for binutils and gcc.
|
||||
Use dir as the logical root directory for headers and libraries.
|
||||
For example, if the compiler would normally search for headers in
|
||||
/usr/include and libraries in /usr/lib, it will instead search
|
||||
dir/usr/include and dir/usr/lib.
|
||||
|
||||
This does not work with gcc < 4.2.0 (4.1.2 gets
|
||||
ORIGINAL_AS_FOR_TARGET wrong)
|
||||
#config BR2_TOOLCHAIN_SYSROOT
|
||||
# bool "Enable toolchain with --sysroot support"
|
||||
# depends on BR2_GCC_SUPPORTS_SYSROOT
|
||||
# default y
|
||||
# help
|
||||
# Enables --sysroot=dir for binutils and gcc.
|
||||
# Use dir as the logical root directory for headers and libraries.
|
||||
# For example, if the compiler would normally search for headers in
|
||||
# /usr/include and libraries in /usr/lib, it will instead search
|
||||
# dir/usr/include and dir/usr/lib.
|
||||
#
|
||||
# This does not work with gcc < 4.2.0 (4.1.2 gets
|
||||
# ORIGINAL_AS_FOR_TARGET wrong)
|
||||
|
||||
config BR2_GCC_USE_SJLJ_EXCEPTIONS
|
||||
bool "Enable setjmp/longjmp exceptions?"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
# Without sysroot support. Sysroot toolchain is gcc-uclibc-4.x.mk
|
||||
ifneq ($(BR2_TOOLCHAIN_SYSROOT),y)
|
||||
ifneq ($(BR2_GCC_SUPPORTS_SYSROOT),y)
|
||||
|
||||
GCC_OFFICIAL_VER:=$(GCC_VERSION)
|
||||
GCC_SITE:=http://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION)
|
||||
|
@ -28,20 +28,6 @@ GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER)
|
|||
GCC_CAT:=$(BZCAT)
|
||||
GCC_STRIP_HOST_BINARIES:=true
|
||||
|
||||
ifeq ($(findstring x3.,x$(GCC_VERSION)),x3.)
|
||||
GCC_NO_MPFR:=y
|
||||
else
|
||||
ifneq ($(BR2_INSTALL_FORTRAN),y)
|
||||
# fortran needs gmp and mpfr
|
||||
ifeq ($(findstring 4.0.,$(GCC_VERSION)),4.0.)
|
||||
GCC_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(findstring 4.1.,$(GCC_VERSION)),4.1.)
|
||||
GCC_NO_MPFR:=y
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Setup some initial stuff
|
||||
|
@ -49,6 +35,8 @@ endif
|
|||
#############################################################
|
||||
|
||||
GCC_TARGET_LANGUAGES:=c
|
||||
GCC_TARGET_PREREQ=
|
||||
GCC_STAGING_PREREQ=
|
||||
|
||||
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
|
||||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++
|
||||
|
@ -62,21 +50,9 @@ ifeq ($(BR2_INSTALL_OBJC),y)
|
|||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc
|
||||
endif
|
||||
|
||||
GCC_TARGET_PREREQ=
|
||||
GCC_STAGING_PREREQ=
|
||||
|
||||
ifndef GCC_NO_MPFR
|
||||
GCC_WITH_HOST_GMP=--with-gmp=$(GMP_HOST_DIR)
|
||||
GCC_WITH_HOST_MPFR=--with-mpfr=$(MPFR_HOST_DIR)
|
||||
|
||||
ifeq ($(BR2_INSTALL_FORTRAN),y)
|
||||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),fortran
|
||||
#GCC_TARGET_PREREQ += $(TARGET_DIR)/lib/libmpfr.so $(TARGET_DIR)/lib/libgmp.so
|
||||
#GCC_STAGING_PREREQ+= $(TOOL_BUILD_DIR)/mpfr/lib/libmpfr.so
|
||||
GCC_WITH_TARGET_GMP=--with-gmp="$(GMP_TARGET_DIR)"
|
||||
GCC_WITH_TARGET_MPFR=--with-mpfr="$(MPFR_TARGET_DIR)"
|
||||
endif
|
||||
endif # ifndef GCC_NO_MPFR
|
||||
|
||||
GCC_SHARED_LIBGCC:=--disable-shared
|
||||
|
||||
|
@ -145,8 +121,6 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
|
|||
--enable-target-optspace \
|
||||
--with-gnu-ld \
|
||||
--disable-shared \
|
||||
$(GCC_WITH_HOST_GMP) \
|
||||
$(GCC_WITH_HOST_MPFR) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
$(MULTILIB) \
|
||||
|
@ -201,8 +175,6 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
|
|||
--disable-__cxa_atexit \
|
||||
--enable-target-optspace \
|
||||
--with-gnu-ld \
|
||||
$(GCC_WITH_HOST_GMP) \
|
||||
$(GCC_WITH_HOST_MPFR) \
|
||||
$(GCC_SHARED_LIBGCC) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
|
@ -331,8 +303,6 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
|
|||
--disable-__cxa_atexit \
|
||||
--with-gnu-ld \
|
||||
$(GCC_SHARED_LIBGCC) \
|
||||
$(GCC_WITH_TARGET_GMP) \
|
||||
$(GCC_WITH_TARGET_MPFR) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
$(MULTILIB) \
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
# sysroot support works with gcc >= 4.2.0 only
|
||||
ifeq ($(BR2_TOOLCHAIN_SYSROOT),y)
|
||||
ifeq ($(BR2_GCC_SUPPORTS_SYSROOT),y)
|
||||
|
||||
GCC_OFFICIAL_VER:=$(GCC_VERSION)
|
||||
GCC_SITE:=http://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION)
|
||||
|
@ -29,20 +29,6 @@ GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER)
|
|||
GCC_CAT:=$(BZCAT)
|
||||
GCC_STRIP_HOST_BINARIES:=true
|
||||
|
||||
ifeq ($(findstring x3.,x$(GCC_VERSION)),x3.)
|
||||
GCC_NO_MPFR:=y
|
||||
else
|
||||
ifneq ($(BR2_INSTALL_FORTRAN),y)
|
||||
# fortran needs gmp and mpfr
|
||||
ifeq ($(findstring 4.0.,$(GCC_VERSION)),4.0.)
|
||||
GCC_NO_MPFR:=y
|
||||
endif
|
||||
ifeq ($(findstring 4.1.,$(GCC_VERSION)),4.1.)
|
||||
GCC_NO_MPFR:=y
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Setup some initial stuff
|
||||
|
@ -50,6 +36,8 @@ endif
|
|||
#############################################################
|
||||
|
||||
GCC_TARGET_LANGUAGES:=c
|
||||
GCC_TARGET_PREREQ=
|
||||
GCC_STAGING_PREREQ=
|
||||
|
||||
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
|
||||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++
|
||||
|
@ -63,21 +51,9 @@ ifeq ($(BR2_INSTALL_OBJC),y)
|
|||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc
|
||||
endif
|
||||
|
||||
GCC_TARGET_PREREQ=
|
||||
GCC_STAGING_PREREQ=
|
||||
|
||||
ifndef GCC_NO_MPFR
|
||||
GCC_WITH_HOST_GMP=--with-gmp=$(GMP_HOST_DIR)
|
||||
GCC_WITH_HOST_MPFR=--with-mpfr=$(MPFR_HOST_DIR)
|
||||
|
||||
ifeq ($(BR2_INSTALL_FORTRAN),y)
|
||||
GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),fortran
|
||||
#GCC_TARGET_PREREQ += $(TARGET_DIR)/lib/libmpfr.so $(TARGET_DIR)/lib/libgmp.so
|
||||
#GCC_STAGING_PREREQ+= $(TOOL_BUILD_DIR)/mpfr/lib/libmpfr.so
|
||||
GCC_WITH_TARGET_GMP=--with-gmp="$(GMP_TARGET_DIR)"
|
||||
GCC_WITH_TARGET_MPFR=--with-mpfr="$(MPFR_TARGET_DIR)"
|
||||
endif
|
||||
endif # ifndef GCC_NO_MPFR
|
||||
|
||||
GCC_SHARED_LIBGCC:=--disable-shared
|
||||
|
||||
|
@ -143,11 +119,10 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
|
|||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--enable-languages=c \
|
||||
--disable-__cxa_atexit \
|
||||
--disable-libssp \
|
||||
--enable-target-optspace \
|
||||
--with-gnu-ld \
|
||||
--disable-shared \
|
||||
$(GCC_WITH_HOST_GMP) \
|
||||
$(GCC_WITH_HOST_MPFR) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
$(MULTILIB) \
|
||||
|
@ -198,10 +173,9 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
|
|||
--target=$(REAL_GNU_TARGET_NAME) \
|
||||
--enable-languages=$(GCC_TARGET_LANGUAGES) \
|
||||
--disable-__cxa_atexit \
|
||||
--disable-libssp \
|
||||
--enable-target-optspace \
|
||||
--with-gnu-ld \
|
||||
$(GCC_WITH_HOST_GMP) \
|
||||
$(GCC_WITH_HOST_MPFR) \
|
||||
$(GCC_SHARED_LIBGCC) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
|
@ -329,9 +303,9 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
|
|||
--with-gxx-include-dir=/usr/include/c++ \
|
||||
--disable-__cxa_atexit \
|
||||
--with-gnu-ld \
|
||||
--with-gnu-as \
|
||||
--disable-libssp \
|
||||
$(GCC_SHARED_LIBGCC) \
|
||||
$(GCC_WITH_TARGET_GMP) \
|
||||
$(GCC_WITH_TARGET_MPFR) \
|
||||
$(DISABLE_NLS) \
|
||||
$(THREADS) \
|
||||
$(MULTILIB) \
|
||||
|
@ -370,15 +344,11 @@ GCC_LIB_SUBDIR=lib/gcc/$(REAL_GNU_TARGET_NAME)/$(REAL_GCC_VERSION)
|
|||
else
|
||||
GCC_LIB_SUBDIR=lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
|
||||
endif
|
||||
#XXX: FIXME: cleanup BR2_ARCH selection and establish BR2_CPU
|
||||
#GCC_WITH_ARCH=--with-arch=$(BR2_ARCH)
|
||||
#GCC_WITH_TUNE=--with-tune=$(BR2_ARCH)
|
||||
#GCC_WITH_CPU=--with-cpu=$(BR2_ARCH)
|
||||
endif
|
||||
|
||||
$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
|
||||
PATH=$(TARGET_PATH) \
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GCC_BUILD_DIR3) install
|
||||
PATH=$(TARGET_PATH) DESTDIR=$(TARGET_DIR) \
|
||||
$(MAKE) -C $(GCC_BUILD_DIR3) install
|
||||
# Remove broken specs file (cross compile flag is set).
|
||||
rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs
|
||||
#
|
||||
|
@ -395,15 +365,14 @@ endif
|
|||
#
|
||||
# Ok... that's enough of that.
|
||||
#
|
||||
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/lib; $(STRIP) libstdc++.so.*.*.* > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/lib; $(STRIP) libgcc_s*.so.*.*.* > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/bin && find -type f | xargs $(STRIPCMD) > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/bin && find -type f | xargs $(STRIPCMD) > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR) && $(STRIPCMD) cc1 cc1plus collect2 > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/usr/lib && $(STRIPCMD) libstdc++.so.*.*.* > /dev/null 2>&1)
|
||||
-(cd $(TARGET_DIR)/lib && $(STRIPCMD) libgcc_s*.so.*.*.* > /dev/null 2>&1)
|
||||
|
||||
#
|
||||
rm -f $(TARGET_DIR)/usr/lib/*.la*
|
||||
#rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
||||
# $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
||||
# Work around problem of missing syslimits.h
|
||||
if [ ! -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/include/syslimits.h ] ; then \
|
||||
echo "warning: working around missing syslimits.h" ; \
|
||||
|
@ -414,9 +383,7 @@ endif
|
|||
if [ ! -e $(TARGET_DIR)/usr/bin/cc ] ; then \
|
||||
ln -snf gcc $(TARGET_DIR)/usr/bin/cc ; \
|
||||
fi;
|
||||
# These are in /lib, so...
|
||||
#rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so*
|
||||
#touch -c $(TARGET_DIR)/usr/bin/gcc
|
||||
touch -c $@
|
||||
|
||||
gcc_target: binutils_target $(TARGET_DIR)/usr/bin/gcc
|
||||
|
||||
|
|
Loading…
Reference in New Issue