diff options
author | Jeffrey Oldham <oldham@oz.codesourcery.com> | 2000-11-08 19:41:19 +0000 |
---|---|---|
committer | Jeffrey D. Oldham <oldham@gcc.gnu.org> | 2000-11-08 19:41:19 +0000 |
commit | 37ac3c7f14dd2330a613ccffe9bc7f7cdba7d8d2 (patch) | |
tree | 5f3a311d163c633af9fe5239ce26e4a269473b93 /contrib/gcc_build | |
parent | 6990885199c0d4d79f823fd82613bd6d1e0ff105 (diff) | |
download | gcc-37ac3c7f14dd2330a613ccffe9bc7f7cdba7d8d2.zip gcc-37ac3c7f14dd2330a613ccffe9bc7f7cdba7d8d2.tar.gz gcc-37ac3c7f14dd2330a613ccffe9bc7f7cdba7d8d2.tar.bz2 |
gcc_build (bootstrap_gcc): New function.
2000-11-08 Jeffrey Oldham <oldham@oz.codesourcery.com>
* gcc_build (bootstrap_gcc): New function.
(configure_gcc): Likewise.
(build_gcc): Rewritten to use configure and bootstrap.
(MAKE_BOOTSTRAP_OPTIONS): Replaced MAKE_OPTIONS.
From-SVN: r37323
Diffstat (limited to 'contrib/gcc_build')
-rwxr-xr-x | contrib/gcc_build | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/contrib/gcc_build b/contrib/gcc_build index ddcbb2f..2989628 100755 --- a/contrib/gcc_build +++ b/contrib/gcc_build @@ -61,12 +61,14 @@ usage() { cat <<EOF gcc_build [-c configure_options] [-d destination_directory] - [-m make_options] + [-m make_boot_options] [-u username] [-p protocol] [-t tarfile] + [bootstrap] [build] [checkout] + [configure] [export] [install] [test] @@ -128,9 +130,9 @@ update_gcc() { error "Could not update GCC" } -# Build GCC. +# Configure for a build of GCC. -build_gcc() { +configure_gcc() { # Go to the source directory. changedir ${DESTINATION} @@ -143,14 +145,23 @@ build_gcc() { changedir ${OBJDIR} # Configure the tree. - (eval ${DESTINATION}/configure ${CONFIGURE_OPTIONS} | - tee -a ${LOGFILE}) 2>&1 || \ - error "Could not configure GCC" + (eval ${DESTINATION}/configure ${CONFIGURE_OPTIONS} 2>&1 | + tee -a ${LOGFILE}) || \ + 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 - (eval ${MAKE} ${MAKE_OPTIONS} bootstrap 2>&1 | + (eval ${MAKE} ${MAKE_BOOTSTRAP_OPTIONS} bootstrap 2>&1 | tee -a ${LOGFILE}) || \ - error "Could not build GCC" + error "Could not bootstrap the compiler" } # Test GCC. @@ -223,11 +234,12 @@ CONFIGURE_OPTIONS= # The `make' program. MAKE=${MAKE:-make} # Options to pass to make. -MAKE_OPTIONS= +MAKE_BOOTSTRAP_OPTIONS= # Modes of operation -BUILD=0 +BOOTSTRAP=0 CHECKOUT=0 +CONFIGURE=0 EXPORT=0 INSTALL=0 TEST=0 @@ -242,7 +254,7 @@ while getopts "c:d:m:p:t:u:" ARG; do case $ARG in c) CONFIGURE_OPTIONS="${OPTARG}";; d) DESTINATION="${OPTARG}";; - m) MAKE_OPTIONS="${OPTARG}";; + m) MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";; p) CVS_PROTOCOL="${OPTARG}";; t) CVS_TARGFILE="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; @@ -254,8 +266,10 @@ shift `expr ${OPTIND} - 1` # Handle the major modes. while [ $# -ne 0 ]; do case $1 in - build) BUILD=1;; + bootstrap) BOOTSTRAP=1;; + build) CONFIGURE=1; BOOTSTRAP=1;; checkout) CHECKOUT=1;; + configure) CONFIGURE=1;; export) EXPORT=1;; install) INSTALL=1;; test) TEST=1;; @@ -282,9 +296,14 @@ elif [ ${UPDATE} -ne 0 ]; then update_gcc fi -# Build the compiler. -if [ ${BUILD} -ne 0 ]; then - build_gcc +# 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 |