diff options
Diffstat (limited to 'gcc-4.8.1/contrib/gcc_build')
-rwxr-xr-x | gcc-4.8.1/contrib/gcc_build | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/gcc-4.8.1/contrib/gcc_build b/gcc-4.8.1/contrib/gcc_build deleted file mode 100755 index 6713066d7..000000000 --- a/gcc-4.8.1/contrib/gcc_build +++ /dev/null @@ -1,325 +0,0 @@ -#! /bin/sh - -######################################################################## -# -# File: gcc_build -# Author: Mark Mitchell -# 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, 2005 Free Software Foundation. -# -# This file is part of GCC. -# -# GCC is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GCC is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GCC; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -######################################################################## - -######################################################################## -# Notes -######################################################################## - -# You can set the following variables in the environment. They -# have no corresponding command-line options because they should -# only be needed infrequently: -# -# MAKE The path to `make'. - -######################################################################## -# Functions -######################################################################## - -# Issue the error message given by $1 and exit with a non-zero -# exit code. - -error() { - echo "gcc_build: error: $1" - exit 1 -} - -# Issue a usage message explaining how to use this script. - -usage() { -cat <<EOF -gcc_build [-c configure_options] - [-d destination_directory] - [-m make_boot_options] - [-o objdir] - [-b branch_name] - [-u username] - [-p protocol] - [-t tarfile] - [-x make_check_options] - [bootstrap] - [build] - [checkout] - [configure] - [export] - [install] - [test] - [update] -EOF - exit 1 -} - -# Change to the directory given by $1. - -changedir() { - cd $1 || \ - error "Could not change directory to $1" -} - -# Checkout a fresh copy of the GCC build tree. - -checkout_gcc() { - # If the destination already exists, don't risk destroying it. - test -e ${DESTINATION} && \ - error "${DESTINATION} already exists" - - # Checkout the tree - test -n "${SVN_USERNAME}" && SVN_USERNAME="${SVN_USERNAME}@" - SVNROOT="${SVN_PROTOCOL}://${SVN_USERNAME}${SVN_SERVER}${SVN_REPOSITORY}${SVN_BRANCH}" - - $GCC_SVN co $SVNROOT ${DESTINATION} || \ - error "Could not check out GCC" -} - -# Update GCC. - -update_gcc() { - # If the destination does not already exist, complain. - test -d ${DESTINATION} || \ - error "${DESTINATION} does not exist" - - # Enter the destination directory. - changedir ${DESTINATION} - - # Update the tree - ./contrib/gcc_update || \ - error "Could not update GCC" -} - -# Configure for a build of GCC. - -configure_gcc() { - # Go to the source directory. - changedir ${DESTINATION} - - # Remove the object directory. - rm -rf ${OBJDIR} - # Create it again. - mkdir ${OBJDIR} || \ - error "Could not create ${OBJDIR}" - # Enter it. - changedir ${OBJDIR} - - # Configure the tree. - echo "Configuring: ${DESTINATION}/configure ${CONFIGURE_OPTIONS}" - eval ${DESTINATION}/configure ${CONFIGURE_OPTIONS} || \ - error "Could not configure the compiler" -} - -# Bootstrap GCC. Assume configuration has already occurred. - -bootstrap_gcc() { - # Go to the source directory. - changedir ${DESTINATION} - # Go to the object directory. - changedir ${OBJDIR} - - # Bootstrap the compiler - echo "Building: ${MAKE} ${MAKE_BOOTSTRAP_OPTIONS} bootstrap" - eval ${MAKE} ${MAKE_BOOTSTRAP_OPTIONS} bootstrap || \ - error "Could not bootstrap the compiler" -} - -# Test GCC. - -test_gcc() { - # Go to the source directory. - changedir ${DESTINATION} - # Go to the object directory. - changedir ${OBJDIR} - - echo "Running tests... This will take a while." - eval \${MAKE} -k ${MAKE_CHECK_OPTIONS} check - ${DESTINATION}/contrib/test_summary -} - -# Export the GCC source tree. - -export_gcc() { - # Go to the source directory. - changedir ${DESTINATION} - # Go up one level. - changedir .. - # Build a tarball of the source directory. - tar czf ${TARFILE} \ - --exclude=${OBJDIR} \ - --exclude=.svn \ - --exclude='.#*' \ - --exclude='*~' \ - `basename ${DESTINATION}` -} - -# Install GCC. - -install_gcc() { - # Go to the source directory. - changedir ${DESTINATION} - # Go to the object directory. - changedir ${OBJDIR} - - ${MAKE} install || error "Installation failed" -} - -######################################################################## -# Initialization -######################################################################## - -# SVN command -GCC_SVN=${GCC_SVN-${SVN-svn}} -# The SVN server containing the GCC repository. -SVN_SERVER="gcc.gnu.org" -# The path to the repository on that server. -SVN_REPOSITORY="/svn/gcc/" -# The branch to check out from that server. -# Defaults to trunk if no branch is defined with -b. -SVN_BRANCH="" -# The SVN protocol to use. -SVN_PROTOCOL="svn" -# The username to use when connecting to the server. -# An empty string means anonymous. -SVN_USERNAME="" - -# The directory where the checked out GCC will be placed. -DESTINATION="${HOME}/dev/gcc" -# The relative path from the top of the source tree to the -# object directory. -OBJDIR="objdir" - -# The file where the tarred up sources will be placed. -TARFILE="${HOME}/dev/gcc.tgz" - -# Options to pass to configure. -CONFIGURE_OPTIONS= -# The `make' program. -MAKE=${MAKE:-make} -# Options to pass to "make bootstrap". -MAKE_BOOTSTRAP_OPTIONS= -# Options to pass to "make check". -MAKE_CHECK_OPTIONS= - -# Modes of operation -BOOTSTRAP=0 -CHECKOUT=0 -CONFIGURE=0 -EXPORT=0 -INSTALL=0 -TEST=0 -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:b:u:x:" ARG; do - case $ARG in - c) CONFIGURE_OPTIONS="${OPTARG}";; - d) DESTINATION="${OPTARG}";; - m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; - o) OBJDIR="${OPTARG}";; - p) SVN_PROTOCOL="${OPTARG}";; - t) TARFILE="${OPTARG}";; - x) MAKE_CHECK_OPTIONS="${OPTARG}";; - b) SVN_BRANCH="${OPTARG}";; - u) SVN_USERNAME="${OPTARG}";; - \?) usage;; - esac -done -shift `expr ${OPTIND} - 1` - -# Handle the major modes. -while [ $# -ne 0 ]; do - case $1 in - bootstrap) BOOTSTRAP=1;; - build) CONFIGURE=1; BOOTSTRAP=1;; - checkout) CHECKOUT=1;; - configure) CONFIGURE=1;; - export) EXPORT=1;; - install) INSTALL=1;; - test) TEST=1;; - update) UPDATE=1;; - *) usage;; - esac - shift -done - -# Check the arguments for sanity. -if [ ${CHECKOUT} -ne 0 ] && [ ${UPDATE} -ne 0 ]; then - error "Cannot checkout and update simultaneously" -fi - -if [ ${CHECKOUT} -eq 0 ] && test -n "${SVN_BRANCH}"; then - error "Branch argument only makes sense when doing a checkout" -fi - -# Validate the branch name. -if test -n "${SVN_BRANCH}"; then - SVN_BRANCH="branches/${SVN_BRANCH}"; -else - SVN_BRANCH="trunk"; -fi - -# Checkout the tree. -if [ ${CHECKOUT} -ne 0 ]; then - checkout_gcc -elif [ ${UPDATE} -ne 0 ]; then - update_gcc -fi - -# Configure to build the tree. -if [ ${CONFIGURE} -ne 0 ]; then - configure_gcc -fi - -# Bootstrap the compiler. -if [ ${BOOTSTRAP} -ne 0 ]; then - bootstrap_gcc -fi - -# Test the compiler -if [ ${TEST} -ne 0 ]; then - test_gcc -fi - -# Install the compiler. -if [ ${INSTALL} -ne 0 ]; then - install_gcc -fi - -# Export the sources -if [ ${EXPORT} -ne 0 ]; then - export_gcc -fi |