This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 4 of 7] cc/gcc: Add support for getting a gcc snapshot


# HG changeset patch
# User Bryan Hundven <bryanhundven@gmail.com>
# Date 1291712194 28800
# Node ID 8f7cc140fe23d204d2d1915fb3f496f4eef9a7c6
# Parent  73795525c82eaa7f4561f358c70d26ef9d72a446
cc/gcc: Add support for getting a gcc snapshot

diff -r 73795525c82e -r 8f7cc140fe23 config/cc.in
--- a/config/cc.in	Mon Dec 06 22:42:07 2010 -0800
+++ b/config/cc.in	Tue Dec 07 00:56:34 2010 -0800
@@ -8,6 +8,9 @@
 config CC_VERSION
     string
 
+config CC_SNAPSHOT
+    string
+
 source "config.gen/cc.in"
 
 config CC_SUPPORT_CXX
diff -r 73795525c82e -r 8f7cc140fe23 config/cc/gcc.in
--- a/config/cc/gcc.in	Mon Dec 06 22:42:07 2010 -0800
+++ b/config/cc/gcc.in	Tue Dec 07 00:56:34 2010 -0800
@@ -19,6 +19,30 @@
 # Don't remove next line
 # CT_INSERT_VERSION_BELOW
 
+config CC_V_4_6_SNAPSHOT
+    bool
+    prompt "4.6 Snapshot (EXPERIMENTAL)"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_6_or_later
+
+config CC_V_4_5_SNAPSHOT
+    bool
+    prompt "4.5 Snapshot (EXPERIMENTAL)"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_5_or_later
+
+config CC_V_4_4_SNAPSHOT
+    bool
+    prompt "4.4 Snapshot (EXPERIMENTAL)"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_4_or_later
+
+config CC_V_4_3_SNAPSHOT
+    bool
+    prompt "4.3 Snapshot (EXPERIMENTAL)"
+    depends on EXPERIMENTAL
+    select CC_GCC_4_3_or_later
+
 config CC_V_4_5_1
     bool
     prompt "4.5.1 (EXPERIMENTAL)"
@@ -154,6 +178,11 @@
     select CC_GCC_USE_MPC
     select CC_GCC_HAS_LTO
 
+config CC_GCC_4_6_or_later
+    bool
+    default n
+    select CC_GCC_4_5_or_later
+
 config CC_GCC_HAS_GRAPHITE
     bool
     default n
@@ -188,6 +217,10 @@
     string
 # Don't remove next line
 # CT_INSERT_VERSION_STRING_BELOW
+    default "4.6-" if CC_V_4_6_SNAPSHOT
+    default "4.5-" if CC_V_4_5_SNAPSHOT
+    default "4.4-" if CC_V_4_4_SNAPSHOT
+    default "4.3-" if CC_V_4_3_SNAPSHOT
     default "4.5.1" if CC_V_4_5_1
     default "4.5.0" if CC_V_4_5_0
     default "4.4.5" if CC_V_4_4_5
@@ -217,6 +250,15 @@
     depends on CC_LANG_JAVA
     depends on CC_GCC_4_3_or_later
 
+config CC_SNAPSHOT
+    string
+    prompt "gcc snapshot date"
+    depends on CC_V_4_6_SNAPSHOT || CC_V_4_5_SNAPSHOT || CC_V_4_4_SNAPSHOT || CC_V_4_3_SNAPSHOT
+    default ""
+    help
+     Check ftp://gcc.gnu.org/pub/gcc/snapshots/ for the latest snapshot.
+     The string to enter should be just the 'YYYYMMDD' date of the snapshot.
+
 config CC_PKGVERSION
     string
     prompt "gcc ID string"
diff -r 73795525c82e -r 8f7cc140fe23 scripts/build/internals.sh
--- a/scripts/build/internals.sh	Mon Dec 06 22:42:07 2010 -0800
+++ b/scripts/build/internals.sh	Tue Dec 07 00:56:34 2010 -0800
@@ -20,12 +20,12 @@
         esac
         CT_DoLog INFO "Stripping all toolchain executables"
         CT_Pushd "${CT_PREFIX_DIR}"
-        for t in ar as c++ c++filt cpp dlltool dllwrap g++ gcc gcc-${CT_CC_VERSION} gcov gprof ld nm objcopy objdump ranlib readelf size strings strip addr2line windmc windres; do
+        for t in ar as c++ c++filt cpp dlltool dllwrap g++ gcc gcc-${CT_CC_REAL_VERSION} gcov gprof ld nm objcopy objdump ranlib readelf size strings strip addr2line windmc windres; do
             [ -x bin/${CT_TARGET}-${t}${CT_HOST_SUFFIX} ] && ${CT_HOST}-strip ${strip_args} bin/${CT_TARGET}-${t}${CT_HOST_SUFFIX}
             [ -x ${CT_TARGET}/bin/${t}${CT_HOST_SUFFIX} ] && ${CT_HOST}-strip ${strip_args} ${CT_TARGET}/bin/${t}${CT_HOST_SUFFIX}
         done
         CT_Popd
-        CT_Pushd "${CT_PREFIX_DIR}/libexec/gcc/${CT_TARGET}/${CT_CC_VERSION}"
+        CT_Pushd "${CT_PREFIX_DIR}/libexec/gcc/${CT_TARGET}/${CT_CC_REAL_VERSION}"
         for t in cc1 cc1plus collect2; do
             [ -x ${t}${CT_HOST_SUFFIX} ] && ${CT_HOST}-strip ${strip_args} ${t}${CT_HOST_SUFFIX}
         done
diff -r 73795525c82e -r 8f7cc140fe23 scripts/crosstool-NG.sh.in
--- a/scripts/crosstool-NG.sh.in	Mon Dec 06 22:42:07 2010 -0800
+++ b/scripts/crosstool-NG.sh.in	Tue Dec 07 00:56:34 2010 -0800
@@ -151,6 +151,16 @@
 CT_CC_CORE_EXTRA_CONFIG="${CT_ARCH_CC_CORE_EXTRA_CONFIG} ${CT_CC_CORE_EXTRA_CONFIG}"
 CT_CC_EXTRA_CONFIG="${CT_ARCH_CC_EXTRA_CONFIG} ${CT_CC_EXTRA_CONFIG}"
 
+# If we are using a gcc snapshot, get the real "version number" straight
+# here so we don't have to modify the build scripts.
+if [ "${CT_CC_V_4_5_SNAPSHOT}" = "y" -o "${CT_CC_V_4_6_SNAPSHOT}" = "y" ]; then
+    if [ -n "${CT_CC_SNAPSHOT}" ]; then
+        CT_CC_VERSION="${CT_CC_VERSION}${CT_CC_SNAPSHOT}"
+    else
+        CT_Abort "You forgot to set the gcc snapshot date!"
+    fi
+fi
+
 # Compute the working directories names
 CT_TARBALLS_DIR="${CT_WORK_DIR}/tarballs"
 CT_SRC_DIR="${CT_WORK_DIR}/src"
@@ -572,6 +582,11 @@
     fi
 fi
 
+# When referencing the real gcc version, and not the (possibly) snapshot
+# version, use ${CT_CC_REAL_VERSION} instead of the (possibly) snapshot
+# version.
+CT_CC_REAL_VERSION=$(cat ${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER)
+
 # Now for the job by itself. Go have a coffee!
 if [ "${CT_ONLY_DOWNLOAD}" != "y" -a "${CT_ONLY_EXTRACT}" != "y" ]; then
     # Because of CT_RESTART, this becomes quite complex

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]