add proper support for gcc snapshots

This commit is contained in:
Mike Frysinger 2006-04-13 05:50:01 +00:00
parent 85586431fa
commit 7528aaa923
3 changed files with 39 additions and 14 deletions

View File

@ -51,12 +51,25 @@ choice
depends !BR2_nios2 depends !BR2_nios2
bool "gcc 4.1.0" bool "gcc 4.1.0"
config BR2_GCC_VERSION_4_2_0 config BR2_GCC_VERSION_4_2
depends !BR2_nios2 depends !BR2_nios2
bool "gcc 4.2.0" select BR2_GCC_IS_SNAP
bool "gcc 4.2"
endchoice 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 config BR2_GCC_VERSION
string string
default "3.3.5" if BR2_GCC_VERSION_3_3_5 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.2" if BR2_GCC_VERSION_4_0_2
default "4.0.3" if BR2_GCC_VERSION_4_0_3 default "4.0.3" if BR2_GCC_VERSION_4_0_3
default "4.1.0" if BR2_GCC_VERSION_4_1_0 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 config BR2_GCC_USE_SJLJ_EXCEPTIONS

View File

@ -10,6 +10,11 @@ TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION)))
#" #"
EXTRA_GCC_CONFIG_OPTIONS:=$(strip $(subst ",, $(BR2_EXTRA_GCC_CONFIG_OPTIONS))) 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) ifeq ($(strip $(BR2_GCC_USE_SJLJ_EXCEPTIONS)),y)
@ -40,4 +45,3 @@ endif
ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y) ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y)
TARGETS+=gcc_target TARGETS+=gcc_target
endif endif

View File

@ -17,18 +17,17 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # 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.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
# GCC_SOURCE:=gcc-$(GCC_OFFICIAL_VER).tar.bz2
# snapshots.... GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_OFFICIAL_VER)
#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_CAT:=bzcat GCC_CAT:=bzcat
GCC_STRIP_HOST_BINARIES:=true GCC_STRIP_HOST_BINARIES:=true
@ -76,7 +75,16 @@ $(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
# Apply any files named gcc-*.patch from the source directory to gcc # 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 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. # 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. # 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 # However, we still need a patch for arm. There's a similar patch for gcc 3.3.x