summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/gcc-uclibc-3.x.mk
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2010-06-15 23:10:03 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2010-06-15 23:16:55 +0200
commit5fd095b3748115d7cbe89524332e4b310550b7c3 (patch)
treec0cd0d9cf49956b73afe3b3b90e79106044f8102 /toolchain/gcc/gcc-uclibc-3.x.mk
parent144e4ed085d67b46cb0ce9c1c45794bce3c8cb99 (diff)
downloadbuildroot-novena-5fd095b3748115d7cbe89524332e4b310550b7c3.tar.gz
buildroot-novena-5fd095b3748115d7cbe89524332e4b310550b7c3.zip
toolchain: remove gcc 4.1.2 and non-sysroot support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'toolchain/gcc/gcc-uclibc-3.x.mk')
-rw-r--r--toolchain/gcc/gcc-uclibc-3.x.mk484
1 files changed, 0 insertions, 484 deletions
diff --git a/toolchain/gcc/gcc-uclibc-3.x.mk b/toolchain/gcc/gcc-uclibc-3.x.mk
deleted file mode 100644
index 332af884a..000000000
--- a/toolchain/gcc/gcc-uclibc-3.x.mk
+++ /dev/null
@@ -1,484 +0,0 @@
-# Makefile for to build a gcc/uClibc toolchain
-#
-# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>
-# Copyright (C) 2004 Manuel Novoa III <mjn3@uclibc.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-
-# without sysroot support. Sysroot toolchain is gcc-uclibc-4.x.mk
-ifneq ($(BR2_TOOLCHAIN_SYSROOT),y)
-
-ifneq ($(GCC_SNAP_DATE),)
- GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_VERSION)
-else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32)
- GCC_SITE:=ftp://www.at91.com/pub/buildroot/
-else
- GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
-endif
-
-GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
-GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)
-GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
-GCC_CAT:=$(BZCAT)
-GCC_STRIP_HOST_BINARIES:=true
-
-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
-
-#############################################################
-#
-# Setup some initial stuff
-#
-#############################################################
-
-
-GCC_CROSS_LANGUAGES:=c
-ifeq ($(BR2_GCC_CROSS_CXX),y)
-GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),c++
-endif
-ifeq ($(BR2_GCC_CROSS_FORTRAN),y)
-GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),fortran
-endif
-ifeq ($(BR2_GCC_CROSS_OBJC),y)
-GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),objc
-endif
-
-
-GCC_TARGET_LANGUAGES:=c
-ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
-GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++
-endif
-ifeq ($(BR2_INSTALL_LIBGCJ),y)
-GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),java
-endif
-ifeq ($(BR2_INSTALL_OBJC),y)
-GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc
-endif
-
-GCC_TARGET_PREREQ =
-GCC_STAGING_PREREQ= $(STAGING_DIR)/usr/lib/libc.a
-
-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+= $(TOOLCHAIN_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
-
-ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
-GCC_SHARED_LIBGCC:=--enable-shared
-else
-GCC_SHARED_LIBGCC:=--disable-shared
-endif
-
-HOST_SOURCE+=gcc-source
-
-#############################################################
-#
-# build the first pass gcc compiler
-#
-#############################################################
-GCC_BUILD_DIR1:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-initial
-
-$(DL_DIR)/$(GCC_SOURCE):
- mkdir -p $(DL_DIR)
- $(call DOWNLOAD,$(GCC_SITE),$(GCC_SOURCE))
-
-gcc-unpacked: $(GCC_DIR)/.patched
-$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
- mkdir -p $(TOOLCHAIN_DIR)
- $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOLCHAIN_DIR) $(TAR_OPTIONS) -
- $(CONFIG_UPDATE) $(@D)
- touch $@
-
-gcc-patched: $(GCC_DIR)/.patched
-$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
- # Apply any files named gcc-*.patch from the source directory to gcc
-ifneq ($(wildcard $(GCC_PATCH_DIR)),)
- toolchain/patch-kernel.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch
-endif
- # Note: The soft float situation has improved considerably with gcc 3.4.x.
- # We can dispense with the custom spec files, as well as libfloat for the arm case.
- # However, we still need a patch for arm. There's a similar patch for gcc 3.3.x
- # which needs to be integrated so we can kill of libfloat for good, except for
- # anyone (?) who might still be using gcc 2.95. mjn3
-ifeq ($(BR2_SOFT_FLOAT),y)
-ifeq ("$(strip $(ARCH))","arm")
- toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
-endif
-ifeq ("$(strip $(ARCH))","armeb")
- toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) arm-softfloat.patch.conditional
-endif
-endif
- touch $@
-
-# The --without-headers option stopped working with gcc 3.0 and has never been
-# fixed, so we need to actually have working C library header files prior to
-# the step or libgcc will not build...
-
-$(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
- mkdir -p $(GCC_BUILD_DIR1)
- (cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) \
- $(HOST_CONFIGURE_OPTS) \
- $(GCC_DIR)/configure $(QUIET) \
- --prefix=$(STAGING_DIR)/usr \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --enable-languages=c \
- --with-sysroot=$(TOOLCHAIN_DIR)/uClibc_dev/ \
- --disable-__cxa_atexit \
- --enable-target-optspace \
- --with-gnu-ld \
- --disable-shared \
- --disable-libssp \
- $(GCC_WITH_HOST_GMP) \
- $(GCC_WITH_HOST_MPFR) \
- $(DISABLE_NLS) \
- $(THREADS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- $(QUIET) \
- )
- touch $@
-
-$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
- touch $@
-
-gcc_initial=$(GCC_BUILD_DIR1)/.installed
-$(gcc_initial) $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
- #rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov
- #rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc $(STAGING_DIR)/share/locale
- touch $(gcc_initial)
-
-gcc_initial: uclibc-configured binutils $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc
-
-gcc_initial-clean:
- rm -rf $(GCC_BUILD_DIR1)
-
-gcc_initial-dirclean:
- rm -rf $(GCC_BUILD_DIR1) $(GCC_DIR)
-
-#############################################################
-#
-# second pass compiler build. Build the compiler targeting
-# the newly built shared uClibc library.
-#
-#############################################################
-#
-# Sigh... I had to rework things because using --with-gxx-include-dir
-# causes issues with include dir search order for g++. This seems to
-# have something to do with "path translations" and possibly doesn't
-# affect gcc-target. However, I haven't tested gcc-target yet so no
-# guarantees. mjn3
-
-GCC_BUILD_DIR2:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)-final
-$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
- mkdir -p $(GCC_BUILD_DIR2)
- # Important! Required for limits.h to be fixed.
- ln -snf ../include $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sys-include
- #-rmdir $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
- #ln -snf ../lib/ $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
- (cd $(GCC_BUILD_DIR2); rm -rf config.cache; \
- $(HOST_CONFIGURE_OPTS) \
- GCC=$(TARGET_CROSS)gcc \
- CPP=$(TARGET_CROSS)cpp \
- LDFLAGS_FOR_TARGET="$(patsubst %,LDFLAGS+=-Wl$(comma)%,$(TARGET_LDFLAGS)) -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
- $(GCC_DIR)/configure $(QUIET) \
- --prefix=$(STAGING_DIR) \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --enable-languages=$(GCC_CROSS_LANGUAGES) \
- --disable-__cxa_atexit \
- --enable-target-optspace \
- --with-gnu-ld \
- --disable-libssp \
- $(GCC_WITH_HOST_GMP) \
- $(GCC_WITH_HOST_MPFR) \
- $(GCC_SHARED_LIBGCC) \
- $(DISABLE_NLS) \
- $(THREADS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
- $(GCC_USE_SJLJ_EXCEPTIONS) \
- $(DISABLE_LARGEFILE) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- )
- touch $@
-
-$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
- PATH=$(TARGET_PATH) $(MAKE) $(HOST_CONFIGURE_OPTS) CPP=$(TARGET_CROSS)cpp -C $(GCC_BUILD_DIR2) all
- touch $@
-
-$(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled
- PATH=$(TARGET_PATH) \
- $(MAKE) $(HOST_CONFIGURE_OPTS) \
- LDFLAGS_FOR_TARGET="$(patsubst %,LDFLAGS+=-Wl$(comma)%,$(TARGET_LDFLAGS)) -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
- -C $(GCC_BUILD_DIR2) install
- if [ -d "$(STAGING_DIR)/usr/lib64" ]; then \
- if [ ! -e "$(STAGING_DIR)/usr/lib" ]; then \
- mkdir -p "$(STAGING_DIR)/usr/lib"; \
- fi; \
- mv "$(STAGING_DIR)/usr/lib64/"* "$(STAGING_DIR)/usr/lib/"; \
- rmdir "$(STAGING_DIR)/usr/lib64"; \
- fi
- # Strip the host binaries
-ifeq ($(GCC_STRIP_HOST_BINARIES),true)
- strip --strip-all -R .note -R .comment $(filter-out %-gccbug %-embedspu,$(wildcard $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-*))
-endif
- # Make sure we have 'cc'.
- if [ ! -e $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc ]; then \
- ln -snf $(REAL_GNU_TARGET_NAME)-gcc \
- $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc; \
- fi
- if [ ! -e $(STAGING_DIR)/usr/bin/gcc ]; then \
- ln -snf gcc $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-cc; \
- fi
- # Set up the symlinks to enable lying about target name.
- set -e; \
- (cd $(STAGING_DIR)/usr; \
- ln -snf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
- cd bin; \
- for app in $(REAL_GNU_TARGET_NAME)-*; do \
- ln -snf $${app} \
- $(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
- done; \
- )
- #
- # Now for the ugly 3.3.x soft float hack...
- #
-ifeq ($(BR2_SOFT_FLOAT),y)
-ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.)
- # Make sure we have a soft float specs file for this arch
- if [ ! -f toolchain/gcc/$(GCC_VERSION)/specs-$(ARCH)-soft-float ]; then \
- echo soft float configured but no specs file for this arch; \
- /bin/false; \
- fi
- # Replace specs file with one that defaults to soft float mode.
- if [ ! -f $(STAGING_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ]; then \
- echo staging dir specs file is missing; \
- /bin/false; \
- fi
- cp toolchain/gcc/$(GCC_VERSION)/specs-$(ARCH)-soft-float $(STAGING_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
-endif
-endif
- #
- # Ok... that's enough of that.
- #
- mkdir -p $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/sbin
- touch $@
-
-$(STAMP_DIR)/gcc_libs_target_installed: $(GCC_BUILD_DIR2)/.installed
-ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
- # These are in /lib, so...
- rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so*
- -cp -dpf $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib/libgcc_s* \
- $(TARGET_DIR)/lib/
- -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/lib/libgcc_s*
-endif
-ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
-ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
- mkdir -p $(TARGET_DIR)/usr/lib
- -cp -dpf $(STAGING_DIR)/lib/libstdc++.so* $(TARGET_DIR)/usr/lib/
- -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libstdc++.so*
-endif
-endif
-ifeq ($(BR2_INSTALL_LIBGCJ),y)
- cp -dpf $(STAGING_DIR)/lib/libgcj.so* $(TARGET_DIR)/usr/lib/
- cp -dpf $(STAGING_DIR)/lib/lib-org-w3c-dom.so* $(TARGET_DIR)/usr/lib/
- cp -dpf $(STAGING_DIR)/lib/lib-org-xml-sax.so* $(TARGET_DIR)/usr/lib/
- mkdir -p $(TARGET_DIR)/usr/lib/security
- cp -dpf $(STAGING_DIR)/usr/lib/security/libgcj.security \
- $(TARGET_DIR)/usr/lib/security/
- cp -dpf $(STAGING_DIR)/usr/lib/security/classpath.security \
- $(TARGET_DIR)/usr/lib/security/
-endif
- mkdir -p $(@D)
- touch $@
-
-cross_compiler:=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc
-cross_compiler gcc: gcc-config $(GCC_BUILD_DIR2)/.installed \
- $(STAMP_DIR)/gcc_libs_target_installed \
- $(GCC_TARGETS)
-
-gcc-source: $(DL_DIR)/$(GCC_SOURCE)
-
-gcc-config: uclibc-configured binutils gcc_initial $(LIBFLOAT_TARGET) \
- uclibc $(GCC_BUILD_DIR2)/.configured
-
-gcc-clean:
- rm -rf $(GCC_BUILD_DIR2)
- for prog in cpp gcc gcc-[0-9]* protoize unprotoize gcov gccbug cc; do \
- rm -f $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-$$prog; \
- rm -f $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-$$prog; \
- done
-
-gcc-dirclean: gcc_initial-dirclean
- rm -rf $(GCC_BUILD_DIR2)
-
-#############################################################
-#
-# Next build target gcc compiler
-#
-#############################################################
-GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target
-
-$(GCC_BUILD_DIR3)/.prepared: $(STAMP_DIR)/gcc_libs_target_installed $(GCC_TARGET_PREREQ)
- mkdir -p $(GCC_BUILD_DIR3)
- touch $@
-
-$(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
- (cd $(GCC_BUILD_DIR3); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS_FOR_BUILD="-g -O2 $(HOST_CFLAGS)" \
- $(TARGET_GCC_FLAGS) \
- $(GCC_DIR)/configure $(QUIET) \
- --prefix=/usr \
- --build=$(GNU_HOST_NAME) \
- --host=$(REAL_GNU_TARGET_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --enable-languages=$(GCC_TARGET_LANGUAGES) \
- --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) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
- $(GCC_USE_SJLJ_EXCEPTIONS) \
- $(DISABLE_LARGEFILE) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- $(EXTRA_TARGET_GCC_CONFIG_OPTIONS) \
- )
- touch $@
-
-$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
- PATH=$(TARGET_PATH) \
- $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS_FOR_BUILD="-g -O2 $(HOST_CFLAGS)" \
- $(TARGET_GCC_FLAGS) \
- -C $(GCC_BUILD_DIR3) all
- touch $@
-
-#
-# gcc-lib dir changes names to gcc with 3.4.mumble
-#
-ifeq ($(findstring 3.4.,$(GCC_VERSION)),3.4.)
-GCC_LIB_SUBDIR=lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
-else
-GCC_LIB_SUBDIR=lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
-endif
-# sigh... we need to find a better way
-ifeq ($(findstring 4.0.,$(GCC_VERSION)),4.0.)
-GCC_LIB_SUBDIR=lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
-endif
-ifeq ($(findstring 4.1.,$(GCC_VERSION)),4.1.)
-GCC_LIB_SUBDIR=lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)
-endif
-ifeq ($(findstring 4.2,$(GCC_VERSION)),4.2)
-ifneq ($(findstring 4.2.,$(GCC_VERSION)),4.2.)
-REAL_GCC_VERSION=$(shell cat $(GCC_DIR)/gcc/BASE-VER)
-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
-endif
-
-$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
- PATH=$(TARGET_PATH) \
- $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS_FOR_BUILD="-g -O2 $(HOST_CFLAGS)" \
- $(TARGET_GCC_FLAGS) \
- DESTDIR=$(TARGET_DIR) \
- -C $(GCC_BUILD_DIR3) install
- # Remove broken specs file (cross compile flag is set).
- rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs
- #
- # Now for the ugly 3.3.x soft float hack...
- #
-ifeq ($(BR2_SOFT_FLOAT),y)
-ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.)
- # Add a specs file that defaults to soft float mode.
- cp toolchain/gcc/$(GCC_VERSION)/specs-$(ARCH)-soft-float $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
- # Make sure gcc does not think we are cross compiling
- $(SED) "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
-endif
-endif
- #
- # Ok... that's enough of that.
- #
- -(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"; \
- cp -f $(STAGING_DIR)/usr/$(GCC_LIB_SUBDIR)/include/syslimits.h \
- $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/include/; \
- fi
- # Make sure we have 'cc'.
- 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
-
-gcc_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc
-
-gcc_target-clean:
- rm -rf $(GCC_BUILD_DIR3)
- rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)*
-
-gcc_target-dirclean:
- rm -rf $(GCC_BUILD_DIR3)
-
-endif
-# gcc-3.x only
-
-endif