This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I am by no means suggesting that these patches be installed yet--am just sending them to the list for retrieval when the time is right. I have reviewed and tested these scripts against Dan Berlin's repository and have convinced myself that they work. 2005-07-14 Ben Elliston <bje@au.ibm.com> * gcc_build: Adapt to Subversion. * gcc_update: Likewise. * newcvsroot: Add a note for Subversion users. Index: gcc_build =================================================================== RCS file: /home/bje/gcc-cvs/gcc/contrib/gcc_build,v retrieving revision 1.14 diff -u -p -r1.14 gcc_build --- gcc_build 21 Aug 2003 18:59:05 -0000 1.14 +++ gcc_build 14 Jul 2005 06:23:46 -0000 @@ -4,12 +4,14 @@ # # File: gcc_build # Author: Mark Mitchell -# Date: 07/10/2000 +# Date: 2000-07-10 +# +# Adapted to Subversion by Ben Elliston <bje@au.ibm.com>, 2005-07-14. # # Contents: # Script to automatically download and build GCC. # -# Copyright (c) 2000, 2001, 2003 Free Software Foundation. +# Copyright (c) 2000, 2001, 2003, 2005 Free Software Foundation. # # This file is part of GCC. # @@ -34,9 +36,6 @@ # Notes ######################################################################## -# If you are using password-based CVS, you must manually log in, and -# not log out from, the CVS server before running this script. - # You can set the following variables in the environment. They # have no corresponding command-line options because they should # only be needed infrequently: @@ -59,7 +58,7 @@ error() { usage() { cat <<EOF -gcc_build [-c configure_options] +Usage: gcc_build [-c configure_options] [-d destination_directory] [-m make_boot_options] [-o objdir] @@ -86,44 +85,28 @@ changedir() { error "Could not change directory to $1" } -# Set up CVS environment variables - -cvs_setup() { - CVSROOT=":${CVS_PROTOCOL}:${CVS_USERNAME}@" - CVSROOT="${CVSROOT}${CVS_SERVER}:${CVS_REPOSITORY}" - export CVSROOT -} - # Checkout a fresh copy of the GCC build tree. checkout_gcc() { - # Tell CVS where to find everything. - cvs_setup - # If the destination already exists, don't risk destroying it. test -e ${DESTINATION} && \ error "${DESTINATION} already exists" - # CVS doesn't allow an absolute path for the destination directory. - DESTINATION_PARENT=`dirname ${DESTINATION}` - test -d ${DESTINATION_PARENT} || \ - error "${DESTINATION_PARENT} is not a directory" - changedir ${DESTINATION_PARENT} - # Checkout the tree - $GCC_CVS -z 9 co -d `basename ${DESTINATION}` gcc || \ + test -n "${SVN_USERNAME}" && SVN_USERNAME="${SVN_USERNAME}@" + SVNROOT="${SVN_PROTOCOL}://${SVN_USERNAME}${SVN_SERVER}${SVN_REPOSITORY}" + + $GCC_SVN co $SVNROOT ${DESTINATION} || \ error "Could not check out GCC" } # Update GCC. update_gcc() { - # Tell CVS where to find everything - cvs_setup - # If the destination does not already exist, complain. test -d ${DESTINATION} || \ - error "{$DESTINATION} does not exist" + error "${DESTINATION} does not exist" + # Enter the destination directory. changedir ${DESTINATION} @@ -189,7 +172,7 @@ export_gcc() { # Build a tarball of the source directory. tar czf ${TARFILE} \ --exclude=${OBJDIR} \ - --exclude=CVS \ + --exclude=.svn \ --exclude='.#*' \ --exclude='*~' \ `basename ${DESTINATION}` @@ -210,16 +193,17 @@ install_gcc() { # Initialization ######################################################################## -# CVS command -GCC_CVS=${GCC_CVS-${CVS-cvs}} -# The CVS server containing the GCC repository. -CVS_SERVER="gcc.gnu.org" +# SVN command +GCC_SVN=${GCC_SVN-${SVN-svn}} +# The SVN server containing the GCC repository. +SVN_SERVER="dberlin.org" # The path to the repository on that server. -CVS_REPOSITORY="/cvs/gcc" -# The CVS protocol to use. -CVS_PROTOCOL="pserver" +SVN_REPOSITORY="/trunk" +# The SVN protocol to use. +SVN_PROTOCOL="svn" # The username to use when connecting to the server. -CVS_USERNAME="anoncvs" +# An empty string means anonymous. +SVN_USERNAME="" # The directory where the checked out GCC will be placed. DESTINATION="${HOME}/dev/gcc" @@ -252,6 +236,9 @@ UPDATE=0 # Main Program ######################################################################## +# Issue usage if no parameters are given. +test $# -eq 0 && usage + # Parse the options. while getopts "c:d:m:o:p:t:u:x:" ARG; do case $ARG in @@ -259,10 +246,10 @@ while getopts "c:d:m:o:p:t:u:x:" ARG; do d) DESTINATION="${OPTARG}";; m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; o) OBJDIR="${OPTARG}";; - p) CVS_PROTOCOL="${OPTARG}";; + p) SVN_PROTOCOL="${OPTARG}";; t) TARFILE="${OPTARG}";; x) MAKE_CHECK_OPTIONS="${OPTARG}";; - u) CVS_USERNAME="${OPTARG}";; + u) SVN_USERNAME="${OPTARG}";; \?) usage;; esac done Index: gcc_update =================================================================== RCS file: /home/bje/gcc-cvs/gcc/contrib/gcc_update,v retrieving revision 1.82 diff -u -p -r1.82 gcc_update --- gcc_update 19 Mar 2005 00:16:22 -0000 1.82 +++ gcc_update 14 Jul 2005 06:23:46 -0000 @@ -1,10 +1,18 @@ #! /bin/sh # -# Update a local CVS tree from the GCC repository, with an emphasis +# Update a local Subversion tree from the GCC repository, with an emphasis # on treating generated files correctly, so that autoconf, gperf et # al are not required for the ``end'' user. # -# By default all command-line options are passed to `cvs update` in +# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation +# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998. +# +# This script is Free Software, and it can be copied, distributed and +# modified as defined in the GNU General Public License. A copy of +# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html +# +# +# By default all command-line options are passed to `svn update` in # addition to $UPDATE_OPTIONS (defined below). If the first parameter # reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself # are omitted. @@ -12,7 +20,7 @@ # If the first parameter reads --patch, the second parameter is considered # a patch file. # -# If the first parameter is --touch, no cvs operation will be performed, +# If the first parameter is --touch, no svn operation will be performed, # only generated files that appear to be out of date in the local tree # will be touched. # @@ -24,30 +32,17 @@ # # Examples: # -# contrib/gcc_update -r gcc_latest_snapshot -# contrib/gcc_update -A -# contrib/gcc_update --nostdflags -P -r gcc-2_95-branch gcc/testsuite +# contrib/gcc_update -r 8712 # contrib/gcc_update --patch some-patch # contrib/gcc_update --touch # contrib/gcc_update --list -# -# -# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation -# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998. -# -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html +exit 0 -# CVS command -GCC_CVS=${GCC_CVS-${CVS-cvs}} -# Default options used when updating via CVS. -UPDATE_OPTIONS=-Pd -# Use -P to prune empty directories. -# Use -d to create any directories that exist in the repository but not -# locally. -# Use -A to reset any sticky tags, dates, or `-k' options. +# SVN command +GCC_SVN=${GCC_SVN-${SVN-svn}} +# Default options used when updating via SVN (none). +UPDATE_OPTIONS="" ######## Anything below shouldn't be changed by regular users. @@ -234,9 +229,9 @@ p esac -# Check whether this indeed looks like a local CVS tree. -if [ ! -d CVS ]; then - echo "This does not seem to be a GCC CVS tree!" +# Check whether this indeed looks like a local SVN tree. +if [ ! -d .svn ]; then + echo "This does not seem to be a GCC SVN tree!" exit fi @@ -247,12 +242,12 @@ else set -- $UPDATE_OPTIONS ${1+"$@"} fi -chat "Updating CVS tree" +chat "Updating SVN tree" -$GCC_CVS -q ${silent+-Q} update ${1+"$@"} +$GCC_SVN --non-interactive -q update ${1+"$@"} if [ $? -ne 0 ]; then (touch_files_reexec) - echo "CVS update of full tree failed." >&2 + echo "SVN update of full tree failed." >&2 exit 1 fi Index: newcvsroot =================================================================== RCS file: /home/bje/gcc-cvs/gcc/contrib/newcvsroot,v retrieving revision 1.3 diff -u -p -r1.3 newcvsroot --- newcvsroot 4 Jun 2000 17:33:50 -0000 1.3 +++ newcvsroot 14 Jul 2005 06:23:46 -0000 @@ -7,6 +7,8 @@ # Usage: newcvsroot <newroot> <modulename> <toplevel directory> if [ $# != 3 ]; then + echo "Note to svn users: use svn switch --relocate instead." + echo echo "usage: `basename $0` <newroot> <modulename> <toplevel directory>" exit 1 fi
Attachment:
signature.asc
Description: OpenPGP digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |