- add additional EXTRA_GCC_CONFIG_OPTIONS for initial, cross and target compiler
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 1 Oct 2007 12:56:24 +0000 (12:56 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mon, 1 Oct 2007 12:56:24 +0000 (12:56 -0000)
toolchain/gcc/gcc-uclibc-4.x.mk

index 59b9a7e07f7b8f3cd6362190cd8f4d99300364e8..bca78e07cc286da112331e27c4fa1c8a8f69dbb5 100644 (file)
@@ -54,7 +54,7 @@ GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2
 GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER)
 GCC_CAT:=$(BZCAT)
 GCC_STRIP_HOST_BINARIES:=nope
-
+GCC_SRC_DIR=$(GCC_DIR) # for stage2 and stage3 compilers. Usually same as stage1
 
 ifeq ($(findstring x3.,x$(GCC_VERSION)),x3.)
 GCC_NO_MPFR:=y
@@ -63,14 +63,16 @@ ifeq ($(findstring x4.0.,x$(GCC_VERSION)),x4.0.)
 GCC_NO_MPFR:=y
 endif
 
+GCC_TARGET_PREREQ=
+GCC_STAGING_PREREQ=
+
 #############################################################
 #
 # Setup some initial stuff
 #
 #############################################################
 
-GCC_TARGET_PREREQ=
-GCC_STAGING_PREREQ=$(STAGING_DIR)/usr/lib/libc.a
+GCC_STAGING_PREREQ+=$(STAGING_DIR)/usr/lib/libc.a
 
 GCC_TARGET_LANGUAGES:=c
 
@@ -206,7 +208,9 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
                $(MULTILIB) \
                $(SOFT_FLOAT_CONFIG_OPTION) \
                $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
-               $(EXTRA_GCC_CONFIG_OPTIONS))
+               $(EXTRA_GCC_CONFIG_OPTIONS) \
+               $(EXTRA_GCC1_CONFIG_OPTIONS) \
+       )
        touch $@
 
 $(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
@@ -216,8 +220,6 @@ $(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
 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)/usr/bin/gccbug $(STAGING_DIR)/usr/bin/gcov
-       #rm -rf $(STAGING_DIR)/usr/info $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc $(STAGING_DIR)/usr/share/locale
        touch $(gcc_initial)
 
 gcc_initial: uclibc-configured binutils $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc
@@ -242,7 +244,7 @@ gcc_initial-dirclean:
 # guarantees. mjn3
 
 GCC_BUILD_DIR2:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)-final
-$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
+$(GCC_BUILD_DIR2)/.configured: $(GCC_SRC_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
@@ -250,7 +252,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
        #ln -snf ../lib $(STAGING_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib
        (cd $(GCC_BUILD_DIR2); rm -rf config.cache; \
                $(HOST_CONFIGURE_OPTS) \
-               $(GCC_DIR)/configure \
+               $(GCC_SRC_DIR)/configure \
                --prefix=$(BR2_SYSROOT_PREFIX)/usr \
                --build=$(GNU_HOST_NAME) \
                --host=$(GNU_HOST_NAME) \
@@ -271,7 +273,9 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
                $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
                $(GCC_USE_SJLJ_EXCEPTIONS) \
                $(DISABLE_LARGEFILE) \
-               $(EXTRA_GCC_CONFIG_OPTIONS))
+               $(EXTRA_GCC_CONFIG_OPTIONS) \
+               $(EXTRA_GCC2_CONFIG_OPTIONS) \
+       )
        touch $@
 
 $(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
@@ -390,7 +394,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
        (cd $(GCC_BUILD_DIR3); rm -rf config.cache; \
                $(TARGET_CONFIGURE_OPTS) \
                $(TARGET_GCC_FLAGS) \
-               $(GCC_DIR)/configure \
+               $(GCC_SRC_DIR)/configure \
                --prefix=/usr \
                --build=$(GNU_HOST_NAME) \
                --host=$(REAL_GNU_TARGET_NAME) \
@@ -410,7 +414,9 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.prepared
                $(GCC_USE_SJLJ_EXCEPTIONS) \
                $(DISABLE_LARGEFILE) \
                $(EXTRA_GCC_CONFIG_OPTIONS) \
-               $(EXTRA_TARGET_GCC_CONFIG_OPTIONS))
+               $(EXTRA_TARGET_GCC_CONFIG_OPTIONS) \
+               $(EXTRA_GCC3_CONFIG_OPTIONS) \
+       )
        touch $@
 
 $(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
@@ -435,7 +441,7 @@ 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)
+REAL_GCC_VERSION=$(shell cat $(GCC_SRC_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)