diff options
author | Marc Espie <espie@cvs.openbsd.org> | 1999-05-26 13:38:57 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 1999-05-26 13:38:57 +0000 |
commit | 0126e157b87f137fc08dc7f46f6c291b9d06ac5d (patch) | |
tree | f8555e3e504eb82b4cd3cba5cec20ae4ce8124ff /gnu/egcs/gcc/configure.lang | |
parent | ff8e9a4356e55ed142306c3a375fa280800abc86 (diff) |
egcs projects compiler system
Exact copy of the snapshot, except for the removal of
texinfo/
gcc/ch/
libchill/
Diffstat (limited to 'gnu/egcs/gcc/configure.lang')
-rw-r--r-- | gnu/egcs/gcc/configure.lang | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/configure.lang b/gnu/egcs/gcc/configure.lang new file mode 100644 index 00000000000..d96b6d8d531 --- /dev/null +++ b/gnu/egcs/gcc/configure.lang @@ -0,0 +1,233 @@ +# configure.lang for GNU CC +# This script is run by configure for configuration of language +# subdirectories which conform to the old GCC configure mechanism +# for such subdirectories. + +# Copyright (C) 1997, 1998 Free Software Foundation, Inc. + +#This file is part of GNU CC. + +#GNU CC 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 2, or (at your option) +#any later version. + +#GNU CC 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 GNU CC; see the file COPYING. If not, write to +#the Free Software Foundation, 59 Temple Place - Suite 330, +#Boston, MA 02111-1307, USA. + +savesrcdir=$srcdir + +for subdir in . $oldstyle_subdirs +do + # We only want to do this in language subdirs, but we have to handle + # the case of $oldstyle_subdirs = "". + if [ $subdir = . ] + then + continue + fi + + oldsrcdir=$savesrcdir + + # Re-adjust the path + case $oldsrcdir in + /*) + srcdir=$oldsrcdir/$subdir + ;; + *) + oldsrcdir=../${oldsrcdir} + srcdir=$oldsrcdir/$subdir + ;; + esac + mainsrcdir=$oldsrcdir + STARTDIR=`pwd` + test -d $subdir || mkdir $subdir + cd $subdir + + # Create Makefile.tem from Makefile.in. + # Make it set VPATH if necessary so that the sources are found. + # Also change its value of srcdir. + # Also create a .gdbinit file which runs the one in srcdir + # and tells GDB to look there for source files. + case $srcdir in + . | ./$subdir | .././$subdir) + rm -f Makefile.tem + cp Makefile.in Makefile.tem + chmod +w Makefile.tem + ;; + *) + rm -f Makefile.tem + echo "VPATH = ${srcdir}" \ + | cat - ${srcdir}/Makefile.in \ + | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem + rm -f .gdbinit + echo "dir ." > .gdbinit + echo "dir ${srcdir}" >> .gdbinit + echo "dir ${mainsrcdir}" >> .gdbinit + if [ x$gdb_needs_out_file_path = xyes ] + then + echo "dir ${mainsrcdir}/config/"`dirname ${out_file}` >> .gdbinit + fi + echo "source ${mainsrcdir}/.gdbinit" >> .gdbinit + ;; + esac + + # Conditionalize the makefile for this host machine. + rm -f Makefile.xx Makefile.ll + merged_frags= + for f in .. ${host_xmake_file} + do + if [ -f ${mainsrcdir}/config/$f ] + then + cat ${mainsrcdir}/config/$f >> Makefile.ll + if [ x"${merged_frags}" != x ] + then + merged_frags="${merged_frags} and " + fi + merged_frags="${merged_frags}${f}" + fi + done + if [ x"${merged_frags}" != x ] + then + sed -e "/####host/ r Makefile.ll" Makefile.tem > Makefile.xx + echo "Merged ${merged_frags}." + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + rm -f Makefile.ll + fi + + # Add a definition for MAKE if system wants one. + case "$SET_MAKE" in + ?*) + rm -f Makefile.xx + (echo "$SET_MAKE"; cat Makefile.tem) >Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + esac + + # Add a definition for INSTALL if system wants one. + # This substitutes for lots of x-* files. + if [ x$build_broken_install = x ] + then true + else + rm -f Makefile.xx + abssrcdir=`cd ${srcdir}; pwd` + sed "s|^INSTALL = .*|${INSTALL}|" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # If using -program-transform-name, override the installation names. + if [ "x${program_transform_set}" = "xyes" ] ; then + sed -e "s/^program_transform_name[ ]*=.*$/program_transform_name = +$program_transform_name/" \ + -e "s/^program_transform_cross_name[ +]*=.*$/program_transform_cross_name = $program_transform_name/" \ + Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Conditionalize the makefile for this target machine. + rm -f Makefile.xx Makefile.ll + merged_frags= + for f in .. ${tmake_file} + do + if [ -f ${mainsrcdir}/config/$f ] + then + cat ${mainsrcdir}/config/$f >> Makefile.ll + if [ x"${merged_frags}" != x ] + then + merged_frags="${merged_frags} and " + fi + merged_frags="${merged_frags}$f" + fi + done + if [ x"${merged_frags}" != x ] + then + sed -e "/####target/ r Makefile.ll" Makefile.tem > Makefile.xx + echo "Merged ${merged_frags}." + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + rm -f Makefile.ll + fi + + # If the host supports + # symlinks, point stage[123] at ../stage[123] so bootstrapping and the + # installation procedure can still use CC="stage1/xgcc -Bstage1/". + # If the host doesn't support symlinks, FLAGS_TO_PASS has been + # modified to solve the problem there. + for t in stage1 stage2 stage3 stage4 include + do + rm -f $t + $symbolic_link ../$t $t 2>/dev/null + done + + # Remove all formfeeds, since some Makes get confused by them. + # Also arrange to give the variables `target', `target_alias', + # `host_xmake_file', `tmake_file', `prefix', `local_prefix', + # `exec_prefix', `INSTALL_HEADERS_DIR', `exeext' + # values in the Makefile from the values they have in this script. + rm -f Makefile.xx + # Create an empty Makefile.sed first, to work around a Nextstep 3.3 bug. + echo 's|||' > Makefile.sed + rm Makefile.sed + echo 's|||' > Makefile.sed + echo "s|^target=.*$|target=${target}|" >> Makefile.sed + echo "s|^target_alias=.*$|target_alias=${target_alias}|" >> Makefile.sed + echo "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" >> Makefile.sed + echo "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" >> Makefile.sed + echo "s|^version=.*$|version=${version}|" >> Makefile.sed + echo "s|^GCC_THREAD_FILE=.*$|GCC_THREAD_FILE=${thread_file}|" >> Makefile.sed + echo "s|^prefix[ ]*=.*|prefix = $prefix|" >> Makefile.sed + echo "s|^local_prefix[ ]*=.*|local_prefix = $local_prefix|" >> Makefile.sed + echo "s|^exec_prefix[ ]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed + echo "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${build_install_headers_dir}|" >> Makefile.sed + echo "s|^exeext[ ]*=.*$|exeext = ${build_exeext}|" >> Makefile.sed + sed -f Makefile.sed Makefile.tem > Makefile.xx + rm -f Makefile.tem Makefile.sed + mv Makefile.xx Makefile.tem + + # Install Makefile for real, after making final changes. + # Define macro CROSS_COMPILE in compilation + # if this is a cross-compiler. + # Also use all.cross instead of all.internal + # and add cross-make to Makefile. + if [ x$host != x$target ] + then + rm -f Makefile.xx + echo "CROSS=-DCROSS_COMPILE" > Makefile.xx + sed -e "/####cross/ r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # When building gcc with a cross-compiler, we need to fix a few things. + # This must come after cross-make as we want all.build to override + # all.cross. + if [ x$build != x$host ] + then + rm -f Makefile.xx + echo "build= $build" > Makefile.xx + echo "host= $host" >> Makefile.xx + sed -e "s|objc-runtime$||" \ + -e "/####build/ r ${mainsrcdir}/build-make" Makefile.tem >> Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + rm -f Makefile + mv Makefile.tem Makefile + echo "Created \`$subdir/Makefile'." + + cd $STARTDIR +done # end of current-dir SUBDIRS loop + +# Restore this, remember we're invoked with `.'. +srcdir=$savesrcdir |