--- gcc/configure 2018/04/24 18:18:48 1.1.1.7 +++ gcc/configure 2018/04/24 18:37:23 1.1.1.9 @@ -1,6 +1,6 @@ #!/bin/sh # Configuration script for GNU CC -# Copyright (C) 1988, 90, 91, 92, 93, 1994 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,7 +16,8 @@ #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 @@ -35,7 +36,13 @@ # --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, @@ -58,6 +65,10 @@ 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 @@ -71,6 +82,10 @@ 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' @@ -111,6 +126,7 @@ do ;; --prefix) prefix=$arg + native_prefix=$prefix next_arg= ;; --local-prefix) @@ -125,6 +141,31 @@ do 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 -*) @@ -166,6 +207,7 @@ do ;; -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) @@ -195,6 +237,55 @@ do | --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 ;; @@ -218,11 +309,26 @@ do ;; -with-* | --with-*) ;; #ignored -without-* | --without-*) ;; #ignored - -enable-* | --enable-*) ;; #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) - --verb*) ;; # ignored for now (--verbose) + -v | -verb* | --verb*) ;; # ignored for now (--verbose) --program-*) ;; #ignored (--program-prefix, --program-suffix) --c*) ;; #ignored (--cache-file) --q*) ;; #ignored (--quiet) @@ -380,11 +486,12 @@ for machine in $canon_build $canon_host out_file= xmake_file= tmake_file= - header_files= + 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. @@ -400,6 +507,8 @@ for machine in $canon_build $canon_host 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. @@ -419,12 +528,22 @@ for machine in $canon_build $canon_host ;; 1750a-*-*) ;; - a29k-*-bsd*) + 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 ;; @@ -466,6 +585,19 @@ for machine in $canon_build $canon_host 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 @@ -481,6 +613,12 @@ for machine in $canon_build $canon_host 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 @@ -538,26 +676,30 @@ for machine in $canon_build $canon_host 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-hpux + tmake_file=pa/t-pa if [ x$gas = xyes ] then tm_file=pa/pa-gux7.h @@ -572,7 +714,7 @@ for machine in $canon_build $canon_host cpu_type=pa xm_file=pa/xm-pahpux.h xmake_file=pa/x-pa-hpux - tmake_file=pa/t-pa-hpux + tmake_file=pa/t-pa if [ x$gas = xyes ] then tm_file=pa/pa-ghpux.h @@ -587,7 +729,7 @@ for machine in $canon_build $canon_host cpu_type=pa xm_file=pa/xm-pahpux.h xmake_file=pa/x-pa-hpux - tmake_file=pa/t-pa-hpux + tmake_file=pa/t-pa if [ x$gas = xyes ] then tm_file=pa/pa1-ghpux.h @@ -598,11 +740,43 @@ for machine in $canon_build $canon_host 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-hpux + tmake_file=pa/t-pa if [ x$gas = xyes ] then tm_file=pa/pa1-ghpux.h @@ -617,7 +791,7 @@ for machine in $canon_build $canon_host cpu_type=pa xm_file=pa/xm-pahpux.h xmake_file=pa/x-pa-hpux - tmake_file=pa/t-pa-hpux + tmake_file=pa/t-pa if [ x$gas = xyes ] then tm_file=pa/pa-ghpux.h @@ -630,9 +804,9 @@ for machine in $canon_build $canon_host ;; hppa1.1-*-hiux*) cpu_type=pa - xm_file=pa/xm-pahiux.h - xmake_file=pa/x-pa-hiux - tmake_file=pa/t-pa-hpux + 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 @@ -645,9 +819,9 @@ for machine in $canon_build $canon_host ;; hppa1.0-*-hiux*) cpu_type=pa - xm_file=pa/xm-pahiux.h - xmake_file=pa/x-pa-hiux - tmake_file=pa/t-pa-hpux + 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 @@ -658,18 +832,25 @@ for machine in $canon_build $canon_host 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 + i[3456]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 @@ -683,9 +864,10 @@ for machine in $canon_build $canon_host xm_file=i386/xm-sysv4.h xmake_file=i386/x-ncr3000 tm_file=i386/sysv4.h - tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" + tmake_file=i386/t-crtpic ;; - i[345]86-next-*) + i[3456]86-next-*) cpu_type=i386 tm_file=i386/next.h out_file=i386/next.c @@ -693,7 +875,7 @@ for machine in $canon_build $canon_host tmake_file=i386/t-next xmake_file=i386/x-next ;; - i[345]86-sequent-bsd*) # 80386 from Sequent + i[3456]86-sequent-bsd*) # 80386 from Sequent cpu_type=i386 use_collect2=yes if [ x$gas = xyes ] @@ -703,23 +885,23 @@ for machine in $canon_build $canon_host tm_file=i386/sequent.h fi ;; - i[345]86-sequent-ptx1*) + i[3456]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=t-svr3 + 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*) + i[3456]86-sequent-ptx2* | i[3456]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=t-svr3 + tmake_file=i386/t-crtstuff extra_parts="crtbegin.o crtend.o" fixincludes=fixinc.ptx install_headers_dir=install-headers-cpio @@ -730,48 +912,55 @@ for machine in $canon_build $canon_host tm_file=i386/sun.h use_collect2=yes ;; - i[345]86-*-bsdi* | i[345]86-*-bsd386*) + i[3456]86-*-aout*) + cpu_type=i386 + tm_file=i386/i386-aout.h + tmake_file=i386/t-i386bare + ;; + i[3456]86-*-bsdi* | i[3456]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*) + i[3456]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 ;; - i[345]86-*-freebsd*) + i[3456]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*) + i[3456]86-*-netbsd*) cpu_type=i386 - tm_file=i386/netbsd-i386.h + 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-*-gnu*) + i[3456]86-*-coff*) cpu_type=i386 - xm_file=i386/xm-gnu.h - tm_file=i386/gnu.h - tmake_file=t-libc-ok - # GNU tools are the only tools. - gnu_ld=yes - gas=yes - # On GNU, the headers are already okay. - fixincludes=Makefile.in + tm_file=i386/i386-coff.h + tmake_file=i386/t-i386bare + ;; + i[3456]86-*-gnu*) + cpu_type=i386 # GNU supports this CPU; rest done below. ;; - i[345]86-*-isc*) # 80386 running ISC system + i[3456]86-*-isc*) # 80386 running ISC system cpu_type=i386 xm_file=i386/xm-isc.h case $machine in - i[345]86-*-isc[34]*) + i[3456]86-*-isc[34]*) xmake_file=i386/x-isc3 ;; *) @@ -783,27 +972,62 @@ for machine in $canon_build $canon_host 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*) # Intel 80386's running Linux - cpu_type=i386 + i[3456]86-*-linux*oldld*) # Intel 80386's running GNU/Linux + cpu_type=i386 # with a.out format using pre BFD linkers xm_file=i386/xm-linux.h - xmake_file=i386/x-linux - if [ x$elf = xyes ] - then - tm_file=i386/linuxelf.h - else - tm_file=i386/linux.h - fi - fixincludes=Makefile.in #On Linux, the headers are ok already. + xmake_file=x-linux + tm_file=i386/linux-oldld.h + fixincludes=Makefile.in # The headers are ok already. broken_install=yes + gnu_ld=yes + ;; + i[3456]86-*-linux*aout*) # Intel 80386's running GNU/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 # The headers are ok already. + broken_install=yes + gnu_ld=yes + ;; + i[3456]86-*-linuxlibc1*) # Intel 80386's running GNU/Linux + cpu_type=i386 # with ELF format, using GNU libc v1. + xm_file=i386/xm-linux.h + xmake_file=x-linux + tmake_file=t-linux-libc1 + tm_file=i386/linux.h + fixincludes=Makefile.in # The headers are ok already. + broken_install=yes + gnu_ld=yes + # GNU libc v1 supplies these. + #extra_parts="crtbegin.o crtend.o" ;; - i[345]86-*-lynxos*) + i[3456]86-*-linux*) # Intel 80386's running GNU/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 # The headers are ok already. + broken_install=yes + gnu_ld=yes + # GNU libc version 2 does not supply these; + # we want them from GCC. + extra_parts="crtbegin.o crtend.o" + ;; + i[3456]86-go32-msdos | i[3456]86-*-go32) + cpu_type=i386 + tm_file=i386/go32.h + ;; + i[3456]86-*-lynxos*) cpu_type=i386 if [ x$gas = xyes ] then @@ -811,16 +1035,17 @@ for machine in $canon_build $canon_host else tm_file=i386/lynx-ng.h fi - xm_file=xm-lynx.h + xm_file=i386/xm-lynx.h + tmake_file=i386/t-i386bare xmake_file=x-lynx ;; - i[345]86-*-mach*) + i[3456]86-*-mach*) cpu_type=i386 tm_file=i386/mach.h # tmake_file=t-libc-ok use_collect2=yes ;; - i[345]86-*-osfrose*) # 386 using OSF/rose + i[3456]86-*-osfrose*) # 386 using OSF/rose cpu_type=i386 if [ x$elf = xyes ] then @@ -834,7 +1059,7 @@ for machine in $canon_build $canon_host xmake_file=i386/x-osfrose extra_objs=halfpic.o ;; - i[345]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system + i[3456]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system cpu_type=i386 xm_file=i386/xm-sco.h xmake_file=i386/x-sco4 @@ -845,12 +1070,14 @@ for machine in $canon_build $canon_host 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 + i[3456]86-*-sco*) # 80386 running SCO system cpu_type=i386 xm_file=i386/xm-sco.h xmake_file=i386/x-sco @@ -860,13 +1087,15 @@ for machine in $canon_build $canon_host 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*) + i[3456]86-*-solaris2* | i[3456]86-*-sunos5*) cpu_type=i386 xm_file=i386/xm-sysv4.h tm_file=i386/sol2.h @@ -876,7 +1105,7 @@ for machine in $canon_build $canon_host fixincludes=fixinc.svr4 broken_install=yes ;; - i[345]86-*-sysv4*) # Intel 80386's running system V.4 + i[3456]86-*-sysv4*) # Intel 80386's running system V.4 cpu_type=i386 xm_file=i386/xm-sysv4.h if [ x$stabs = xyes ] @@ -885,10 +1114,11 @@ for machine in $canon_build $canon_host else tm_file=i386/sysv4.h fi - tmake_file=t-svr4 + 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 + i[3456]86-*-sysv*) # Intel 80386's running system V cpu_type=i386 xm_file=i386/xm-sysv3.h xmake_file=i386/x-sysv3 @@ -898,24 +1128,37 @@ for machine in $canon_build $canon_host 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 ;; - i[345]86-*-winnt3*) + 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[3456]86-*-winnt3*) cpu_type=i386 - tm_file=i386/winnt.h + tm_file=i386/win-nt.h out_file=i386/i386.c xm_file=i386/xm-winnt.h - xmake_file=i386/x-winnt + 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 + extra_programs=ld.exe fi ;; i860-alliant-*) # Alliant FX/2800 @@ -956,6 +1199,22 @@ for machine in $canon_build $canon_host xmake_file=i860/x-sysv4 tm_file=i860/sysv4.h tmake_file=t-svr4 + extra_parts="crtbegin.o crtend.o" + ;; + 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 @@ -970,14 +1229,14 @@ for machine in $canon_build $canon_host xm_file=m68k/xm-3b1.h tm_file=m68k/ctix.h use_collect2=yes - header_files=math-68881.h + 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 - header_files=math-68881.h + extra_headers=math-68881.h ;; m68000-hp-hpux*) # HP 9000 series 300 cpu_type=m68k @@ -993,19 +1252,19 @@ for machine in $canon_build $canon_host broken_install=yes install_headers_dir=install-headers-cpio use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68000-sun-sunos3*) cpu_type=m68k tm_file=m68k/sun2.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68000-sun-sunos4*) cpu_type=m68k tm_file=m68k/sun2o4.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68000-att-sysv*) cpu_type=m68k @@ -1017,13 +1276,13 @@ for machine in $canon_build $canon_host tm_file=m68k/3b1.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-apollo-*) xmake_file=m68k/x-apollo68 tm_file=m68k/apollo68.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-altos-sysv*) # Altos 3068 if [ x$gas = xyes ] @@ -1034,7 +1293,7 @@ for machine in $canon_build $canon_host echo "The Altos is supported only with the GNU assembler" 1>&2 exit 1 fi - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-bull-sysv*) # Bull DPX/2 if [ x$gas = xyes ] @@ -1051,43 +1310,45 @@ for machine in $canon_build $canon_host xm_file=m68k/xm-m68kv.h xmake_file=m68k/x-dpx2 use_collect2=yes - header_files=math-68881.h + 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 - header_files=math-68881.h + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h ;; m68k-motorola-sysv*) xm_file=m68k/xm-mot3300.h - xmake_file=m68k/x-alloca-c + 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 - header_files=math-68881.h + 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" - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-plexus-sysv*) tm_file=m68k/plexus.h xm_file=m68k/xm-plexus.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-tti-*) tm_file=m68k/pbb.h xm_file=m68k/xm-m68kv.h - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-crds-unos*) xm_file=m68k/xm-crds.h @@ -1095,19 +1356,20 @@ for machine in $canon_build $canon_host tm_file=m68k/crds.h broken_install=yes use_collect2=yes - header_files=math-68881.h + 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 - header_files=math-68881.h + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h ;; m68k-ccur-rtu) tm_file=m68k/ccur-GAS.h xmake_file=m68k/x-ccur - header_files=math-68881.h + extra_headers=math-68881.h use_collect2=yes broken_install=yes ;; @@ -1115,12 +1377,12 @@ for machine in $canon_build $canon_host tm_file=m68k/hp3bsd44.h xmake_file=m68k/x-hp3bsd44 use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix tm_file=m68k/hp3bsd.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-isi-bsd*) if [ x$nfp = xyes ] @@ -1130,7 +1392,7 @@ for machine in $canon_build $canon_host tm_file=m68k/isi.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7. xm_file=m68k/xm-hp320.h @@ -1145,7 +1407,7 @@ for machine in $canon_build $canon_host broken_install=yes install_headers_dir=install-headers-cpio use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-hp-hpux*) # HP 9000 series 300 xm_file=m68k/xm-hp320.h @@ -1160,12 +1422,12 @@ for machine in $canon_build $canon_host broken_install=yes install_headers_dir=install-headers-cpio use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-sun-mach*) tm_file=m68k/sun3mach.h use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-sony-newsos3*) if [ x$gas = xyes ] @@ -1175,7 +1437,7 @@ for machine in $canon_build $canon_host tm_file=m68k/news3.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-sony-bsd* | m68k-sony-newsos*) if [ x$gas = xyes ] @@ -1185,7 +1447,7 @@ for machine in $canon_build $canon_host tm_file=m68k/news.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-next-nextstep2*) tm_file=m68k/next21.h @@ -1193,7 +1455,7 @@ for machine in $canon_build $canon_host xm_file=m68k/xm-next.h tmake_file=m68k/t-next xmake_file=m68k/x-next - header_files=math-68881.h + extra_headers=math-68881.h use_collect2=yes ;; m68k-next-nextstep3*) @@ -1202,7 +1464,7 @@ for machine in $canon_build $canon_host xm_file=m68k/xm-next.h tmake_file=m68k/t-next xmake_file=m68k/x-next - header_files=math-68881.h + extra_headers=math-68881.h ;; m68k-sun-sunos3*) if [ x$nfp = xyes ] @@ -1212,9 +1474,9 @@ for machine in $canon_build $canon_host tm_file=m68k/sun3o3.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.h ;; - m68k-sun-sunos* | m68k-wrs-vxworks) # For SunOS 4 (the default). + m68k-sun-sunos*) # For SunOS 4 (the default). if [ x$nfp = xyes ] then tm_file=m68k/sun3n.h @@ -1222,7 +1484,22 @@ for machine in $canon_build $canon_host tm_file=m68k/sun3.h fi use_collect2=yes - header_files=math-68881.h + extra_headers=math-68881.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 ] @@ -1231,28 +1508,51 @@ for machine in $canon_build $canon_host else tm_file=m68k/lynx-ng.h fi - xm_file=xm-lynx.h + xm_file=m68k/xm-lynx.h xmake_file=x-lynx - header_files=math-68881.h + tmake_file=m68k/t-lynx + extra_headers=math-68881.h ;; m68k-*-netbsd*) cpu_type=m68k - tm_file=m68k/netbsd-m68k.h + 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" - header_files=math-68881.h + 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 - header_files=math-68881.h + extra_parts="crtbegin.o crtend.o" + extra_headers=math-68881.h + ;; + m68k-*-linux*aout*) # Motorola m68k's running GNU/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 # The headers are ok already. + extra_headers=math-68881.h + gnu_ld=yes + ;; + m68k-*-linux*) # Motorola m68k's running GNU/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 # The headers are ok already. + extra_headers=math-68881.h + gnu_ld=yes + extra_parts="crtbegin.o crtend.o" ;; m88k-dg-dgux*) case $machine in @@ -1295,11 +1595,14 @@ for machine in $canon_build $canon_host tmake_file=m88k/t-m88k-gas fi ;; - m88k-mot*-sysv4*) - tm_file=m88k/mot-sysv4.h - extra_parts="crtbegin.o crtend.o" - xmake_file=m88k/x-sysv4 - tmake_file=m88k/t-sysv4 + 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 ;; m88k-*-luna*) tm_file=m88k/luna.h @@ -1327,6 +1630,26 @@ for machine in $canon_build $canon_host 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 @@ -1451,6 +1774,14 @@ for machine in $canon_build $canon_host 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 + ;; mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news. if [ x$stabs = xyes ]; then tm_file=mips/news4-gdb.h @@ -1499,9 +1830,10 @@ for machine in $canon_build $canon_host xmake_file=mips/x-sysv if [ x$gas = xyes ] then - tmake_file=mips/t-svr4-gas + tmake_file=mips/t-mips-gas + extra_parts="crtbegin.o crtend.o" else - tmake_file=mips/t-svr4 + tmake_file=mips/t-mips extra_passes="mips-tfile mips-tdump" fi if [ x$gnu_ld != xyes ] @@ -1510,7 +1842,7 @@ for machine in $canon_build $canon_host fi broken_install=yes ;; - mips-*-ultrix*) # Decstation. + mips-*-ultrix* | mips-dec-mach3) # Decstation. if [ x$stabs = xyes ]; then tm_file=mips/ultrix-gdb.h else @@ -1669,6 +2001,57 @@ for machine in $canon_build $canon_host 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 @@ -1745,33 +2128,121 @@ for machine in $canon_build $canon_host xmake_file=romp/x-mach use_collect2=yes ;; + 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 + ;; + 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 + ;; + 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 + ;; + 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 + ;; rs6000-ibm-aix3.[01]*) tm_file=rs6000/aix31.h + tmake_file=rs6000/t-rs6000 xmake_file=rs6000/x-aix31 use_collect2=yes ;; - rs6000-ibm-aix4.1*) + 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 ;; @@ -1779,10 +2250,22 @@ for machine in $canon_build $canon_host tm_file=sparc/pbd.h xm_file=sparc/xm-pbd.h ;; - sparc-*-netbsd) + 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 ;; sparc-*-bsd*) @@ -1795,7 +2278,8 @@ for machine in $canon_build $canon_host else tm_file=sparc/lynx-ng.h fi - xm_file=xm-lynx.h + xm_file=sparc/xm-lynx.h + tmake_file=sparc/t-sunos41 xmake_file=x-lynx ;; sparc-*-solaris2* | sparc-*-sunos5*) @@ -1808,12 +2292,12 @@ for machine in $canon_build $canon_host broken_install=yes ;; sparc-*-sunos4.0*) - tm_file=sparc/sparc.h + tm_file=sparc/sunos4.h tmake_file=sparc/t-sunos40 use_collect2=yes ;; sparc-*-sunos4*) - tm_file=sparc/sparc.h + tm_file=sparc/sunos4.h tmake_file=sparc/t-sunos41 use_collect2=yes ;; @@ -1826,21 +2310,29 @@ for machine in $canon_build $canon_host 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) + sparc64-*-aout*) cpu_type=sparc tmake_file=sparc/t-sp64 tm_file=sparc/sp64-aout.h ;; - sparc64-*-elf) + sparc64-*-elf*) cpu_type=sparc tmake_file=sparc/t-sp64 tm_file=sparc/sp64-elf.h + extra_parts="crtbegin.o crtend.o" ;; # This hasn't been upgraded to GCC 2. # tahoe-harris-*) # Harris tahoe, using COFF. @@ -1860,6 +2352,14 @@ for machine in $canon_build $canon_host 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 @@ -1868,9 +2368,15 @@ for machine in $canon_build $canon_host 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 @@ -1883,6 +2389,25 @@ for machine in $canon_build $canon_host 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 @@ -1902,7 +2427,7 @@ for machine in $canon_build $canon_host i[45]86-*-*) target_cpu_default=2 ;; - mips-*-*) + mips*-*-*) if [ x$gas = xyes ] then target_cpu_default=16 @@ -1960,8 +2485,8 @@ done if [ x$tm_file = x ] then tm_file=$cpu_type/$cpu_type.h; fi -if [ x$header_files = x ] -then header_files=; fi +if [ x$extra_headers = x ] +then extra_headers=; fi if [ x$xm_file = x ] then xm_file=$cpu_type/xm-$cpu_type.h; fi @@ -1975,15 +2500,19 @@ if [ x$tmake_file = x ] 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 $out_file $xm_file $build_xm_file $md_file" -links="config.h tm.h aux-output.c tconfig.h hconfig.h" - -if [ "x$md_cppflags" = x ] -then links="$links md" -else links="$links md.pre-cpp" -fi +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 @@ -1995,23 +2524,8 @@ 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 - - $remove -f $link - # 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 || $copy ${srcdir}/config/$file $link - - if [ ! -r $link ] - then - echo "$progname: unable to link \`$link' to \`${srcdir}/config/$file'" 1>&2 - exit 1 - fi - echo "Linked \`$link' to \`${srcdir}/config/$file'" + rm -f $link + echo "#include \"$file\"" >$link done # Truncate the target if necessary @@ -2030,15 +2544,52 @@ for lang in ${srcdir}/*/config-lang.in . do case $lang in ..) ;; - # The odd quoting in the next line is an attempt to work around - # an apparent bug in bash 1.12 on linux. This is known to not - # work for bash 1.12.4. Try using ${srcdir}/[*]/config-lang.in - # here if this doesn't work for you. - ${srcdir}'/*/config-lang.in') ;; + # The odd quoting in the next line works around + # an apparent bug in bash 1.12 on GNU/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 GNU/Linux systems 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 +done + +# 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}" + ;; +*) + SET_MAKE= + ;; +esac +rm -f Makefile.xx + savesrcdir=$srcdir for subdir in . $subdirs do @@ -2084,6 +2635,10 @@ do 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 @@ -2110,6 +2665,15 @@ do 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 ] @@ -2126,14 +2690,14 @@ do # but rather than introduce another level of nesting, we leave them # as is. - # Set EXTRA_HEADERS according to header_files. + # Set EXTRA_HEADERS according to extra_headers. # This substitutes for lots of t-* files. - if [ "x$header_files" = x ] + if [ "x$extra_headers" = x ] then true else - # Prepend ${srcdir}/ginclude/ to every entry in header_files. + # Prepend ${srcdir}/ginclude/ to every entry in extra_headers. list= - for file in $header_files; + for file in $extra_headers; do list="${list} ${srcdir}/ginclude/${file}" done @@ -2181,7 +2745,18 @@ do then true else rm -f Makefile.xx - sed "s/^EXTRA_OBJS =/EXTRA_OBJS = $extra_objs/" Makefile.tem > 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 @@ -2219,20 +2794,45 @@ MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA # 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 true + then + md_file=$srcdir/config/$md_file else rm -f Makefile.xx (if [ x$host = x$build ] ; then - echo "MD_DEPS = md.pre-cpp cpp" ; echo "MD_CPP = ./cpp" + 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 @@ -2311,7 +2911,7 @@ MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA info dvi \ install-normal install-common install-info install-man \ uninstall distdir \ - mostlyclean clean distclean extraclean realclean \ + mostlyclean clean distclean extraclean maintainer-clean \ stage1 stage2 stage3 stage4" rm -f Makefile.ll for t in $target_list @@ -2364,25 +2964,42 @@ MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA $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' - # and `INSTALL_HEADERS_DIR' values in the Makefile from the values - # they have in this script. + # `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 - sed -e "s/ //" -e "s/^target=.*$/target=${target}/" \ - -e "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" \ - -e "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" \ - -e "s|^version=.*$|version=${version}|" \ - -e "s|^prefix[ ]*=.*|prefix = $prefix|" \ - -e "s|^gxx_include_dir[ ]*=.*|gxx_include_dir = $gxx_include_dir|" \ - -e "s|^local_prefix[ ]*=.*|local_prefix = $local_prefix|" \ - -e "s|^exec_prefix[ ]*=.*|exec_prefix = $exec_prefix|" \ - -e "s|^FIXINCLUDES[ ]*=.*|FIXINCLUDES = $fixincludes|" \ - -e "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${host_install_headers_dir}|" \ - 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 # Install Makefile for real, after making final changes. @@ -2408,14 +3025,9 @@ MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA sed -e "/####cross/ r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile rm -f Makefile.tem Makefile.xx fi - + echo "Created \`$subdir/Makefile'." - - if [ xx${vint} != xx ] - then - vintmsg=" (vint)" - fi - + # If a subdirectory has a configure script, run it. if [ x$subdir != x. ] then