diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index f2f0a56be8..80d8b58f74 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -51,12 +51,25 @@ choice depends !BR2_nios2 bool "gcc 4.1.0" - config BR2_GCC_VERSION_4_2_0 + config BR2_GCC_VERSION_4_2 depends !BR2_nios2 - bool "gcc 4.2.0" + select BR2_GCC_IS_SNAP + bool "gcc 4.2" endchoice +config BR2_GCC_IS_SNAP + bool + default n + +config BR2_GCC_SNAP_DATE + string "GCC snapshot date" + default "20060408" + depends BR2_GCC_IS_SNAP + help + Enter snapshot date to use for gcc. Format is: + YYYYMMDD + config BR2_GCC_VERSION string default "3.3.5" if BR2_GCC_VERSION_3_3_5 @@ -71,7 +84,7 @@ config BR2_GCC_VERSION default "4.0.2" if BR2_GCC_VERSION_4_0_2 default "4.0.3" if BR2_GCC_VERSION_4_0_3 default "4.1.0" if BR2_GCC_VERSION_4_1_0 - default "4.2.0" if BR2_GCC_VERSION_4_2_0 + default "4.2" if BR2_GCC_VERSION_4_2 config BR2_GCC_USE_SJLJ_EXCEPTIONS diff --git a/toolchain/gcc/Makefile.in b/toolchain/gcc/Makefile.in index 11733c95cd..235b86af8e 100644 --- a/toolchain/gcc/Makefile.in +++ b/toolchain/gcc/Makefile.in @@ -10,6 +10,11 @@ TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION))) #" EXTRA_GCC_CONFIG_OPTIONS:=$(strip $(subst ",, $(BR2_EXTRA_GCC_CONFIG_OPTIONS))) #" +ifeq ($(strip $(subst ",, $(BR2_GCC_IS_SNAP))),y) +GCC_SNAP_DATE:=$(strip $(subst ",, $(BR2_GCC_SNAP_DATE))) +else +GCC_SNAP_DATE:= +endif ifeq ($(strip $(BR2_GCC_USE_SJLJ_EXCEPTIONS)),y) @@ -40,4 +45,3 @@ endif ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y) TARGETS+=gcc_target endif - diff --git a/toolchain/gcc/gcc-uclibc-3.x.mk b/toolchain/gcc/gcc-uclibc-3.x.mk index 44f7100045..42532f6f99 100644 --- a/toolchain/gcc/gcc-uclibc-3.x.mk +++ b/toolchain/gcc/gcc-uclibc-3.x.mk @@ -17,18 +17,17 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -GCC_VERSION:=$(strip $(GCC_VERSION)) - +ifeq ($(GCC_SNAP_DATE),) +GCC_OFFICIAL_VER:=$(GCC_VERSION) #GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION) -GCC_SITE:=ftp://ftp.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gcc/gcc-$(GCC_VERSION) +GCC_SITE:=ftp://ftp.ibiblio.org/pub/mirrors/gnu/ftp/gnu/gcc/gcc-$(GCC_OFFICIAL_VER) +else +GCC_OFFICIAL_VER:=$(GCC_VERSION)-$(GCC_SNAP_DATE) +GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_OFFICIAL_VER) +endif -# -# snapshots.... -#GCC_VERSION:=3.3-20031013 -#GCC_SITE:=http://gcc.get-software.com/snapshots/$(GCC_VERSION) -# -GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2 -GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION) +GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2 +GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER) GCC_CAT:=bzcat GCC_STRIP_HOST_BINARIES:=true @@ -76,7 +75,16 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE) $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked # Apply any files named gcc-*.patch from the source directory to gcc +ifeq ($(GCC_SNAP_DATE),) toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch +else +ifneq ($(wildcard toolchain/gcc/$(GCC_OFFICIAL_VER)),) + toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_OFFICIAL_VER) \*.patch +else + toolchain/patch-kernel.sh $(GCC_DIR) toolchain/gcc/$(GCC_VERSION) \*.patch +endif +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