--- gcc/configure 2018/04/24 17:51:25 1.1.1.1 +++ gcc/configure 2018/04/24 18:25:09 1.1.1.8 @@ -1,6 +1,6 @@ #!/bin/sh # Configuration script for GNU CC -# Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc. +# Copyright (C) 1988, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. #This file is part of GNU CC. @@ -16,13 +16,33 @@ #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, 675 Mass Ave, Cambridge, MA 02139, USA. +#the Free Software Foundation, 59 Temple Place - Suite 330, +#Boston, MA 02111-1307, USA. # # Shell script to create proper links to machine-dependent files in # preparation for compiling gcc. # -# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] TARGET +# Options: --srcdir=DIR specifies directory where sources are. +# --host=HOST specifies host configuration. +# --target=TARGET specifies target configuration. +# --build=TARGET specifies configuration of machine you are +# using to compile GCC. +# --prefix=DIR specifies directory to install in. +# --local-prefix=DIR specifies directory to put local ./include in. +# --gxx-include-dir=DIR specifies directory to put g++ header files in. +# --exec-prefix=DIR specifies directory to install executables in. +# --with-gnu-ld arrange to work with GNU ld. +# --with-gnu-as arrange to work with GAS. +# --with-stabs arrange to use stabs instead of host debug format. +# --with-elf arrange to use elf instead of host debug format. +# --enable-FOO, --enable-FOO=BAR include feature FOO (parameter BAR) +# --disable-FOO do not include feature FOO +# --nfp assume system has no FPU. +# --program-prefix=PREFIX specifies prefix for executable names. +# --program-suffix=SUFFIX specifies suffix for executable names. +# --program-transform-name=SED-EXPR specifies `sed' expression to +# apply to executable names. # # If configure succeeds, it leaves its status in config.status. # If configure fails after disturbing the status quo, @@ -33,15 +53,43 @@ progname=$0 # Default --srcdir to the directory where the script is found, # if a directory was specified. -srcdir=`echo $0 | sed 's|/[^/]*$||'` +# The second sed call is to convert `.//configure' to `./configure'. +srcdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'` if [ x$srcdir = x$0 ] then srcdir= fi +host= + +# Default prefix to /usr/local. +prefix=/usr/local + +# On systems where GCC is the native compiler, $prefix should be +# /usr. But the user can change it with configure --prefix=/foo/bar +native_prefix=/usr + +# local_prefix specifies where to find the directory /usr/local/include +# We don't use $(prefix) for this +# because we always want GCC to search /usr/local/include +# even if GCC is installed somewhere other than /usr/local. +# Think THREE TIMES before specifying any other value for this! +# DO NOT make this use $prefix! +local_prefix=/usr/local +# Default is to let the Makefile set exec_prefix from $(prefix) +exec_prefix='$(prefix)' +# +# The default g++ include directory is $(libdir)/g++-include. +gxx_include_dir='$(libdir)/g++-include' + +# Default --program-transform-name to nothing. +program_transform_name= +program_transform_set= + remove=rm hard_link=ln symbolic_link='ln -s' +copy=cp # Record all the arguments, to write them in config.status. arguments=$* @@ -51,62 +99,293 @@ arguments=$* #hard_link="echo ln" #symbolic_link="echo ln -s" +target= +host= +build= +name1= +name2= + for arg in $*; do -# Handle -srcdir, etc, with space between it and argument. - if [ x$next_srcdir = xyes ] - then srcdir=$arg; next_srcdir=; - else if [ x$next_objdir = xyes ] - then objdir=$arg; next_objdir=; -# Handle -host, etc, with space between it and argument. - else if [ x$next_host = xyes ] - then host=$arg; next_host=; - else if [ x$next_target = xyes ] - then target=$arg; next_target=; - else + case $next_arg in + --srcdir) + srcdir=$arg + next_arg= + ;; + --host) + host=$arg + next_arg= + ;; + --target) + target=$arg + next_arg= + ;; + --build) + build=$arg + next_arg= + ;; + --prefix) + prefix=$arg + native_prefix=$prefix + next_arg= + ;; + --local-prefix) + local_prefix=$arg + next_arg= + ;; + --gxx-include-dir) + gxx_include_dir=$arg + next_arg= + ;; + --exec-prefix) + exec_prefix=$arg + next_arg= + ;; + --program-transform-name) + # Double any backslashes or dollar signs in the argument. + if [ -n "${arg}" ] ; then + program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`" + fi + program_transform_set=yes + next_arg= + ;; + --program-prefix) + if [ -n "${arg}" ]; then + program_transform_name="${program_transform_name} -e s,^,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`," + fi + program_transform_set=yes + next_arg= + ;; + --program-suffix) + if [ -n "${arg}" ]; then + program_transform_name="${program_transform_name} -e s,\$\$,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`," + fi + program_transform_set=yes + next_arg= + ;; + --x-*) + next_arg= + ;; + *) case $arg in - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*) - srcdir=`echo $arg | sed 's/-*s[a-z]*=//'` - ;; - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s) - next_srcdir=yes + -*) + if [ x$name1 != x ] + then + echo "Positional arguments must be last." 1>&2 + exit 1 + fi ;; - -objdir=* | --objdir=* | --objdi=* | --objd=* | --obj=* | --ob=* | --o=*) - objdir=`echo $arg | sed 's/-*o[a-z]*=//'` + esac + + case $arg in + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + next_arg=--srcdir ;; - -objdir | --objdir | --objdi | --objd | --obj | --ob | --o) - next_objdir=yes + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=`echo $arg | sed 's/-*s[a-z]*=//'` ;; - -host | --host | --hos | --ho | --h) - next_host=yes + -host | --host | --hos | --ho) + next_arg=--host ;; - -host=* | --host=* | --hos=* | --ho=* | --h=*) + -host=* | --host=* | --hos=* | --ho=*) host=`echo $arg | sed 's/-*h[a-z]*=//'` ;; -target | --target | --targe | --targ | --tar | --ta | --t) - next_target=yes + next_arg=--target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target=`echo $arg | sed 's/-*t[a-z]*=//'` ;; - -gas | --gas | --ga | --g) + -build | --build | --buil | --bui | --bu | --b) + next_arg=--build + ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build=`echo $arg | sed 's/-*b[a-z]*=//'` + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + next_arg=--prefix + ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=`echo $arg | sed 's/-*p[a-z]*=//'` + native_prefix=$prefix + ;; + -local-prefix | --local-prefix | --local-prefi | --local-pref | --local-pre \ + | --local-pr | --local-p | --local- | --local | --loc | --lo | --l) + next_arg=--local-prefix + ;; + -local-prefix=* | --local-prefix=* | --local-prefi=* | --local-pref=* \ + | --local-pre=* | --local-pr=* | --local-p=* | --local-=* | --local=* \ + | --loc=* | --lo=* | --l=*) + local_prefix=`echo $arg | sed 's/-*l[-a-z]*=//'` + ;; + -gxx-include-dir | --gxx-include-dir | --gxx-include \ + | --gxx-incl | --gxx-inc | --gxx-in | --gxx-i | --gxx- \ + | --gxx | --gxx | --gx | --g) + next_arg=--gxx-include-dir + ;; + -gxx-include-dir=* | --gxx-include-dir=* | --gxx-include=* \ + | --gxx-incl=* | --gxx-inc=* | --gxx-in=* | --gxx-i=* \ + | --gxx-=* | --gxx=* | --gxx=* | --gxx=* | --g=*) + gxx_include_dir=`echo $arg | sed 's/-*g[-a-z]*=//'` + ;; + -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre \ + | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e) + next_arg=--exec-prefix + ;; + -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* \ + | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* \ + | --exe=* | --ex=* | --e=*) + exec_prefix=`echo $arg | sed 's/-*e[-a-z]*=//'` + ;; + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- | --program-transform \ + | --program-transfor | --program-transfo | --program-transf \ + | --program-trans | --program-tran | --program-tra \ + | --program-tr | --program-t) + next_arg=--program-transform-name + ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* | --program-transfo=* \ + | --program-transf=* | --program-trans=* | --program-tran=* \ + | --program-tra=* | --program-tr=* | --program-t=*) + arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'` + # Double any \ or $ in the argument. + if [ -n "${arg}" ] ; then + program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`" + fi + program_transform_set=yes + ;; + -program-prefix | --program-prefix | --program-prefi \ + | --program-pref | --program-pre | --program-pr \ + | --program-p) + next_arg=--program-prefix + ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* \ + | --program-p=*) + arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'` + if [ -n "${arg}" ]; then + program_transform_name="${program_transform_name} -e s,^,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`," + fi + program_transform_set=yes + ;; + -program-suffix | --program-suffix | --program-suffi \ + | --program-suff | --program-suf | --program-su \ + | --program-s) + next_arg=--program-suffix + ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* \ + | --program-s=*) + arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'` + if [ -n "${arg}" ]; then + program_transform_name="${program_transform_name} -e s,\$\$,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`," + fi + program_transform_set=yes + ;; + -with-gnu-ld | --with-gnu-ld | --with-gnu-l) + gnu_ld=yes + ;; + -gas | --gas | --ga | --g | -with-gnu-as | --with-gnu-as | -with-gnu-a) gas=yes ;; -nfp | --nfp | --nf | --n) nfp=yes ;; + -with-stabs | -with-stab | -with-sta | -with-st | -with-s \ + | --with-stabs | --with-stab | --with-sta | --with-st | --with-s \ + | -stabs | -stab | -sta | -st \ + | --stabs | --stab | --sta | --st) + stabs=yes + ;; + -with-elf | -with-el | -with-se \ + | --with-elf | --with-el | --with-e \ + | -elf | -el | -e \ + |--elf | --el | --e) + elf=yes + ;; + -with-* | --with-*) ;; #ignored + -without-* | --without-*) ;; #ignored + -disable-* | --disable-*) + enableopt=`echo ${arg} | sed 's:^-*disable-:enable_:;s:-:_:g'` + eval $enableopt=no + ;; + -enable-* | --enable-*) + case "$arg" in + *=*) optarg=`echo $arg | sed 's:^[^=]*=::;s:-:_:g'` ;; + *) optarg=yes ;; + esac + enableopt=`echo ${arg} | sed 's:^-*::;s:=.*$::;s:-:_:g'` + eval $enableopt="$optarg" + ;; + -x | --x) ;; # ignored + -x-*=* | --x-*=*) ;; # ignored + -x-* | --x-*) + next_arg=--x-ignored # ignored + ;; + --he*) ;; # ignored for now (--help) + --vers*) ;; # ignored for now (--version) + -v | -verb* | --verb*) ;; # ignored for now (--verbose) + --program-*) ;; #ignored (--program-prefix, --program-suffix) + --c*) ;; #ignored (--cache-file) + --q*) ;; #ignored (--quiet) + --si*) ;; #ignored (--silent) + -*) + echo "Invalid option \`$arg'" 1>&2 + exit 1 + ;; *) -# Allow configure HOST TARGET - if [ x$host = x ] +# Allow configure HOST TARGET. If just one name is given, it is used +# as both unless a host was previously given, in which case it is +# just the target. + if [ x$name1 != x ] then - host=$target + if [ x$name2 != x ] + then + echo "More than two configuration names." 1>&2 + exit 1 + fi + name2=$arg + elif [ x$host != x ] + then + name1=$host + name2=$arg + host= + else + name1=$arg fi - target=$arg ;; esac - fi; fi; fi; fi + esac done +if [ x$name1 != x ] +then + if [ x$name2 = x ] + then + name2=$name1 + fi + + if [ x$host != x ] + then + echo "Duplicate specification of host." 1>&2 + exit 1 + fi + + if [ x$target != x ] + then + echo "Duplicate specification of target." 1>&2 + exit 1 + fi + + host=$name1 + build=$name1 + target=$name2 +fi + # Find the source files, if location was not specified. if [ x$srcdir = x ] then @@ -122,487 +401,2040 @@ if [ ! -r ${srcdir}/tree.c ] then if [ x$srcdirdefaulted = x ] then - echo "$progname: Can't find compiler sources in \`${srcdir}'." 1>&2 + echo "$progname: Can't find compiler sources in \`${srcdir}'" 1>&2 else - echo "$progname: Can't find compiler sources in \`.' or \`..'." 1>&2 + echo "$progname: Can't find compiler sources in \`.' or \`..'" 1>&2 fi exit 1 fi -# If the directory for object files was specified, -# go to that directory and do the configuring there. -# Replace srcdir with an absolute file name -# so that changing working directory does not invalidate it. -if [ x$objdir = x ] -then true -else - srcdir=`(cd $srcdir; pwd)` - cd $objdir +if [ -r ${srcdir}/config.status ] && [ x$srcdir != x. ] +then + echo "$progname: \`configure' has been run in \`${srcdir}'" 1>&2 + exit 1 fi # Complain if an arg is missing -if [ x$target = x ] +if [ x$build = x ] then - echo "No target specified." - echo "Usage: $progname [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] TARGET" - echo -n "Where HOST and TARGET are something like " - echo "\`vax', \`sun3', \`encore', etc." - if [ -r config.status ] + # If host was specified, always use it for build also to avoid + # confusion. If someone wants a cross compiler where build != host, + # then they must specify build explicitly. Since this case is + # extremely rare, it does not matter that it is slightly inconvenient. + if [ x$host != x ] + then + build=$host + + # This way of testing the result of a command substitution is + # defined by Posix.2 (section 3.9.1) as well as traditional shells. + elif build=`${srcdir}/config.guess` + then + echo "This appears to be a ${build} system." 1>&2 + + elif [ x$target != x ] then - cat config.status + echo 'Config.guess failed to determine the host type. Defaulting to target.' + build=$target + else + echo 'Config.guess failed to determine the host type. You need to specify one.' 1>&2 + echo "\ +Usage: `basename $progname` [--host=HOST] [--build=BUILD] + [--prefix=DIR] [--gxx-include-dir=DIR] [--local-pref=DIR] [--exec-pref=DIR] + [--with-gnu-as] [--with-gnu-ld] [--with-stabs] [--with-elf] [--nfp] TARGET" 1>&2 + echo "Where HOST, TARGET and BUILD are three-part configuration names " 1>&2 + if [ -r config.status ] + then + tail +2 config.status 1>&2 + fi + exit 1 fi - exit 1 fi -# Default other arg +# If $host was not specified, use $build. if [ x$host = x ] then - host=$target + host=$build fi +# If $target was not specified, use $host. +if [ x$target = x ] +then + target=$host +fi + +build_xm_file= +host_xm_file= +host_xmake_file= +host_broken_install= +host_install_headers_dir=install-headers-tar +host_truncate_target= + +# Validate the specs, and canonicalize them. +canon_build=`/bin/sh $srcdir/config.sub $build` || exit 1 +canon_host=`/bin/sh $srcdir/config.sub $host` || exit 1 +canon_target=`/bin/sh $srcdir/config.sub $target` || exit 1 + # Decode the host machine, then the target machine. # For the host machine, we save the xm_file variable as host_xm_file; # then we decode the target machine and forget everything else # that came from the host machine. -for machine in $host $target; do - - # Validate the spec, and canonicalize it. - machine=`$srcdir/config.sub $machine` || exit 1 +for machine in $canon_build $canon_host $canon_target; do cpu_type= xm_file= tm_file= + out_file= xmake_file= tmake_file= + extra_headers= + extra_passes= + extra_parts= + extra_programs= + extra_objs= + extra_gcc_objs= + # Set this to force installation and use of collect2. + use_collect2= + # Set this to override the default target model. + target_cpu_default= + # Set this to force use of install.sh. + broken_install= + # Set this to control which fixincludes program to use. + fixincludes=fixincludes + # Set this to control how the header file directory is installed. + install_headers_dir=install-headers-tar + # Set this to a non-empty list of args to pass to cpp if the target + # wants its .md file passed through cpp. + md_cppflags= + # Set this if directory names should be truncated to 14 characters. + truncate_target= + # Set this if gdb needs a dir command with `dirname $out_file` + gdb_needs_out_file_path= case $machine in # Support site-specific machine types. *local*) - cpu_type=$machine - xm_file=xm-$machine.h - tm_file=$machine.h - if [ -f $srcdir/config/x-$machine ] ; \ - then xmake_file=x-$machine; \ + cpu_type=`echo $machine | sed -e 's/-.*//'` + rest=`echo $machine | sed -e "s/$cpu_type-//"` + xm_file=${cpu_type}/xm-$rest.h + tm_file=${cpu_type}/$rest.h + if [ -f $srcdir/config/${cpu_type}/x-$rest ] ; \ + then xmake_file=${cpu_type}/x-$rest; \ else true; \ fi - if [ -f $srcdir/config/t-$machine ] ; \ - then tmake_file=t-$machine; \ + if [ -f $srcdir/config/${cpu_type}/t-$rest ] ; \ + then tmake_file=${cpu_type}/t-$rest; \ else true; \ fi ;; - vax-*-bsd*) # vaxen running BSD - tm_file=vax.h + 1750a-*-*) ;; - vax-*-ultrix*) # vaxen running ultrix - tm_file=ultrix.h + a29k-*-bsd* | a29k-*-sym1*) + tm_file=a29k/unix.h + xm_file=a29k/xm-unix.h + xmake_file=a29k/x-unix + tmake_file=a29k/t-a29k + use_collect2=yes + ;; + a29k-*-udi | a29k-*-coff) + tmake_file=a29k/t-a29kbare + tm_file=a29k/a29k-udi.h + ;; + a29k-*-vxworks*) + tmake_file=a29k/t-vx29k + tm_file=a29k/vx29k.h + extra_parts="crtbegin.o crtend.o" + ;; + a29k-*-*) # Default a29k environment. + use_collect2=yes + ;; + alpha-dec-osf[23456789]*) + tm_file=alpha/osf2.h + if [ x$stabs = xyes ] + then + tm_file=alpha/gdb-osf2.h + fi + if [ x$gas != xyes ] + then + extra_passes="mips-tfile mips-tdump" + fi + broken_install=yes + use_collect2=yes ;; - vax-*-vms*) # vaxen running VMS - xm_file=xm-vms.h - tm_file=vms.h + alpha-dec-osf1.2) + tm_file=alpha/osf12.h + if [ x$stabs = xyes ] + then + tm_file=alpha/gdb-osf12.h + fi + if [ x$gas != xyes ] + then + extra_passes="mips-tfile mips-tdump" + fi + broken_install=yes + use_collect2=yes ;; - vax-*-sysv*) # vaxen running system V - xm_file=xm-vaxv.h - tm_file=vaxv.h + alpha-*-osf*) + if [ x$stabs = xyes ] + then + tm_file=alpha/gdb.h + fi + if [ x$gas != xyes ] + then + extra_passes="mips-tfile mips-tdump" + fi + broken_install=yes + use_collect2=yes + ;; + alpha-*-winnt3*) + tm_file=alpha/win-nt.h + xm_file=alpha/xm-winnt.h + tmake_file=t-libc-ok + xmake_file=winnt/x-winnt + extra_objs=oldnames.o + extra_gcc_objs="spawnv.o oldnames.o" + fixincludes=fixinc.winnt + if [ x$gnu_ld != xyes ] + then + extra_programs=ld.exe + fi + ;; + arm-*-riscix1.[01]*) # Acorn RISC machine (early versions) + tm_file=arm/riscix1-1.h + use_collect2=yes + ;; + arm-*-riscix*) # Acorn RISC machine + if [ x$gas = xyes ] + then + tm_file=arm/rix-gas.h + else + tm_file=arm/riscix.h + fi + xmake_file=arm/x-riscix + tmake_file=arm/t-riscix + use_collect2=yes + ;; + arm-semi-aout | armel-semi-aout) + cpu_type=arm + tm_file=arm/semi.h + tmake_file=arm/t-semi + fixincludes=Makefile.in # There is nothing to fix + ;; + arm-*-*) # generic version + ;; + c1-convex-*) # Convex C1 + cpu_type=convex + tm_file=convex/convex1.h + use_collect2=yes + fixincludes=Makefile.in + ;; + c2-convex-*) # Convex C2 + cpu_type=convex + tm_file=convex/convex2.h + use_collect2=yes + fixincludes=Makefile.in + ;; + c32-convex-*) + cpu_type=convex + tm_file=convex/convex32.h # Convex C32xx + use_collect2=yes + fixincludes=Makefile.in + ;; + c34-convex-*) + cpu_type=convex + tm_file=convex/convex34.h # Convex C34xx + use_collect2=yes + fixincludes=Makefile.in + ;; + c38-convex-*) + cpu_type=convex + tm_file=convex/convex38.h # Convex C38xx + use_collect2=yes + fixincludes=Makefile.in + ;; + clipper-intergraph-clix*) + broken_install=yes + cpu_type=clipper + xm_file=clipper/xm-clix.h + tm_file=clipper/clix.h + extra_headers=va-clipper.h + extra_parts="crtbegin.o crtend.o" + xmake_file=clipper/x-clix + install_headers_dir=install-headers-cpio + ;; + dsp16xx-*) + ;; + elxsi-elxsi-*) + use_collect2=yes ;; # This hasn't been upgraded to GCC 2. -# tahoe-harris-*) # Harris tahoe, using COFF. -# tm_file=harris.h -# ;; -# tahoe-*-bsd*) # tahoe running BSD -# xm_file=xm-tahoe.h -# tm_file=tahoe.h +# fx80-alliant-*) # Alliant FX/80 # ;; - i386-osfrose*) # 386 using OSF/rose - tm_file=i386rose.h - xmake_file=x-i386rose - tmake_file=t-i386rose - ;; - i386-sequent-bsd*) # 80386 from Sequent - xm_file=xm-i386.h - tm_file=seq386.h - ;; - i386-*-mach*) - xm_file=xm-i386.h - tm_file=i386mach.h - tmake_file=t-libc-ok + h8300-*-*) + cpu_type=h8300 + ;; + hppa1.1-*-osf*) + cpu_type=pa + tm_file=pa/pa1-osf.h + use_collect2=yes + fixincludes=Makefile.in + ;; + hppa1.0-*-osf*) + cpu_type=pa + tm_file=pa/pa-osf.h + use_collect2=yes + fixincludes=Makefile.in + ;; + hppa1.1-*-bsd*) + cpu_type=pa + tm_file=pa/pa1.h + use_collect2=yes + fixincludes=Makefile.in + ;; + hppa1.0-*-bsd*) + cpu_type=pa + use_collect2=yes + fixincludes=Makefile.in + ;; + hppa1.0-*-hpux7*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa-gux7.h + else + tm_file=pa/pa-hpux7.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.0-*-hpux8.0[0-2]*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa-ghpux.h + else + tm_file=pa/pa-oldas.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.1-*-hpux8.0[0-2]*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa1-ghpux.h + else + tm_file=pa/pa1-oldas.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.1-*-hpux9* | \ + hppa1.1-*-hpux10*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa1-ghpux9.h + else + tm_file=pa/pa1-hpux9.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.0-*-hpux9* | \ + hppa1.0-*-hpux10*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa-ghpux9.h + else + tm_file=pa/pa-hpux9.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.1-*-hpux*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa1-ghpux.h + else + tm_file=pa/pa1-hpux.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.0-*-hpux*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa-ghpux.h + else + tm_file=pa/pa-hpux.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.1-*-hiux*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa1-ghiux.h + else + tm_file=pa/pa1-hiux.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa1.0-*-hiux*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=pa/t-pa + if [ x$gas = xyes ] + then + tm_file=pa/pa-ghiux.h + else + tm_file=pa/pa-hiux.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + ;; + hppa*-*-lites*) + cpu_type=pa + tm_file=pa/pa1.h + use_collect2=yes + fixincludes=Makefile.in + ;; + i370-*-mvs*) + cpu_type=i370 + tm_file=i370/mvs.h + xm_file=i370/xm-mvs.h + out_file=i370/mvs370.c + ;; + i[345]86-ibm-aix*) # IBM PS/2 running AIX + cpu_type=i386 + if [ x$gas = xyes ] + then + tm_file=i386/aix386.h + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtstuff + else + tm_file=i386/aix386ng.h + use_collect2=yes + fi + xm_file=i386/xm-aix.h + xmake_file=i386/x-aix + broken_install=yes + ;; + i486-ncr-sysv4*) # NCR 3000 - i486 running system V.4 + cpu_type=i386 + xm_file=i386/xm-sysv4.h + xmake_file=i386/x-ncr3000 + tm_file=i386/sysv4.h + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtpic + ;; + i[345]86-next-*) + cpu_type=i386 + tm_file=i386/next.h + out_file=i386/next.c + xm_file=i386/xm-next.h + tmake_file=i386/t-next + xmake_file=i386/x-next + ;; + i[345]86-sequent-bsd*) # 80386 from Sequent + cpu_type=i386 + use_collect2=yes + if [ x$gas = xyes ] + then + tm_file=i386/seq-gas.h + else + tm_file=i386/sequent.h + fi ;; - i386-*-sco*) # 80386 running SCO system - xm_file=xm-i386v.h - tm_file=i386sco.h - xmake_file=x-i386sco - tmake_file=t-i386sco - ;; - i386-*-isc*) # 80386 running ISC system - xm_file=xm-i386v.h - tm_file=i386isc.h - xmake_file=x-i386isc - ;; - i386-ibm-aix*) # IBM PS/2 running AIX - tm_file=aix386.h - xm_file=xm-aix386.h - xmake_file=x-aix386 + i[345]86-sequent-ptx1*) + cpu_type=i386 + xm_file=i386/xm-sysv3.h + xmake_file=i386/x-sysv3 + tm_file=i386/seq-sysv3.h + tmake_file=i386/t-crtstuff + fixincludes=fixinc.ptx + extra_parts="crtbegin.o crtend.o" + install_headers_dir=install-headers-cpio + broken_install=yes + ;; + i[345]86-sequent-ptx2* | i[345]86-sequent-sysv*) + cpu_type=i386 + xm_file=i386/xm-sysv3.h + xmake_file=i386/x-sysv3 + tm_file=i386/seq2-sysv3.h + tmake_file=i386/t-crtstuff + extra_parts="crtbegin.o crtend.o" + fixincludes=fixinc.ptx + install_headers_dir=install-headers-cpio + broken_install=yes ;; i386-sun-sunos*) # Sun i386 roadrunner - xm_file=xm-i386sun.h - tm_file=i386sun.h + xm_file=i386/xm-sun.h + tm_file=i386/sun.h + use_collect2=yes ;; - i386-*-sysv4*) # Intel 80386's running system V.4 - xm_file=xm-i38v4.h - xmake_file=x-i386v4 - tm_file=i386v4.h - tmake_file=t-svr4 + i[345]86-*-aout*) + cpu_type=i386 + tm_file=i386/i386-aout.h + tmake_file=i386/t-i386bare + ;; + i[345]86-*-bsdi* | i[345]86-*-bsd386*) + cpu_type=i386 + tm_file=i386/bsd386.h + xm_file=i386/xm-bsd386.h +# tmake_file=t-libc-ok + ;; + i[345]86-*-bsd*) + cpu_type=i386 + tm_file=i386/386bsd.h + xm_file=i386/xm-bsd386.h +# tmake_file=t-libc-ok +# Next line turned off because both 386BSD and BSD/386 use GNU ld. +# use_collect2=yes ;; - i386-*-sysv*) # Intel 80386's running system V - xm_file=xm-i386v.h - xmake_file=x-i386v - tmake_file=t-svr3 + i[345]86-*-freebsd*) + cpu_type=i386 + tm_file=i386/freebsd.h + xm_file=i386/xm-freebsd.h + # On FreeBSD, the headers are already ok. + fixincludes=Makefile.in + xmake_file=i386/x-freebsd + ;; + i[345]86-*-netbsd*) + cpu_type=i386 + tm_file=i386/netbsd.h + xm_file=i386/xm-netbsd.h + # On NetBSD, the headers are already okay. + fixincludes=Makefile.in + tmake_file=t-libc-ok + xmake_file=x-netbsd + ;; + i[345]86-*-coff*) + cpu_type=i386 + tm_file=i386/i386-coff.h + tmake_file=i386/t-i386bare + ;; + i[345]86-*-gnu*) + cpu_type=i386 # GNU supports this CPU; rest done below. + ;; + i[345]86-*-isc*) # 80386 running ISC system + cpu_type=i386 + xm_file=i386/xm-isc.h + case $machine in + i[345]86-*-isc[34]*) + xmake_file=i386/x-isc3 + ;; + *) + xmake_file=i386/x-isc + ;; + esac + echo $xmake_file + if [ x$gas = xyes -a x$stabs = xyes ] + then + tm_file=i386/iscdbx.h + tmake_file=i386/t-svr3dbx + extra_parts="crtbegin.o crtend.o svr3.ifile svr3z.ifile" + else + tm_file=i386/isccoff.h + tmake_file=i386/t-crtstuff + extra_parts="crtbegin.o crtend.o" + fi + install_headers_dir=install-headers-cpio + broken_install=yes + ;; + i[345]86-*-linux*oldld*) # Intel 80386's running Linux + cpu_type=i386 # with a.out format using pre BFD linkers + xm_file=i386/xm-linux.h + xmake_file=x-linux + tm_file=i386/linux-oldld.h + fixincludes=Makefile.in #On Linux, the headers are ok already. + broken_install=yes + gnu_ld=yes + ;; + i[345]86-*-linux*aout*) # Intel 80386's running Linux + cpu_type=i386 # with a.out format + xm_file=i386/xm-linux.h + xmake_file=x-linux + tm_file=i386/linux-aout.h + fixincludes=Makefile.in #On Linux, the headers are ok already. + broken_install=yes + gnu_ld=yes + ;; + i[345]86-*-linux*) # Intel 80386's running Linux + cpu_type=i386 # with ELF format + xm_file=i386/xm-linux.h + xmake_file=x-linux + tm_file=i386/linux.h + fixincludes=Makefile.in #On Linux, the headers are ok already. + broken_install=yes + gnu_ld=yes + # Don't use it. Linux uses a slightly different one. + # The real one comes with the Linux C library. + #extra_parts="crtbegin.o crtend.o" + ;; + i[345]86-go32-msdos | i[345]86-*-go32) + cpu_type=i386 + tm_file=i386/go32.h + ;; + i[345]86-*-lynxos*) + cpu_type=i386 if [ x$gas = xyes ] then - tm_file=i386gas.h + tm_file=i386/lynx.h else - tm_file=i386v.h + tm_file=i386/lynx-ng.h fi + xm_file=i386/xm-lynx.h + tmake_file=i386/t-i386bare + xmake_file=x-lynx ;; - i486-*-sysv4*) # Intel 80486's running system V.4 + i[345]86-*-mach*) cpu_type=i386 - xm_file=xm-i38v4.h - xmake_file=x-i386v4 - tm_file=i486v4.h - tmake_file=t-svr4 + tm_file=i386/mach.h +# tmake_file=t-libc-ok + use_collect2=yes ;; - i860-*-sysv3*) - xm_file=xm-i86v3.h - xmake_file=x-i860v3 - tm_file=i860v3.h - tmake_file=t-svr3 + i[345]86-*-osfrose*) # 386 using OSF/rose + cpu_type=i386 + if [ x$elf = xyes ] + then + tm_file=i386/osfelf.h + use_collect2= + else + tm_file=i386/osfrose.h + use_collect2=yes + fi + xm_file=i386/xm-osf.h + xmake_file=i386/x-osfrose + extra_objs=halfpic.o ;; - i860-*-sysv4*) - xm_file=xm-i86v4.h - xmake_file=x-i860v4 - tm_file=i860v4.h - tmake_file=t-svr4 + i[345]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system + cpu_type=i386 + xm_file=i386/xm-sco.h + xmake_file=i386/x-sco4 + fixincludes=fixinc.sco + broken_install=yes + install_headers_dir=install-headers-cpio + if [ x$stabs = xyes ] + then + tm_file=i386/sco4dbx.h + tmake_file=i386/t-svr3dbx + extra_parts="svr3.ifile svr3z.rfile" + else + tm_file=i386/sco4.h + tmake_file=i386/t-crtstuff + extra_parts="crtbegin.o crtend.o" + fi + ;; + i[345]86-*-sco*) # 80386 running SCO system + cpu_type=i386 + xm_file=i386/xm-sco.h + xmake_file=i386/x-sco + broken_install=yes + install_headers_dir=install-headers-cpio + if [ x$stabs = xyes ] + then + tm_file=i386/scodbx.h + tmake_file=i386/t-svr3dbx + extra_parts="svr3.ifile svr3z.rfile" + else + tm_file=i386/sco.h + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtstuff + fi + truncate_target=yes + ;; + i[345]86-*-solaris2* | i[345]86-*-sunos5*) + cpu_type=i386 + xm_file=i386/xm-sysv4.h + tm_file=i386/sol2.h + tmake_file=i386/t-sol2 + extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o" + xmake_file=x-svr4 + fixincludes=fixinc.svr4 + broken_install=yes + ;; + i[345]86-*-sysv4*) # Intel 80386's running system V.4 + cpu_type=i386 + xm_file=i386/xm-sysv4.h + if [ x$stabs = xyes ] + then + tm_file=i386/sysv4gdb.h + else + tm_file=i386/sysv4.h + fi + tmake_file=i386/t-crtpic + xmake_file=x-svr4 + extra_parts="crtbegin.o crtend.o" + ;; + i[345]86-*-sysv*) # Intel 80386's running system V + cpu_type=i386 + xm_file=i386/xm-sysv3.h + xmake_file=i386/x-sysv3 + if [ x$gas = xyes ] + then + if [ x$stabs = xyes ] + then + tm_file=i386/svr3dbx.h + tmake_file=i386/t-svr3dbx + extra_parts="svr3.ifile svr3z.rfile" + else + tm_file=i386/svr3gas.h + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtstuff + fi + else + tm_file=i386/sysv3.h + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtstuff + fi + ;; + i386-*-vsta) # Intel 80386's running VSTa kernel + xm_file=i386/xm-vsta.h + tm_file=i386/vsta.h + tmake_file=i386/t-vsta + xmake_file=i386/x-vsta + ;; + i[345]86-*-winnt3*) + cpu_type=i386 + tm_file=i386/win-nt.h + out_file=i386/i386.c + xm_file=i386/xm-winnt.h + xmake_file=winnt/x-winnt + tmake_file=i386/t-winnt + extra_objs="winnt.o oldnames.o" + extra_gcc_objs="spawnv.o oldnames.o" + fixincludes=fixinc.winnt + if [ x$gnu_ld != xyes ] + then + extra_programs=ld.exe + fi ;; i860-alliant-*) # Alliant FX/2800 - xm_file=xm-i86v4.h - xmake_file=x-i860v4 - tm_file=fx2800.h - tmake_file=t-svr4 + xm_file=i860/xm-fx2800.h + xmake_file=i860/x-fx2800 + tm_file=i860/fx2800.h + tmake_file=i860/t-fx2800 + extra_parts="crtbegin.o crtend.o" ;; i860-*-bsd*) if [ x$gas = xyes ] then - tm_file=i860bg.h + tm_file=i860/bsd-gas.h else - tm_file=i860b.h + tm_file=i860/bsd.h fi + use_collect2=yes ;; - sparc-unicom-*) - tm_file=pbd.h - xm_file=xm-pbd.h + i860-*-mach*) + xm_file=i860/xm-i860.h + tm_file=i860/mach.h + tmake_file=t-libc-ok ;; - sparc-*-sunos4*) - tm_file=sparc.h + i860-*-osf*) # Intel Paragon XP/S, OSF/1AD + xm_file=i860/xm-paragon.h + tm_file=i860/paragon.h + tmake_file=t-osf + broken_install=yes ;; - sparc-*-sunos3*) - tm_file=sun4o3.h + i860-*-sysv3*) + xm_file=i860/xm-sysv3.h + xmake_file=i860/x-sysv3 + tm_file=i860/sysv3.h + extra_parts="crtbegin.o crtend.o" ;; - sparc-*-sysv4*) - tm_file=sparc.h + i860-*-sysv4*) + xm_file=i860/xm-sysv4.h + xmake_file=i860/x-sysv4 + tm_file=i860/sysv4.h tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" ;; - m68k-tti-*) - tm_file=tti68k.h + i960-wrs-vxworks5 | i960-wrs-vxworks5.0*) + tmake_file=i960/t-vxworks960 + tm_file=i960/vx960.h + use_collect2=yes + ;; + i960-wrs-vxworks5*) + tmake_file=i960/t-vxworks960 + tm_file=i960/vx960-coff.h + use_collect2=yes + ;; + i960-wrs-vxworks*) + tmake_file=i960/t-vxworks960 + tm_file=i960/vx960.h + use_collect2=yes + ;; + i960-*-coff*) + tmake_file=i960/t-960bare + tm_file=i960/i960-coff.h + use_collect2=yes ;; -# This has not been updated in a while. I don't think it will be. -# mab@tticda.tti.com might be able to say more. If it does not get -# updated, the newpbb.h file can be yanked, as it is not for a -# general machine. Mike Stump . -# m68k-tti2-*) -# tm_file=newpbb.h -# ;; - m68k-*-amix*) # Commodore variant of V.4. - tm_file=amix.h - xm_file=xm-amix.h - xmake_file=x-amix + i960-*-*) # Default i960 environment. + use_collect2=yes + ;; + m68000-convergent-sysv*) + cpu_type=m68k + xm_file=m68k/xm-3b1.h + tm_file=m68k/ctix.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68000-hp-bsd*) # HP 9000/200 running BSD + cpu_type=m68k + tm_file=m68k/hp2bsd.h + xmake_file=m68k/x-hp2bsd + use_collect2=yes + extra_headers=math-68881.h + ;; + m68000-hp-hpux*) # HP 9000 series 300 + cpu_type=m68k + xm_file=m68k/xm-hp320.h + if [ x$gas = xyes ] + then + xmake_file=m68k/x-hp320g + tm_file=m68k/hp310g.h + else + xmake_file=m68k/x-hp320 + tm_file=m68k/hp310.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + extra_headers=math-68881.h + ;; + m68000-sun-sunos3*) + cpu_type=m68k + tm_file=m68k/sun2.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68000-sun-sunos4*) + cpu_type=m68k + tm_file=m68k/sun2o4.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68000-att-sysv*) + cpu_type=m68k + xm_file=m68k/xm-3b1.h + if [ x$gas = xyes ] + then + tm_file=m68k/3b1g.h + else + tm_file=m68k/3b1.h + fi + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-apollo-*) + xmake_file=m68k/x-apollo68 + tm_file=m68k/apollo68.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-altos-sysv*) # Altos 3068 + if [ x$gas = xyes ] + then + xm_file=m68k/xm-altos3068.h + tm_file=m68k/altos3068.h + else + echo "The Altos is supported only with the GNU assembler" 1>&2 + exit 1 + fi + extra_headers=math-68881.h + ;; + m68k-bull-sysv*) # Bull DPX/2 + if [ x$gas = xyes ] + then + if [ x$stabs = xyes ] + then + tm_file=m68k/dpx2cdbx.h + else + tm_file=m68k/dpx2g.h + fi + else + tm_file=m68k/dpx2.h + fi + xm_file=m68k/xm-m68kv.h + xmake_file=m68k/x-dpx2 + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-atari-sysv4*) # Atari variant of V.4. + tm_file=m68k/atari.h + xm_file=m68k/xm-atari.h tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h ;; - m68k-*-sysv4*) # Motorola m68k's running system V.4 - tm_file=m68kv4.h - xm_file=xm-m68kv4.h - xmake_file=x-m68kv4 + m68k-motorola-sysv*) + xm_file=m68k/xm-mot3300.h + xmake_file=m68k/x-mot3300 + if [ x$gas = xyes ] + then + tm_file=m68k/mot3300g.h + else + tm_file=m68k/mot3300.h + gdb_needs_out_file_path=yes + fi + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-ncr-sysv*) # NCR Tower 32 SVR3 + tm_file=m68k/tower-as.h + xm_file=m68k/xm-tower.h + xmake_file=m68k/x-tower + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h + ;; + m68k-plexus-sysv*) + tm_file=m68k/plexus.h + xm_file=m68k/xm-plexus.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-tti-*) + tm_file=m68k/pbb.h + xm_file=m68k/xm-m68kv.h + extra_headers=math-68881.h + ;; + m68k-crds-unos*) + xm_file=m68k/xm-crds.h + xmake_file=m68k/x-crds + tm_file=m68k/crds.h + broken_install=yes + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-cbm-sysv4*) # Commodore variant of V.4. + tm_file=m68k/amix.h + xm_file=m68k/xm-amix.h + xmake_file=m68k/x-amix tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h ;; - m68k-next-*) - tm_file=next.h - out_file=next.c - xm_file=xm-next.h - tmake_file=t-libc-ok + m68k-ccur-rtu) + tm_file=m68k/ccur-GAS.h + xmake_file=m68k/x-ccur + extra_headers=math-68881.h + use_collect2=yes + broken_install=yes + ;; + m68k-hp-bsd4.4*) # HP 9000/3xx running 4.4bsd + tm_file=m68k/hp3bsd44.h + xmake_file=m68k/x-hp3bsd44 + use_collect2=yes + extra_headers=math-68881.h ;; - m68k-sun-sunos3*) + m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix + tm_file=m68k/hp3bsd.h + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-isi-bsd*) if [ x$nfp = xyes ] then - tm_file=sun3n3.h + tm_file=m68k/isi-nfp.h + else + tm_file=m68k/isi.h + fi + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7. + xm_file=m68k/xm-hp320.h + if [ x$gas = xyes ] + then + xmake_file=m68k/x-hp320g + tm_file=m68k/hp320g.h else - tm_file=sun3o3.h + xmake_file=m68k/x-hp320 + tm_file=m68k/hpux7.h fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-hp-hpux*) # HP 9000 series 300 + xm_file=m68k/xm-hp320.h + if [ x$gas = xyes ] + then + xmake_file=m68k/x-hp320g + tm_file=m68k/hp320g.h + else + xmake_file=m68k/x-hp320 + tm_file=m68k/hp320.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio + use_collect2=yes + extra_headers=math-68881.h ;; m68k-sun-mach*) - tm_file=sun3mach.h + tm_file=m68k/sun3mach.h + use_collect2=yes + extra_headers=math-68881.h ;; - m68k-sun-sunos4*) - if [ x$nfp = xyes ] + m68k-sony-newsos3*) + if [ x$gas = xyes ] then - tm_file=sun3n.h + tm_file=m68k/news3gas.h else - tm_file=sun3.h + tm_file=m68k/news3.h fi + use_collect2=yes + extra_headers=math-68881.h ;; - m68k-hp-hpux*) # HP 9000 series 300 - xm_file=xm-hp320.h + m68k-sony-bsd* | m68k-sony-newsos*) if [ x$gas = xyes ] then - xmake_file=x-hp320g - tm_file=hp320g.h + tm_file=m68k/newsgas.h else - xmake_file=x-hp320 - tm_file=hp320.h + tm_file=m68k/news.h fi + use_collect2=yes + extra_headers=math-68881.h ;; - m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix - tm_file=hp3bsd.h + m68k-next-nextstep2*) + tm_file=m68k/next21.h + out_file=m68k/next.c + xm_file=m68k/xm-next.h + tmake_file=m68k/t-next + xmake_file=m68k/x-next + extra_headers=math-68881.h + use_collect2=yes + ;; + m68k-next-nextstep3*) + tm_file=m68k/next.h + out_file=m68k/next.c + xm_file=m68k/xm-next.h + tmake_file=m68k/t-next + xmake_file=m68k/x-next + extra_headers=math-68881.h ;; - m68k-isi-bsd*) + m68k-sun-sunos3*) + if [ x$nfp = xyes ] + then + tm_file=m68k/sun3n3.h + else + tm_file=m68k/sun3o3.h + fi + use_collect2=yes + extra_headers=math-68881.h + ;; + m68k-sun-sunos*) # For SunOS 4 (the default). if [ x$nfp = xyes ] then - tm_file=isi-nfp.h + tm_file=m68k/sun3n.h else - tm_file=isi.h + tm_file=m68k/sun3.h fi + use_collect2=yes + extra_headers=math-68881.h ;; - m68k-sony-bsd*) - xm_file=xm-m68k.h + m68k-wrs-vxworks*) + tm_file=m68k/vxm68k.h + tmake_file=m68k/t-vxworks68 + extra_headers=math-68881.h + ;; + m68k-*-aout*) + tmake_file=m68k/t-m68kbare + tm_file=m68k/m68k-aout.h + extra_headers=math-68881.h + ;; + m68k-*-coff*) + tmake_file=m68k/t-m68kbare + tm_file=m68k/m68k-coff.h + extra_headers=math-68881.h + ;; + m68k-*-lynxos*) if [ x$gas = xyes ] then - tm_file=newsgas.h + tm_file=m68k/lynx.h else - tm_file=news.h + tm_file=m68k/lynx-ng.h fi + xm_file=m68k/xm-lynx.h + xmake_file=x-lynx + tmake_file=m68k/t-lynx + extra_headers=math-68881.h ;; - m68k-altos-sysv*) # Altos 3068 + m68k-*-netbsd*) + cpu_type=m68k + tm_file=m68k/netbsd.h + xm_file=m68k/xm-netbsd.h + # On NetBSD, the headers are already okay. + fixincludes=Makefile.in + tmake_file=t-libc-ok + xmake_file=x-netbsd + ;; + m68k-*-sysv3*) # Motorola m68k's running system V.3 + xm_file=m68k/xm-m68kv.h + xmake_file=m68k/x-m68kv + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h + ;; + m68k-*-sysv4*) # Motorola m68k's running system V.4 + tm_file=m68k/m68kv4.h + xm_file=m68k/xm-m68kv.h + tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h + ;; + m68k-*-linux*aout*) # Motorola m68k's running Linux + xm_file=m68k/xm-linux.h # with a.out format + xmake_file=x-linux + tm_file=m68k/linux-aout.h + tmake_file=m68k/t-linux + fixincludes=Makefile.in #On Linux, the headers are ok already. + extra_headers=math-68881.h + gnu_ld=yes + ;; + m68k-*-linux*) # Motorola m68k's running Linux + xm_file=m68k/xm-linux.h # with ELF format + xmake_file=x-linux + tm_file=m68k/linux.h + tmake_file=m68k/t-linux + fixincludes=Makefile.in #On Linux, the headers are ok already. + extra_headers=math-68881.h + gnu_ld=yes + # Don't use it. Linux uses a slightly different one. + # The real one comes with the Linux C library. + #extra_parts="crtbegin.o crtend.o" + ;; + m88k-dg-dgux*) + case $machine in + m88k-dg-dguxbcs*) + tm_file=m88k/dguxbcs.h + xmake_file=m88k/x-dguxbcs + ;; + *) + tm_file=m88k/dgux.h + xmake_file=m88k/x-dgux + ;; + esac + extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld" + broken_install=yes if [ x$gas = xyes ] then - xm_file=xm-altos3068.h - tm_file=altos3068.h + tmake_file=m88k/t-dgux-gas else - echo "The Altos is supported only with the GNU assembler" 1>&2 - exit 1 + tmake_file=m88k/t-dgux fi - ;; - m68k-motorola-sysv*) - tm_file=mot3300.h - xm_file=xm-mot3300.h + fixincludes=fixinc.dgux ;; - m68k-crds-unos) - xm_file=xm-crds.h - xmake_file=x-crds - tm_file=crds.h - install_with_cp=yes + m88k-dolphin-sysv3*) + tm_file=m88k/dolph.h + extra_parts="crtbegin.o crtend.o" + xm_file=m88k/xm-sysv3.h + xmake_file=m88k/x-dolph + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi ;; - m68k-apollo-*) - xmake_file=x-apollo68 - tm_file=apollo68.h + m88k-tektronix-sysv3) + tm_file=m88k/tekXD88.h + extra_parts="crtbegin.o crtend.o" + xm_file=m88k/xm-sysv3.h + xmake_file=m88k/x-tekXD88 + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi ;; - m68k-ncr-sysv*) # NCR Tower 32 SVR3 - tm_file=tower-as.h - xm_file=xm-tower.h + m88k-*-aout*) + cpu_type=m88k + tm_file=m88k/m88k-aout.h + ;; + m88k-*-coff*) + cpu_type=m88k + tm_file=m88k/m88k-coff.h + tmake_file=m88k/t-bug ;; - m68000-sun-sunos3*) - cpu_type=m68k - tm_file=sun2.h + m88k-*-luna*) + tm_file=m88k/luna.h + extra_parts="crtbegin.o crtend.o" + if [ x$gas = xyes ] + then + tmake_file=m88k/t-luna-gas + else + tmake_file=m88k/t-luna + fi ;; - m68000-sun-sunos4*) - cpu_type=m68k - tm_file=sun2o4.h + m88k-*-sysv3*) + tm_file=m88k/sysv3.h + extra_parts="crtbegin.o crtend.o" + xm_file=m88k/xm-sysv3.h + xmake_file=m88k/x-sysv3 + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi ;; - m68000-hp-hpux*) # HP 9000 series 300 - cpu_type=m68k - xm_file=xm-hp320.h + m88k-*-sysv4*) + tm_file=m88k/sysv4.h + extra_parts="crtbegin.o crtend.o" + xmake_file=m88k/x-sysv4 + tmake_file=m88k/t-sysv4 + ;; + mips-sgi-irix6*) # SGI System V.4., IRIX 6 + tm_file=mips/iris6.h + xm_file=mips/xm-iris6.h + broken_install=yes + fixincludes=Makefile.in + xmake_file=mips/x-iris6 + tmake_file=mips/t-iris6 + # See comment in mips/iris[56].h files. + use_collect2=yes + ;; + mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64 + tm_file=mips/cross64.h + xm_file=mips/xm-iris5.h + broken_install=yes + fixincludes=Makefile.in + xmake_file=mips/x-iris + tmake_file=mips/t-cross64 + # See comment in mips/iris[56].h files. + use_collect2=yes + ;; + mips-sgi-irix5*) # SGI System V.4., IRIX 5 + if [ x$gas = xyes ] + then + if [ x$stabs = xyes ] + then + tm_file=mips/iris5gdb.h + else + tm_file=mips/iris5gas.h + fi + else + tm_file=mips/iris5.h + fi + xm_file=mips/xm-iris5.h + broken_install=yes + fixincludes=Makefile.in + xmake_file=mips/x-iris + # mips-tfile doesn't work yet + tmake_file=mips/t-mips-gas + # See comment in mips/iris5.h file. + use_collect2=yes + ;; + mips-sgi-irix4loser*) # Mostly like a MIPS. + if [ x$stabs = xyes ]; then + tm_file=mips/iris4gl.h + else + tm_file=mips/iris4loser.h + fi + xm_file=mips/xm-iris4.h + broken_install=yes + xmake_file=mips/x-iris if [ x$gas = xyes ] then - xmake_file=x-hp320g - tm_file=hp310g.h + tmake_file=mips/t-mips-gas else - xmake_file=x-hp320 - tm_file=hp310.h + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes fi ;; - m68000-hp-bsd*) # HP 9000/200 running BSD - cpu_type=m68k - tm_file=hp2bsd.h - xmake_file=x-hp2bsd + mips-sgi-irix4*) # Mostly like a MIPS. + if [ x$stabs = xyes ]; then + tm_file=mips/iris4-gdb.h + else + tm_file=mips/iris4.h + fi + xm_file=mips/xm-iris4.h + broken_install=yes + xmake_file=mips/x-iris + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - m68000-att-sysv*) - cpu_type=m68k - xm_file=xm-3b1.h + mips-sgi-*) # Mostly like a MIPS. + if [ x$stabs = xyes ]; then + tm_file=mips/iris3-gdb.h + else + tm_file=mips/iris3.h + fi + xm_file=mips/xm-iris3.h + broken_install=yes + xmake_file=mips/x-iris3 if [ x$gas = xyes ] then - tm_file=3b1g.h + tmake_file=mips/t-mips-gas else - tm_file=3b1.h + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes fi ;; - m68000-convergent-sysv*) - cpu_type=m68k - xm_file=xm-3b1.h - tm_file=ctix.h + mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose. + tm_file=mips/osfrose.h + xmake_file=mips/x-osfrose + tmake_file=mips/t-osfrose + extra_objs=halfpic.o + use_collect2=yes + ;; + mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL + if [ x$stabs = xyes ]; then + tm_file=mips/dec-gosf1.h + else + tm_file=mips/dec-osf1.h + fi + xmake_file=mips/x-dec-osf1 + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + tmake_file=mips/t-ultrix + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - ns32k-encore-osf*) # Encore with OSF/rose - tm_file=encrose.h - xmake_file=x-encrose - tmake_file=t-encrose + mips-dec-bsd*) # Decstation running 4.4 BSD + tm_file=mips/dec-bsd.h + xmake_file= + tmake_file= + fixincludes= + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + tmake_file=mips/t-ultrix + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; + mips-dec-netbsd*) # Decstation running NetBSD + tm_file=mips/netbsd.h + xm_file=mips/xm-netbsd.h + xmake_file=x-netbsd + tmake_file=t-libc-ok + fixincludes=Makefile.in + prefix=$native_prefix ;; - ns32k-sequent-bsd*) - tm_file=sequent.h + mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news. + if [ x$stabs = xyes ]; then + tm_file=mips/news4-gdb.h + else + tm_file=mips/news4.h + fi + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + xmake_file=mips/x-sony + ;; + mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0. + # That is based on svr4. + # t-svr4 is not right because this system doesn't use ELF. + if [ x$stabs = xyes ]; then + tm_file=mips/news5-gdb.h + else + tm_file=mips/news5.h + fi + xm_file=mips/xm-news.h + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; + mips-tandem-sysv4*) # Tandem S2 running NonStop UX + if [ x$stabs = xyes ]; then + tm_file=mips/svr4-t-gdb.h + else + tm_file=mips/svr4-t.h + fi + xm_file=mips/xm-sysv4.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + extra_parts="crtbegin.o crtend.o" + else + tmake_file=mips/t-mips + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-ultrix* | mips-dec-mach3) # Decstation. + if [ x$stabs = xyes ]; then + tm_file=mips/ultrix-gdb.h + else + tm_file=mips/ultrix.h + fi + xmake_file=mips/x-ultrix + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + tmake_file=mips/t-ultrix + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; + mips-*-riscos[56789]bsd*) + if [ x$stabs = xyes ]; then # MIPS BSD 4.3, RISC-OS 5.0 + tm_file=mips/bsd-5-gdb.h + else + tm_file=mips/bsd-5.h + fi + if [ x$gas = xyes ] + then + tmake_file=mips/t-bsd-gas + else + tmake_file=mips/t-bsd + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*) + if [ x$stabs = xyes ]; then # MIPS BSD 4.3, RISC-OS 4.0 + tm_file=mips/bsd-4-gdb.h + else + tm_file=mips/bsd-4.h + fi + if [ x$gas = xyes ] + then + tmake_file=mips/t-bsd-gas + else + tmake_file=mips/t-bsd + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-riscos[56789]sysv4*) + if [ x$stabs = xyes ]; then # MIPS System V.4., RISC-OS 5.0 + tm_file=mips/svr4-5-gdb.h + else + tm_file=mips/svr4-5.h + fi + xm_file=mips/xm-sysv4.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-svr4-gas + else + tmake_file=mips/t-svr4 + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*) + if [ x$stabs = xyes ]; then # MIPS System V.4. RISC-OS 4.0 + tm_file=mips/svr4-4-gdb.h + else + tm_file=mips/svr4-4.h + fi + xm_file=mips/xm-sysv.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-svr4-gas + else + tmake_file=mips/t-svr4 + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-riscos[56789]sysv*) + if [ x$stabs = xyes ]; then # MIPS System V.3, RISC-OS 5.0 + tm_file=mips/svr3-5-gdb.h + else + tm_file=mips/svr3-5.h + fi + xm_file=mips/xm-sysv.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-svr3-gas + else + tmake_file=mips/t-svr3 + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-sysv* | mips-*-riscos*sysv*) + if [ x$stabs = xyes ]; then # MIPS System V.3, RISC-OS 4.0 + tm_file=mips/svr3-4-gdb.h + else + tm_file=mips/svr3-4.h + fi + xm_file=mips/xm-sysv.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-svr3-gas + else + tmake_file=mips/t-svr3 + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0. + if [ x$stabs = xyes ]; then + tm_file=mips/mips-5-gdb.h + else + tm_file=mips/mips-5.h + fi + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + broken_install=yes + ;; + mips-*-gnu*) + cpu_type=mips # GNU supports this CPU; rest done below. + ;; + mipsel-*-ecoff*) + cpu_type=mips + if [ x$stabs = xyes ]; then + tm_file=mips/ecoffl-gdb.h + else + tm_file=mips/ecoffl.h + fi + tmake_file=mips/t-ecoff + ;; + mips-*-ecoff*) + if [ x$stabs = xyes ]; then + tm_file=mips/ecoff-gdb.h + else + tm_file=mips/ecoff.h + fi + tmake_file=mips/t-ecoff + broken_install=yes + ;; + mipsel-*-elf*) + cpu_type=mips + tm_file=mips/elfl.h + tmake_file=mips/t-ecoff + ;; + mips-*-elf*) + cpu_type=mips + tm_file=mips/elf.h + tmake_file=mips/t-ecoff + ;; + mips64el-*-elf*) + cpu_type=mips + tm_file=mips/elfl64.h + tmake_file=mips/t-ecoff + ;; + mips64orionel-*-elf*) + cpu_type=mips + tm_file=mips/elflorion.h + tmake_file=mips/t-ecoff + ;; + mips64-*-elf*) + cpu_type=mips + tm_file=mips/elf64.h + tmake_file=mips/t-ecoff + ;; + mips64orion-*-elf*) + cpu_type=mips + tm_file=mips/elforion.h + tmake_file=mips/t-ecoff + ;; + mips-*-*) # Default MIPS RISC-OS 4.0. + if [ x$stabs = xyes ]; then + tm_file=mips/mips-4-gdb.h + else + tm_file=mips/mips.h + fi + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + else + extra_passes="mips-tfile mips-tdump" + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; ns32k-encore-bsd*) - tm_file=encore.h + tm_file=ns32k/encore.h + use_collect2=yes ;; - ns32k-ns-genix*) - xm_file=xm-genix.h - xmake_file=x-genix - tm_file=genix.h + ns32k-sequent-bsd*) + tm_file=ns32k/sequent.h + use_collect2=yes ;; + ns32k-tek6100-bsd*) + tm_file=ns32k/tek6100.h + broken_install=yes + use_collect2=yes + ;; + ns32k-tek6200-bsd*) + tm_file=ns32k/tek6200.h + broken_install=yes + use_collect2=yes + ;; +# This has not been updated to GCC 2. +# ns32k-ns-genix*) +# xm_file=ns32k/xm-genix.h +# xmake_file=ns32k/x-genix +# tm_file=ns32k/genix.h +# broken_install=yes +# use_collect2=yes +# ;; ns32k-merlin-*) - tm_file=merlin.h + tm_file=ns32k/merlin.h + use_collect2=yes ;; - m88k-*-luna*) - tm_file=m88kluna.h - xmake_file=x-m88kluna - tmake_file=t-m88kluna + ns32k-pc532-mach*) + tm_file=ns32k/pc532-mach.h + use_collect2=yes + ;; + ns32k-pc532-minix*) + tm_file=ns32k/pc532-min.h + xm_file=ns32k/xm-pc532-min.h + use_collect2=yes + ;; + ns32k-pc532-netbsd*) + tm_file=ns32k/netbsd.h + xm_file=ns32k/xm-netbsd.h + tmake_file=t-libc-ok + # On NetBSD, the headers are already okay. + fixincludes=Makefile.in + xmake_file=x-netbsd + ;; + pyramid-*-*) + cpu_type=pyr + xmake_file=pyr/x-pyr + use_collect2=yes ;; - m88k-dg-dgux*) - xmake_file=x-m88kdgux - tmake_file=t-m88k - tm_file=m88kdgux.h + romp-*-aos*) + use_collect2=yes ;; - m88k-*-sysv4*) - xmake_file=x-m88kv4 - tmake_file=t-m88kv4 - tm_file=m88kv4.h + romp-*-mach*) + xmake_file=romp/x-mach + use_collect2=yes ;; - m88k-*-sysv3*) - tm_file=m88kv3.h - xm_file=xm-m88kv3.h + powerpc-ibm-aix[456789].*) + cpu_type=rs6000 + tm_file=rs6000/aix41ppc.h + tmake_file=rs6000/t-newas + use_collect2=yes + ;; + powerpc-ibm-aix*) + cpu_type=rs6000 + tm_file=rs6000/powerpc.h + tmake_file=rs6000/t-rs6000 + use_collect2=yes + ;; + powerpc-*-sysv4* | powerpc-*-elf*) + cpu_type=rs6000 + xm_file=rs6000/xm-sysv4.h + tm_file=rs6000/sysv4.h + if [ x$gas = xyes ] + then + tmake_file=rs6000/t-ppcgas + else + tmake_file=rs6000/t-ppc + fi + xmake_file=rs6000/x-sysv4 ;; - m88k-*) - tm_file=m88k.h - xm_file=xm-m88k.h + powerpc-*-eabiaix*) + cpu_type=rs6000 + tm_file=rs6000/eabiaix.h + tmake_file=rs6000/t-eabiaix + fixincludes=Makefile.in + ;; + powerpc-*-eabisim*) + cpu_type=rs6000 + tm_file=rs6000/eabisim.h + tmake_file=rs6000/t-eabisim + fixincludes=Makefile.in + ;; + powerpc-*-eabi*) + cpu_type=rs6000 + tm_file=rs6000/eabi.h + if [ x$gas = xyes ] + then + tmake_file=rs6000/t-eabigas + else + tmake_file=rs6000/t-eabi + fi + fixincludes=Makefile.in ;; -# This hasn't been upgraded to GCC 2. -# fx80-alliant-*) # Alliant FX/80 -# tm_file=fx80.h -# ;; - arm-*-*) # Acorn RISC machine - tm_file=arm.h + powerpcle-*-sysv4* | powerpcle-*-elf*) + cpu_type=rs6000 + xm_file=rs6000/xm-sysv4.h + tm_file=rs6000/sysv4le.h + if [ x$gas = xyes ] + then + tmake_file=rs6000/t-ppclegas + else + tmake_file=rs6000/t-ppc + fi + xmake_file=rs6000/x-sysv4 ;; - c1-convex-*) # Convex C1 - tm_file=convex1.h - cpu_type=convex + powerpcle-*-eabisim*) + cpu_type=rs6000 + tm_file=rs6000/eabilesim.h + tmake_file=rs6000/t-eabisim + fixincludes=Makefile.in + ;; + powerpcle-*-eabi*) + cpu_type=rs6000 + tm_file=rs6000/eabile.h + if [ x$gas = xyes ] + then + tmake_file=rs6000/t-eabilegas + else + tmake_file=rs6000/t-eabi + fi + fixincludes=Makefile.in ;; - c2-convex-*) # Convex C2 - tm_file=convex2.h - cpu_type=convex + rs6000-ibm-aix3.[01]*) + tm_file=rs6000/aix31.h + tmake_file=rs6000/t-rs6000 + xmake_file=rs6000/x-aix31 + use_collect2=yes + ;; + rs6000-ibm-aix3.2.[456789]*) + tm_file=rs6000/aix3newas.h + tmake_file=rs6000/t-newas + use_collect2=yes + ;; + rs6000-ibm-aix[456789].*) + tm_file=rs6000/aix41.h + tmake_file=rs6000/t-newas + xmake_file=rs6000/x-aix31 + use_collect2=yes + ;; + rs6000-ibm-aix*) + use_collect2=yes + tmake_file=rs6000/t-rs6000 + ;; + rs6000-bull-bosx) + tmake_file=rs6000/t-rs6000 + use_collect2=yes + ;; + rs6000-*-mach*) + xm_file=rs6000/xm-mach.h + tm_file=rs6000/mach.h + tmake_file=rs6000/t-rs6000 + xmake_file=rs6000/x-mach + use_collect2=yes + ;; + rs6000-*-lynxos*) + xmake_file=rs6000/x-lynx + xm_file=rs6000/xm-lynx.h + tm_file=rs6000/lynx.h + tmake_file=rs6000/t-rs6000 + use_collect2=yes + ;; + sh-*-*) + cpu_type=sh + ;; + sparc-tti-*) + tm_file=sparc/pbd.h + xm_file=sparc/xm-pbd.h + ;; + sparc-wrs-vxworks* | sparclite-wrs-vxworks*) + cpu_type=sparc + tm_file=sparc/vxsparc.h + tmake_file=sparc/t-vxsparc + use_collect2=yes + ;; + sparc-*-aout*) + tmake_file=sparc/t-sparcbare + tm_file=sparc/sparc-aout.h + ;; + sparc-*-netbsd*) + tm_file=sparc/netbsd.h + xm_file=sparc/xm-netbsd.h + # On NetBSD, the headers are already okay. + fixincludes=Makefile.in + tmake_file=t-libc-ok + xmake_file=x-netbsd ;; - c32-convex-*) - tm_file=convex32.h # Convex C32xx - cpu_type=convex + sparc-*-bsd*) + tm_file=sparc/bsd.h ;; - c34-convex-*) - tm_file=convex34.h # Convex C34xx - cpu_type=convex + sparc-*-lynxos*) + if [ x$gas = xyes ] + then + tm_file=sparc/lynx.h + else + tm_file=sparc/lynx-ng.h + fi + xm_file=sparc/xm-lynx.h + tmake_file=sparc/t-sunos41 + xmake_file=x-lynx + ;; + sparc-*-solaris2* | sparc-*-sunos5*) + xm_file=sparc/xm-sol2.h + tm_file=sparc/sol2.h + tmake_file=sparc/t-sol2 + xmake_file=sparc/x-sysv4 + extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o" + fixincludes=fixinc.svr4 + broken_install=yes + ;; + sparc-*-sunos4.0*) + tm_file=sparc/sunos4.h + tmake_file=sparc/t-sunos40 + use_collect2=yes ;; - c38-convex-*) - tm_file=convex38.h # Convex C38xx - cpu_type=convex + sparc-*-sunos4*) + tm_file=sparc/sunos4.h + tmake_file=sparc/t-sunos41 + use_collect2=yes ;; - mips-sgi-irix4*) # Mostly like a MIPS. - tm_file=iris.h - xm_file=xm-irix4.h - install_with_cp=yes - ;; - mips-sgi-irix*) # Mostly like a MIPS. - tm_file=iris.h - xm_file=xm-iris.h - install_with_cp=yes - ;; - mips-*-sysv) # MIPS System V. - tm_file=mips-sysv.h - xm_file=xm-umips.h - ;; - mips-mips-*) # Default MIPS environment. - tm_file=mips.h - ;; - mips-dec-ultrix*) # Decstation. - tm_file=decstatn.h - tmake_file=t-decstatn - ;; - mips-dec-osf*) # Decstation with OSF/1. - tm_file=decrose.h - xmake_file=x-decrose - tmake_file=t-decrose + sparc-*-sunos3*) + tm_file=sparc/sun4o3.h + use_collect2=yes ;; - mips-sony-bsd*) # Sony NEWS 3600 or risc/news. - tm_file=mips-news.h + sparc-*-sysv4*) + xm_file=sparc/xm-sysv4.h + tm_file=sparc/sysv4.h + tmake_file=t-svr4 + xmake_file=sparc/x-sysv4 + extra_parts="crtbegin.o crtend.o" + ;; + sparclite-*-coff*) + cpu_type=sparc + tm_file=sparc/litecoff.h + tmake_file=sparc/t-sparclite + ;; + sparclite-*-*) + cpu_type=sparc + tm_file=sparc/lite.h + tmake_file=sparc/t-sparclite + use_collect2=yes + ;; + sparc64-*-aout*) + cpu_type=sparc + tmake_file=sparc/t-sp64 + tm_file=sparc/sp64-aout.h + ;; + sparc64-*-elf*) + cpu_type=sparc + tmake_file=sparc/t-sp64 + tm_file=sparc/sp64-elf.h + extra_parts="crtbegin.o crtend.o" ;; - mips-*-bsd*) # BSD 4.3 variant of MIPS system. - tm_file=mips-bsd.h - ;; # This hasn't been upgraded to GCC 2. -# pyramid | pyramid-* | pyramid-*) -# cpu_type=pyr -# tm_file=pyr.h +# tahoe-harris-*) # Harris tahoe, using COFF. +# tm_file=tahoe/harris.h +# ;; +# tahoe-*-bsd*) # tahoe running BSD # ;; # This hasn't been upgraded to GCC 2. -# tron | tron-*) +# tron-*-*) # cpu_type=gmicro -# tm_file=gmicro.h +# use_collect2=yes # ;; - a29k-*-bsd*) - tm_file=a29kunix.h - xm_file=xm-a29kunix.h - xmake_file=x-a29kunix - ;; - romp-*-bsd*) - xm_file=xm-romp.h - tm_file=romp.h + vax-*-bsd*) # vaxen running BSD + use_collect2=yes ;; - romp-*-mach*) - xm_file=xm-romp.h - tm_file=romp.h - xmake_file=x-romp-mach - ;; - rs6000-*-mach* | rs6000-mach*) - xm_file=xm-rs6k-m.h - tm_file=rs6000-mach.h - ;; - rs6000-*) - xm_file=xm-rs6000.h - tm_file=rs6000.h - ;; - hp800-*-* | hp700-*-*) - cpu_type=hp800 - xm_file=xm-hp800.h - tm_file=hp800.h + vax-*-sysv*) # vaxen running system V + xm_file=vax/xm-vaxv.h + tm_file=vax/vaxv.h + ;; + vax-*-netbsd*) + tm_file=vax/netbsd.h + xm_file=vax/xm-netbsd.h + tmake_file=t-libc-ok + # On NetBSD, the headers are already okay. + fixincludes=Makefile.in + xmake_file=x-netbsd + ;; + vax-*-ultrix*) # vaxen running ultrix + tm_file=vax/ultrix.h + use_collect2=yes + ;; + vax-*-vms*) # vaxen running VMS + xm_file=vax/xm-vms.h + tm_file=vax/vms.h + ;; + pdp11-*-bsd) + xm_file=pdp11/xm-pdp11.h + tm_file=pdp11/2bsd.h + tmake_file=pdp11/t-pdp11 + ;; + pdp11-*-*) + xm_file=pdp11/xm-pdp11.h + tm_file=pdp11/pdp11.h + tmake_file=pdp11/t-pdp11 + ;; + we32k-att-sysv*) + cpu_type=we32k + use_collect2=yes + ;; + *) + echo "Configuration $machine not supported" 1>&2 + exit 1 ;; esac case $machine in + *-*-gnu*) + # On the GNU system, the setup is just about the same on + # each different CPU. The specific machines that GNU + # supports are matched above and just set $cpu_type. + xm_file=${cpu_type}/xm-gnu.h + tm_file=${cpu_type}/gnu.h + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + # GNU always uses ELF. + elf=yes + # GNU tools are the only tools. + gnu_ld=yes + gas=yes + # On GNU, the headers are already okay. + fixincludes=Makefile.in + # Don't build libgcc1.c, because there is no non-GNU + # compiler to build it with. The GNU system C library will + # include assembly versions of any needed functions. + tmake_file=t-libc-ok + ;; *-*-sysv4*) - + fixincludes=fixinc.svr4 xmake_try_sysv=x-sysv + broken_install=yes + install_headers_dir=install-headers-cpio ;; *-*-sysv*) - install_with_cp=yes + broken_install=yes + install_headers_dir=install-headers-cpio + ;; + esac + + # Distinguish i386 from i486/i586. + # ??? For the moment we treat i586 as an i486. + # Also, do not run mips-tfile on MIPS if using gas. + case $machine in + i[45]86-*-*) + target_cpu_default=2 + ;; + mips*-*-*) + if [ x$gas = xyes ] + then + target_cpu_default=16 + fi + ;; + alpha-*-*) + if [ x$gas = xyes ] + then + target_cpu_default=4 + fi + ;; + esac + + # No need for collect2 if we have the GNU linker. + case x$gnu_ld in + xyes) + use_collect2= ;; esac @@ -611,42 +2443,69 @@ for machine in $host $target; do then cpu_type=`echo $machine | sed 's/-.*$//'` fi +# Save data on machine being used to compile GCC in build_xm_file. # Save data on host machine in vars host_xm_file and host_xmake_file. if [ x$pass1done = x ] then - if [ x$xm_file = x ]; then host_xm_file=xm-$cpu_type.h - else host_xm_file=$xm_file - fi - if [ x$xmake_file = x ] - then xmake_file=x-$cpu_type + if [ x$xm_file = x ] + then build_xm_file=$cpu_type/xm-$cpu_type.h + else build_xm_file=$xm_file fi - host_xmake_file=$xmake_file - host_install_with_cp=$install_with_cp pass1done=yes + else + if [ x$pass2done = x ] + then + if [ x$xm_file = x ] + then host_xm_file=$cpu_type/xm-$cpu_type.h + else host_xm_file=$xm_file + fi + if [ x$xmake_file = x ] + then xmake_file=$cpu_type/x-$cpu_type + fi + host_xmake_file=$xmake_file + host_broken_install=$broken_install + host_install_headers_dir=$install_headers_dir + host_truncate_target=$truncate_target + pass2done=yes + fi fi done # Default the target-machine variables that were not explicitly set. if [ x$tm_file = x ] -then tm_file=$target.h; fi +then tm_file=$cpu_type/$cpu_type.h; fi + +if [ x$extra_headers = x ] +then extra_headers=; fi if [ x$xm_file = x ] -then xm_file=xm-$cpu_type.h; fi +then xm_file=$cpu_type/xm-$cpu_type.h; fi -md_file=${cpu_type}.md +md_file=$cpu_type/$cpu_type.md if [ x$out_file = x ] -then out_file=$cpu_type.c; fi +then out_file=$cpu_type/$cpu_type.c; fi if [ x$tmake_file = x ] -then tmake_file=t-$cpu_type +then tmake_file=$cpu_type/t-$cpu_type fi +# Say what files are being used for the output code and MD file. +echo "Using \`$srcdir/config/$out_file' to output insns." +echo "Using \`$srcdir/config/$md_file' as machine description file." +echo "Using \`$srcdir/config/$tm_file' as target machine macro file." +echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file." +if [ $host_xm_file != $build_xm_file ]; then + echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file." +fi # Set up the list of links to be made. # $links is the list of link names, and $files is the list of names to link to. -files="$host_xm_file $tm_file $md_file $out_file $xm_file" -links="config.h tm.h md aux-output.c tconfig.h" +files="$host_xm_file $tm_file $xm_file $build_xm_file" +links="config.h tm.h tconfig.h hconfig.h" + +rm -f config.bak +if [ -f config.status ]; then mv -f config.status config.bak; fi # Make the links. while [ -n "$files" ] @@ -655,135 +2514,567 @@ do set $files; file=$1; shift; files=$* set $links; link=$1; shift; links=$* - if [ ! -r ${srcdir}/config/$file ] - then - echo "$progname: cannot create a link \`$link'," 1>&2 - echo "since the file \`config/$file' does not exist." 1>&2 - exit 1 - fi + rm -f $link + echo "#include \"$file\"" >$link +done - $remove -f $link - rm -f config.status - # Make a symlink if possible, otherwise try a hard link - $symbolic_link ${srcdir}/config/$file $link 2>/dev/null || $hard_link ${srcdir}/config/$file $link +# Truncate the target if necessary +if [ x$host_truncate_target != x ]; then + target=`echo $target | sed -e 's/\(..............\).*/\1/'` +fi - if [ ! -r $link ] - then - echo "$progname: unable to link \`$link' to \`${srcdir}/config/$file'." 1>&2 - exit 1 +# Get the version number from the toplevel +version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${srcdir}/version.c` + +# For the current directory and all of the language subdirectories, +# do the rest of the script ... + +subdirs= +for lang in ${srcdir}/*/config-lang.in .. +do + case $lang in + ..) ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on linux. + ${srcdir}/[*]/config-lang.in) ;; + *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;; + esac +done + +# Are we using gcc as the native compiler? +case $canon_host in +*linux*) # All Linux's use gcc as the native compiler. + prefix=$native_prefix + ;; +esac + +# Make empty files to contain the specs and options for each language. +# Then add #include lines to for a compiler that has specs and/or options. + +lang_specs_files= +lang_options_files= +rm -f specs.h options.h +touch specs.h options.h +for subdir in . $subdirs +do + if [ -f $srcdir/$subdir/lang-specs.h ]; then + echo "#include \"$subdir/lang-specs.h\"" >>specs.h + lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h" + fi + if [ -f $srcdir/$subdir/lang-options.h ]; then + echo "#include \"$subdir/lang-options.h\"" >>options.h + lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h" fi - echo "Linked \`$link' to \`${srcdir}/config/$file'." done -# 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 -.) - rm -f Makefile.tem - cp Makefile.in Makefile.tem - chmod +w Makefile.tem +# Define SET_MAKE if this old version of `make' doesn't define $(MAKE). +rm -f Makefile.xx +(echo 'all:'; echo ' @echo maketemp=$(MAKE)') >Makefile.xx +case `${MAKE-make} -f Makefile.xx 2>/dev/null | grep maketemp=` in +'maketemp=') + SET_MAKE="MAKE = ${MAKE-make}" ;; *) - 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 "source ${srcdir}/.gdbinit" >> .gdbinit + SET_MAKE= ;; esac +rm -f Makefile.xx -# Conditionalize the makefile for this host machine. -if [ -f ${srcdir}/config/${host_xmake_file} ] -then - rm -f Makefile.xx - sed -e "/####/ r ${srcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx - echo "Merged ${host_xmake_file}." - rm -f Makefile.tem - mv Makefile.xx Makefile.tem -else -# Say in the makefile that there is no host_xmake_file, -# by using a name which (when interpreted relative to $srcdir/config) -# will duplicate another dependency: $srcdir/Makefile.in. - host_xmake_file=../Makefile.in -fi +savesrcdir=$srcdir +for subdir in . $subdirs +do + oldsrcdir=$savesrcdir -# Add a definition for INSTALL if system wants one. -# This substitutes for lots of x-* files. -if [ x$install_with_cp = x ] -then true -else + # Re-adjust the path + case $oldsrcdir in + /*) + srcdir=$oldsrcdir/$subdir + ;; + *) + case $subdir in + .) + ;; + *) + oldsrcdir=../${oldsrcdir} + srcdir=$oldsrcdir/$subdir + ;; + esac + ;; + 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 + if [ x$gdb_needs_out_file_path = xyes ] + then + echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit + fi + if [ "x$subdirs" != x ]; then + for s in $subdirs + do + echo "dir ${srcdir}/$s" >> .gdbinit + done + fi + echo "source ${srcdir}/.gdbinit" >> .gdbinit + ;; + esac + + # Conditionalize the makefile for this host machine. + if [ -f ${mainsrcdir}/config/${host_xmake_file} ] + then + rm -f Makefile.xx + sed -e "/####host/ r ${mainsrcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx + echo "Merged ${host_xmake_file}." + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + dep_host_xmake_file=${host_xmake_file} + else + # Say in the makefile that there is no host_xmake_file, + # by using a name which (when interpreted relative to $srcdir/config) + # will duplicate another dependency: $srcdir/Makefile.in. + dep_host_xmake_file=../Makefile.in + 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$host_broken_install = x ] + then true + else + rm -f Makefile.xx + abssrcdir=`cd ${srcdir}; pwd` + sed "s|^INSTALL = .*|INSTALL = ${abssrcdir}/install.sh -c|" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Some of the following don't make sense in the language makefiles, + # but rather than introduce another level of nesting, we leave them + # as is. + + # Set EXTRA_HEADERS according to extra_headers. + # This substitutes for lots of t-* files. + if [ "x$extra_headers" = x ] + then true + else + # Prepend ${srcdir}/ginclude/ to every entry in extra_headers. + list= + for file in $extra_headers; + do + list="${list} ${srcdir}/ginclude/${file}" + done + rm -f Makefile.xx + sed "s|^EXTRA_HEADERS =|EXTRA_HEADERS = ${list}|" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set EXTRA_PASSES according to extra_passes. + # This substitutes for lots of t-* files. + if [ "x$extra_passes" = x ] + then true + else + rm -f Makefile.xx + sed "s/^EXTRA_PASSES =/EXTRA_PASSES = $extra_passes/" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set EXTRA_PARTS according to extra_parts. + # This substitutes for lots of t-* files. + if [ "x$extra_parts" = x ] + then true + else + rm -f Makefile.xx + sed "s/^EXTRA_PARTS =/EXTRA_PARTS = $extra_parts/" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set EXTRA_PROGRAMS according to extra_programs. + if [ "x$extra_programs" = x ] + then true + else + rm -f Makefile.xx + sed "s/^EXTRA_PROGRAMS =/EXTRA_PROGRAMS = $extra_programs/" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set EXTRA_OBJS according to extra_objs. + # This substitutes for lots of t-* files. + if [ "x$extra_objs" = x ] + then true + else + rm -f Makefile.xx + sed "s|^EXTRA_OBJS =|EXTRA_OBJS = $extra_objs|" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set EXTRA_GCC_OBJS according to extra_gcc_objs. + # This substitutes for lots of t-* files. + if [ "x$extra_gcc_objs" = x ] + then true + else + rm -f Makefile.xx + sed "s|^EXTRA_GCC_OBJS =|EXTRA_GCC_OBJS = $extra_gcc_objs|" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Add a definition of USE_COLLECT2 if system wants one. + # Also tell toplev.c what to do. + # This substitutes for lots of t-* files. + if [ x$use_collect2 = x ] + then true + else + rm -f Makefile.xx + (echo "USE_COLLECT2 = ld"; echo "MAYBE_USE_COLLECT2 = -DUSE_COLLECT2")\ + | cat - Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Add -DTARGET_CPU_DEFAULT for toplev.c if system wants one. + # This substitutes for lots of *.h files. + if [ x$target_cpu_default = x ] + then true + else + rm -f Makefile.xx + # This used cat, but rfg@netcom.com said that ran into NFS bugs. + sed -e "/^# Makefile for GNU C compiler./c\\ +MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFAULT=$target_cpu_default\\ +\# Makefile for GNU C compiler." Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # Set MD_DEPS if the real md file is in md.pre-cpp. + # Set MD_CPP to the cpp to pass the md file through. Md files use ';' + # for line oriented comments, so we must always use a GNU cpp. If + # building gcc with a cross compiler, use the cross compiler just + # built. Otherwise, we can use the cpp just built. + if [ "x$md_cppflags" = x ] + then + md_file=$srcdir/config/$md_file + else + rm -f Makefile.xx + (if [ x$host = x$build ] ; then + echo "MD_DEPS = $(md_file) cpp" ; echo "MD_CPP = ./cpp" + else + echo "MD_DEPS = md.pre-cpp" ; echo "MD_CPP = \$(HOST_CC) -x c -E" + fi + md_file=md + echo "MD_CPPFLAGS = $md_cppflags") | \ + cat - Makefile.tem | sed -e "s|^MD_FILE[ ]*=.*|MD_FILE = md|" > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + fi + + # If we have gas in the build tree, make a link to it. + if [ -f ../gas/Makefile ]; then + rm -f as; $symbolic_link ../gas/as.new as 2>/dev/null + fi + + # If we have ld in the build tree, make a link to it. + if [ -f ../ld/Makefile ]; then + if [ x$use_collect2 = x ]; then + rm -f ld; $symbolic_link ../ld/ld.new ld 2>/dev/null + else + rm -f collect-ld; $symbolic_link ../ld/ld.new collect-ld 2>/dev/null + fi + 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. + if [ -f ${mainsrcdir}/config/${tmake_file} ] + then + rm -f Makefile.xx + sed -e "/####target/ r ${mainsrcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx + echo "Merged ${tmake_file}." + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + dep_tmake_file=${tmake_file} + else + # Say in the makefile that there is no tmake_file, + # by using a name which (when interpreted relative to $srcdir/config) + # will duplicate another dependency: $srcdir/Makefile.in. + dep_tmake_file=../Makefile.in + fi + + # If this is the top level Makefile, add the language fragments. + # Languages are added via two mechanisms. Some information must be + # recorded in makefile variables, these are defined in config-lang.in. + # We accumulate them and plug them into the main Makefile. + # The other mechanism is a set of hooks for each of the main targets + # like `clean', `install', etc. + if [ $subdir = . ] + then + # These (without "all_") are set in each config-lang.in. + # `language' must be a single word so is spelled singularly. + all_languages= + all_compilers= + all_stagestuff= + all_diff_excludes= + # List of language makefile fragments. + all_lang_makefiles= + + rm -f Makefile.xx Makefile.ll + touch Makefile.ll + for s in .. $subdirs + do + if [ $s != ".." ] + then + language= + compilers= + stagestuff= + diff_excludes= + . ${mainsrcdir}/$s/config-lang.in + if [ "x$language" = x ] + then + echo "${mainsrcdir}/$s/config-lang.in doesn't set \$language." 1>&2 + exit 1 + fi + all_lang_makefiles="$all_lang_makefiles ${mainsrcdir}/$s/Make-lang.in ${mainsrcdir}/$s/Makefile.in" + all_languages="$all_languages $language" + all_compilers="$all_compilers $compilers" + all_stagestuff="$all_stagestuff $stagestuff" + all_diff_excludes="$all_diff_excludes $diff_excludes" + + cat ${mainsrcdir}/$s/Make-lang.in >> Makefile.ll + fi + done + sed -e "/####language fragments/ r Makefile.ll" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + sed -e "s|^SUBDIRS[ ]*=.*$|SUBDIRS = $subdirs|" \ + -e "s|^LANGUAGES[ ]*=[ ]*\(.*\)$|LANGUAGES = \1 $all_languages|" \ + -e "s|^COMPILERS[ ]*=[ ]*\(.*\)$|COMPILERS = \1 $all_compilers|" \ + -e "s|^LANG_MAKEFILES[ ]*=.*$|LANG_MAKEFILES = $all_lang_makefiles|" \ + -e "s|^LANG_STAGESTUFF[ ]*=.*$|LANG_STAGESTUFF = $all_stagestuff|" \ + -e "s|^LANG_DIFF_EXCLUDES[ ]*=.*$|LANG_DIFF_EXCLUDES = $all_diff_excludes|" \ + Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + + # Since we can't use `::' targets, we link each language in + # with a set of hooks, reached indirectly via lang.${target}. + + target_list="all.build all.cross start.encap rest.encap \ + info dvi \ + install-normal install-common install-info install-man \ + uninstall distdir \ + mostlyclean clean distclean extraclean maintainer-clean \ + stage1 stage2 stage3 stage4" + rm -f Makefile.ll + for t in $target_list + do + x= + for l in .. $all_languages + do + if [ $l != ".." ]; then + x="$x $l.$t" + fi + done + echo "lang.$t: $x" >> Makefile.ll + done + sed -e "/####language hooks/ r Makefile.ll" Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + rm -f Makefile.ll + + # If the host doesn't support symlinks, modify CC in + # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works. + # Otherwise, we can use "CC=$(CC)". + rm -f symtest.tem + if $symbolic_link symtest1.tem symtest.tem 2>/dev/null + then + sed -e 's,CC=set-by-configure,CC=$(CC),' \ + Makefile.tem > Makefile.xx + else + sed -e "s,CC=set-by-configure,CC=\`case '$(CC)' in stage*) echo '$(CC)' | sed -e 's|stage|../stage|g';; *) echo '$(CC)';; esac\`," \ + Makefile.tem > Makefile.xx + fi + rm -f Makefile.tem + mv Makefile.xx Makefile.tem + rm -f symtest.tem + + if [ "x$all_languages" != x ] + then + # Missing space after `Merged' is intentional. + echo "Merged$all_languages fragment(s)." + fi + + # Otherwise, this is a language subdirectory. 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. + else + for t in stage1 stage2 stage3 stage4 include + do + rm -f $t + $symbolic_link ../$t $t 2>/dev/null + done + fi + + out_object_file=`basename $out_file .c`.o + + # Remove all formfeeds, since some Makes get confused by them. + # Also arrange to give the variables `target', `host_xmake_file', + # `tmake_file', `prefix', `local_prefix', `exec_prefix', `FIXINCLUDES' + # `out_file', `out_object', `md_file', `lang_specs_files', + # `lang_options_files', and `INSTALL_HEADERS_DIR' values in the + # Makefile from the values they have in this script. rm -f Makefile.xx - echo "INSTALL=cp" | cat - Makefile.tem > Makefile.xx - rm -f Makefile.tem + rm -f aux-output.c aux-output.o md + # 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|^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|^version=.*$|version=${version}|" >> Makefile.sed + echo "s|^out_file=.*$|out_file=${srcdir}/config/${out_file}|" >> Makefile.sed + echo "s|^out_object_file=.*$|out_object_file=${out_object_file}|" >> Makefile.sed + echo "s|^md_file=.*$|md_file=${md_file}|" >> Makefile.sed + echo "s|^tm_file=.*$|tm_file=${srcdir}/config/${tm_file}|" >> Makefile.sed + echo "s|^host_xm_file=.*$|host_xm_file=${srcdir}/config/${host_xm_file}|" >> Makefile.sed + echo "s|^build_xm_file=.*$|build_xm_file=${srcdir}/config/${build_xm_file}|" >> Makefile.sed + echo "s|^lang_specs_files=.*$|lang_specs_files=${lang_specs_files}|" >> Makefile.sed + echo "s|^lang_options_files=.*$|lang_options_files=${lang_options_files}|" >> Makefile.sed + echo "s|^prefix[ ]*=.*|prefix = $prefix|" >> Makefile.sed + echo "s|^gxx_include_dir[ ]*=.*|gxx_include_dir = $gxx_include_dir|" >> Makefile.sed + echo "s|^local_prefix[ ]*=.*|local_prefix = $local_prefix|" >> Makefile.sed + echo "s|^exec_prefix[ ]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed + echo "s|^FIXINCLUDES[ ]*=.*|FIXINCLUDES = $fixincludes|" >> Makefile.sed + echo "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${host_install_headers_dir}|" >> Makefile.sed + sed -f Makefile.sed Makefile.tem > Makefile.xx + rm -f Makefile.tem Makefile.sed mv Makefile.xx Makefile.tem -fi + + # 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$canon_host = x$canon_target ] + then + rm -f Makefile + if [ x$canon_host = x$canon_build ] + then + mv Makefile.tem Makefile + else + # When building gcc with a cross-compiler, we need to fix a + # few things. + echo "build= $build" > Makefile + sed -e "s|objc-runtime$||" \ + -e "/####build/ r ${mainsrcdir}/build-make" Makefile.tem >> Makefile + rm -f Makefile.tem Makefile.xx + fi + else + rm -f Makefile + echo "CROSS=-DCROSS_COMPILE" > Makefile + sed -e "/####cross/ r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile + rm -f Makefile.tem Makefile.xx + fi -# Conditionalize the makefile for this target machine. -if [ -f ${srcdir}/config/${tmake_file} ] + echo "Created \`$subdir/Makefile'." + + # If a subdirectory has a configure script, run it. + if [ x$subdir != x. ] + then + if [ -f $srcdir/configure ] + then + ${CONFIG_SHELL-sh} $srcdir/configure $arguments --srcdir=$srcdir + fi + fi + + cd $STARTDIR +done # end of current-dir SUBDIRS loop + +srcdir=$savesrcdir + +# Describe the chosen configuration in config.status. +# Make that file a shellscript which will reestablish the same configuration. +echo "#!/bin/sh +# GCC was configured as follows: +${srcdir}/configure" $arguments > config.new +echo echo host=$canon_host target=$canon_target build=$canon_build >> config.new +chmod a+x config.new +if [ -f config.bak ] && cmp config.bak config.new >/dev/null 2>/dev/null; then - rm -f Makefile.xx - sed -e "/####/ r ${srcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx - echo "Merged ${tmake_file}." - rm -f Makefile.tem - mv Makefile.xx Makefile.tem + mv -f config.bak config.status + rm -f config.new else -# Say in the makefile that there is no tmake_file, -# by using a name which (when interpreted relative to $srcdir/config) -# will duplicate another dependency: $srcdir/Makefile.in. - tmake_file=../Makefile.in + mv -f config.new config.status + rm -f config.bak fi -# Remove all formfeeds, since some Makes get confused by them. -# Also arrange to give the variables `target' and `host_xmake_file' -# and `tmake_file' the same values in the Makefile -# that they have in this script. -rm -f Makefile.xx -sed -e "s/ //" -e "s/^target=.*$/target=${target}/" \ - -e "s|^xmake_file=.*$|xmake_file=${host_xmake_file}|" \ - -e "s|^tmake_file=.*$|tmake_file=${tmake_file}|" \ - Makefile.tem > Makefile.xx -rm -f Makefile.tem -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 ] +str2= +str3= +str4=. + +if [ x$canon_host = x$canon_target ] then - rm -f Makefile - mv Makefile.tem Makefile + str1="native " else - rm -f Makefile - echo "CROSS=-DCROSS_COMPILE" > Makefile - sed -e "/####/ r ${srcdir}/cross-make" Makefile.tem >> Makefile - rm -f Makefile.tem Makefile.xx + str1="cross-" + str2=" from $canon_host" fi -echo "Created \`Makefile'." +if [ x$canon_host != x$canon_build ] +then + str3=" on a $canon_build system" +fi -if [ xx${vint} != xx ] +if [ "x$str2" != x ] || [ "x$str3" != x ] then - vintmsg =" (vint)" + str4= fi -# Describe the chosen configuration in config.status. -# Make that file a shellscript which will reestablish the same configuration. -echo "#!/bin/sh -# GCC was configured as follows: -${srcdir}/configure" $arguments > config.status -chmod a+x config.status +echo "Links are now set up to build a ${str1}compiler for ${canon_target}$str4" 1>&2 -if [ x$host = x$target ] +if [ "x$str2" != x ] || [ "x$str3" != x ] then - echo "Links are now set up for target $target." -else - echo "Links are now set up for host $host and target $target." + echo " ${str2}${str3}." 1>&2 fi exit 0