瀏覽代碼

add proper support for gcc snapshots

Mike Frysinger 19 年之前
父節點
當前提交
7528aaa923
共有 3 個文件被更改,包括 39 次插入14 次删除
  1. 16 3
      toolchain/gcc/Config.in
  2. 5 1
      toolchain/gcc/Makefile.in
  3. 18 10
      toolchain/gcc/gcc-uclibc-3.x.mk

+ 16 - 3
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

+ 5 - 1
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
-

+ 18 - 10
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