--- gcc/configure 2018/04/24 17:56:48 1.1.1.3 +++ gcc/configure 2018/04/24 18:08:15 1.1.1.5 @@ -22,7 +22,18 @@ # 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. +# --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. +# --nfp assume system has no FPU. # # If configure succeeds, it leaves its status in config.status. # If configure fails after disturbing the status quo, @@ -42,6 +53,19 @@ fi host= +# Default prefix to /usr/local. +prefix=/usr/local + +# 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)' + remove=rm hard_link=ln symbolic_link='ln -s' @@ -55,36 +79,91 @@ arguments=$* #hard_link="echo ln" #symbolic_link="echo ln -s" +target= +host= +build= + for arg in $*; do -# Handle -srcdir, etc, with space between it and argument. - if [ x$next_srcdir = xyes ] - then srcdir=$arg; next_srcdir=; -# 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 + next_arg= + ;; + --local-prefix) + local_prefix=$arg + next_arg= + ;; + --exec-prefix) + exec_prefix=$arg + next_arg= + ;; + *) case $arg in + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s) + next_arg=--srcdir + ;; -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 - ;; -host | --host | --hos | --ho | --h) - next_host=yes + next_arg=--host ;; -host=* | --host=* | --hos=* | --ho=* | --h=*) 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]*=//'` ;; + -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]*=//'` + ;; + -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]*=//'` + ;; + -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]*=//'` + ;; -with-gnu-ld | --with-gnu-ld | --with-gnu-l) gnu_ld=yes ;; @@ -94,6 +173,12 @@ do -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-* | --with-*) ;; #ignored -x | --x) ;; # ignored -*) @@ -109,7 +194,7 @@ do target=$arg ;; esac - fi; fi; fi + esac done # Find the source files, if location was not specified. @@ -144,12 +229,15 @@ fi if [ x$target = x ] then echo "No target specified." 1>&2 - echo "Usage: $progname [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] TARGET" 1>&2 - echo -n "Where HOST and TARGET are something like " 1>&2 - echo "\`vax', \`sun3', \`encore', etc." 1>&2 + + echo "\ +Usage: `basename $progname` [--host=HOST] [--build=BUILD] + [--prefix=DIR] [--local-pref=DIR] [--exec-pref=DIR] + [--with-gnu-as] [--with-gnu-ld] [--with-stabs] [--nfp] TARGET" 1>&2 + echo "Where HOST, TARGET and BUILD are three-part configuration names " 1>&2 if [ -r config.status ] then - cat config.status 1>&2 + tail +2 config.status 1>&2 fi exit 1 fi @@ -159,19 +247,28 @@ if [ x$host = x ] then host=$target fi +# If $build was not specified, use $host. +if [ x$build = x ] +then + build=$host +fi +build_xm_file= host_xm_file= host_xmake_file= host_broken_install= +host_install_headers_dir=install-headers-tar + +# 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= @@ -182,295 +279,414 @@ for machine in $host $target; do header_files= # 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 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 use_collect2=yes ;; vax-*-ultrix*) # vaxen running ultrix - tm_file=ultrix.h + tm_file=vax/ultrix.h use_collect2=yes ;; vax-*-vms*) # vaxen running VMS - xm_file=xm-vms.h - tm_file=vms.h + xm_file=vax/xm-vms.h + tm_file=vax/vms.h ;; vax-*-sysv*) # vaxen running system V - xm_file=xm-vaxv.h - tm_file=vaxv.h + xm_file=vax/xm-vaxv.h + tm_file=vax/vaxv.h ;; # This hasn't been upgraded to GCC 2. # tahoe-harris-*) # Harris tahoe, using COFF. -# tm_file=harris.h +# tm_file=tahoe/harris.h # ;; # tahoe-*-bsd*) # tahoe running BSD -# xm_file=xm-tahoe.h -# tm_file=tahoe.h # ;; - i386-*-osfrose*) # 386 using OSF/rose - tm_file=i386rose.h - xmake_file=x-i386rose - tmake_file=t-i386rose + i[34]86-*-osfrose*) # 386 using OSF/rose +# The following line (and similar below) is not redundant since this can +# be used for i486 or i386. + cpu_type=i386 + tm_file=i386/osfrose.h + xmake_file=i386/x-osfrose + tmake_file=i386/t-osfrose use_collect2=yes ;; - i386-sequent-bsd*) # 80386 from Sequent - xm_file=xm-i386.h + i[34]86-*-osfelf*) # 386 using OSF/1 with Elf objects + cpu_type=i386 + tm_file=i386/osfelf.h + xmake_file=i386/x-osfrose + tmake_file=i386/t-osfrose + use_collect2=no + ;; + i[34]86-sequent-bsd*) # 80386 from Sequent + cpu_type=i386 use_collect2=yes if [ x$gas = xyes ] then - tm_file=seq386gas.h + tm_file=i386/seq-gas.h else - tm_file=seq386.h + tm_file=i386/sequent.h fi ;; - i386-*-bsd*) - xm_file=xm-i386.h - tm_file=i386bsd.h - tmake_file=t-libc-ok - use_collect2=yes + i[34]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 ;; - i386-*-mach*) - xm_file=xm-i386.h - tm_file=i386mach.h - tmake_file=t-libc-ok + i[34]86-*-bsd*) + cpu_type=i386 + tm_file=i386/386bsd.h +# tmake_file=t-libc-ok +# Next line turned off because both 386BSD and BSD/386 use GNU ld. +# use_collect2=yes + ;; + i[34]86-*-mach*) + cpu_type=i386 + tm_file=i386/mach.h +# tmake_file=t-libc-ok use_collect2=yes ;; - i386-*-sco3.2v4*) # 80386 running SCO 3.2v4 system - xm_file=xm-i386sco.h - tm_file=i386sco4.h - xmake_file=x-i386sco - tmake_file=t-i386sco - ;; - i386-*-sco*) # 80386 running SCO system - xm_file=xm-i386sco.h - tm_file=i386sco.h - xmake_file=x-i386sco - tmake_file=t-i386sco - ;; - i386-*-isc*) # 80386 running ISC system - xm_file=xm-i386isc.h - tm_file=i386isc.h - xmake_file=x-i386isc - tmake_file=t-i386isc - ;; - i386-ibm-aix*) # IBM PS/2 running AIX - tm_file=aix386.h - xm_file=xm-aix386.h - xmake_file=x-aix386 + i[34]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 + else + tm_file=i386/sco4.h + tmake_file=i386/t-sco + fi ;; - i386-sun-sunos*) # Sun i386 roadrunner - xm_file=xm-sun386.h - tm_file=i386sun.h - use_collect2=yes + i[34]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 + else + tm_file=i386/sco.h + tmake_file=i386/t-sco + fi ;; - 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[34]86-*-isc*) # 80386 running ISC system + cpu_type=i386 + xm_file=i386/xm-isc.h + case $machine in + i[34]86-*-isc3*) + xmake_file=i386/x-isc3 + ;; + *) + xmake_file=i386/x-isc + ;; + esac + echo $xmake_file + if [ x$gas = xyes ] + then + if [ x$stabs = xyes ] + then + tm_file=i386/iscdbx.h + tmake_file=i386/t-svr3dbx + else + # iscgas.h, a nonexistent file, was used here. + tm_file=i386/isccoff.h + tmake_file=i386/t-isc + fi + else + tm_file=i386/isccoff.h + tmake_file=i386/t-isc + fi + install_headers_dir=install-headers-cpio + broken_install=yes ;; - i386-*-sysv*) # Intel 80386's running system V - xm_file=xm-i386v.h - xmake_file=x-i386v - tmake_file=t-svr3 - if [ x$gas = xyes ] + i[34]86-ibm-aix*) # IBM PS/2 running AIX + cpu_type=i386 + if [ x$gas = xyes ] then - tm_file=i386gas.h + tm_file=i386/aix386.h + tmake_file=i386/t-aix else - tm_file=i386v.h + tm_file=i386/aix386ng.h + use_collect2=yes fi + xm_file=i386/xm-aix.h + xmake_file=i386/x-aix + broken_install=yes + fixincludes=fixinc.ps2 + ;; + i386-sun-sunos*) # Sun i386 roadrunner + xm_file=i386/xm-sun.h + tm_file=i386/sun.h + use_collect2=yes + ;; + i[34]86-*-linux*) # Intel 80386's running Linux + cpu_type=i386 + xm_file=i386/xm-linux.h + xmake_file=i386/x-linux + tm_file=i386/linux.h + fixincludes=Makefile.in #On Linux, the headers are ok already. + broken_install=yes ;; i486-ncr-sysv4*) # NCR 3000 - i486 running system V.4 cpu_type=i386 - xm_file=xm-i38v4.h - xmake_file=x-ncr3000 - tm_file=i486v4.h + xm_file=i386/xm-sysv4.h + xmake_file=i386/x-ncr3000 + tm_file=i386/sysv4.h tmake_file=t-svr4 ;; - i486-*-sysv4*) # Intel 80486's running system V.4 + i[34]86-*-sysv4*) # Intel 80386's running system V.4 cpu_type=i386 - xm_file=xm-i38v4.h - xmake_file=x-i386v4 - tm_file=i486v4.h + xm_file=i386/xm-sysv4.h + tm_file=i386/sysv4.h tmake_file=t-svr4 + xmake_file=x-svr4 + ;; + i[34]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 + else + tm_file=i386/svr3gas.h + tmake_file=t-svr3 + fi + else + tm_file=i386/sysv3.h + tmake_file=t-svr3 + fi + ;; + i[34]86-*-solaris2* | i[34]86-*-sunos5*) + cpu_type=i386 + xm_file=i386/xm-sysv4.h + tm_file=i386/sol2.h + tmake_file=i386/t-sol2 + xmake_file=x-svr4 + fixincludes=fixinc.svr4 + broken_install=yes + ;; + i860-*-mach*) + xm_file=i860/xm-i860.h + tm_file=i860/mach.h + tmake_file=t-libc-ok ;; i860-*-sysv3*) - xm_file=xm-i86v3.h - xmake_file=x-i860v3 - tm_file=i860v3.h + xm_file=i860/xm-sysv3.h + xmake_file=i860/x-sysv3 + tm_file=i860/sysv3.h tmake_file=t-svr3 ;; i860-*-sysv4*) - xm_file=xm-i86v4.h - xmake_file=x-i860v4 - tm_file=i860v4.h + xm_file=i860/xm-sysv4.h + xmake_file=i860/x-sysv4 + tm_file=i860/sysv4.h tmake_file=t-svr4 ;; i860-alliant-*) # Alliant FX/2800 - xm_file=xm-fx2800.h - xmake_file=x-fx2800 - tm_file=fx2800.h - tmake_file=t-fx2800 + xm_file=i860/xm-fx2800.h + xmake_file=i860/x-fx2800 + tm_file=i860/fx2800.h + tmake_file=i860/t-fx2800 ;; 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-tti-*) - tm_file=pbd.h - xm_file=xm-pbd.h + elxsi-elxsi-*) use_collect2=yes ;; + sparc-tti-*) + tm_file=sparc/pbd.h + xm_file=sparc/xm-pbd.h + ;; sparc-*-sunos4*) - tm_file=sparc.h + tm_file=sparc/sparc.h use_collect2=yes ;; sparc-*-sunos3*) - tm_file=sun4o3.h + tm_file=sparc/sun4o3.h use_collect2=yes ;; sparc-*-sysv4*) - xm_file=xm-spcv4.h - tm_file=sparcv4.h + xm_file=sparc/xm-sysv4.h + tm_file=sparc/sysv4.h tmake_file=t-svr4 - xmake_file=x-sparcv4 + xmake_file=sparc/x-sysv4 ;; - sparc-*-solaris2*) - xm_file=xm-spcv4.h - tm_file=spc-sol2.h - tmake_file=t-svr4 - xmake_file=x-sparcv4 + 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 + fixincludes=fixinc.svr4 + broken_install=yes ;; - m68k-*-amix*) # Commodore variant of V.4. - tm_file=amix.h - xm_file=xm-amix.h - xmake_file=x-amix + sparclite-*-*) + cpu_type=sparc + tm_file=sparc/lite.h + use_collect2=yes + ;; + 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 ;; m68k-*-sysv4*) # Motorola m68k's running system V.4 - tm_file=m68kv4.h - xm_file=xm-m68kv4.h - xmake_file=x-m68kv4 + tm_file=m68k/m68kv4.h + xm_file=m68k/xm-m68kv.h tmake_file=t-svr4 header_files=math-68881.h ;; m68k-bull-sysv*) # Bull DPX/2 if [ x$gas = xyes ] then - tm_file=dpx2g.h + tm_file=m68k/dpx2g.h else - tm_file=dpx2.h - fi - xm_file=xm-m68kv.h - # is this cool ? - if [ -d /makesys/kernel/cf/ncl_mr ]; then - xmake_file=x-dpx2300 - elif [ -d /makesys/kernel/cf/ncl_el ]; then - xmake_file=x-dpx2200 + echo dpx2 supported only with GAS 1>&2 + exit 1 + tm_file=m68k/dpx2.h fi - xmake_file=${xmake_file:-x-dpx2300} + xm_file=m68k/xm-m68kv.h + xmake_file=m68k/x-dpx2 use_collect2=yes header_files=math-68881.h ;; m68k-next-*) - tm_file=next.h - out_file=next.c - xm_file=xm-next.h - tmake_file=t-next - use_collect2=yes + 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 header_files=math-68881.h ;; m68k-sun-sunos3*) if [ x$nfp = xyes ] then - tm_file=sun3n3.h + tm_file=m68k/sun3n3.h else - tm_file=sun3o3.h + tm_file=m68k/sun3o3.h fi use_collect2=yes header_files=math-68881.h ;; - m68k-sun-sunos*) # For Sunos 4 (the default). + m68k-sun-sunos*) # For SunOS 4 (the default). if [ x$nfp = xyes ] then - tm_file=sun3n.h + tm_file=m68k/sun3n.h else - tm_file=sun3.h + tm_file=m68k/sun3.h fi use_collect2=yes header_files=math-68881.h ;; m68k-sun-mach*) - tm_file=sun3mach.h + tm_file=m68k/sun3mach.h use_collect2=yes header_files=math-68881.h ;; m68k-tti-*) - tm_file=pbb.h - xm_file=xm-m68kv.h - use_collect2=yes + tm_file=m68k/pbb.h + xm_file=m68k/xm-m68kv.h header_files=math-68881.h ;; m68k-hp-hpux*) # HP 9000 series 300 - xm_file=xm-hp320.h + xm_file=m68k/xm-hp320.h if [ x$gas = xyes ] then - xmake_file=x-hp320g - tm_file=hp320g.h + xmake_file=m68k/x-hp320g + tmake_file=m68k/t-hp320g + tm_file=m68k/hp320g.h else - xmake_file=x-hp320 - tm_file=hp320.h + xmake_file=m68k/x-hp320 + tm_file=m68k/hp320.h fi broken_install=yes + install_headers_dir=install-headers-cpio use_collect2=yes header_files=math-68881.h ;; m68k-hp-bsd*) # HP 9000/3xx running Berkeley Unix - tm_file=hp3bsd.h + tm_file=m68k/hp3bsd.h + use_collect2=yes + header_files=math-68881.h + ;; + m68k-hp-bsd4.4) # HP 9000/3xx running 4.4bsd + tm_file=m68k/hp3bsd44.h + xmake_file=m68k/x-hp3bsd44 use_collect2=yes header_files=math-68881.h ;; m68k-isi-bsd*) if [ x$nfp = xyes ] then - tm_file=isi-nfp.h + tm_file=m68k/isi-nfp.h + else + tm_file=m68k/isi.h + fi + use_collect2=yes + header_files=math-68881.h + ;; + m68k-sony-newsos3*) + if [ x$gas = xyes ] + then + tm_file=m68k/news3gas.h else - tm_file=isi.h + tm_file=m68k/news3.h fi use_collect2=yes header_files=math-68881.h ;; - m68k-sony-bsd*) - xm_file=xm-m68k.h + m68k-sony-bsd* | m68k-sony-newsos*) if [ x$gas = xyes ] then - tm_file=newsgas.h + tm_file=m68k/newsgas.h else - tm_file=news.h + tm_file=m68k/news.h fi use_collect2=yes header_files=math-68881.h @@ -478,8 +694,8 @@ for machine in $host $target; do m68k-altos-sysv*) # Altos 3068 if [ x$gas = xyes ] then - xm_file=xm-altos3068.h - tm_file=altos3068.h + 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 @@ -487,343 +703,660 @@ for machine in $host $target; do header_files=math-68881.h ;; m68k-motorola-sysv*) - tm_file=mot3300.h - xm_file=xm-mot3300.h + tm_file=m68k/mot3300.h + xm_file=m68k/xm-mot3300.h + xmake_file=m68k/x-alloca-c + use_collect2=yes header_files=math-68881.h ;; m68k-crds-unos*) - xm_file=xm-crds.h - xmake_file=x-crds - tm_file=crds.h + xm_file=m68k/xm-crds.h + xmake_file=m68k/x-crds + tm_file=m68k/crds.h broken_install=yes use_collect2=yes header_files=math-68881.h ;; m68k-apollo-*) - xmake_file=x-apollo68 - tm_file=apollo68.h + xmake_file=m68k/x-apollo68 + tm_file=m68k/apollo68.h + use_collect2=yes + header_files=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 ;; m68k-ncr-sysv*) # NCR Tower 32 SVR3 - tm_file=tower-as.h - xm_file=xm-tower.h - xmake_file=x-tower + tm_file=m68k/tower-as.h + xm_file=m68k/xm-tower.h + xmake_file=m68k/x-tower tmake_file=t-svr3 header_files=math-68881.h ;; m68k-*-sysv3*) # Motorola m68k's running system V.3 - tm_file=m68k.h - xm_file=xm-m68kv.h - xmake_file=x-m68kv + xm_file=m68k/xm-m68kv.h + xmake_file=m68k/x-m68kv tmake_file=t-svr3 header_files=math-68881.h ;; m68000-sun-sunos3*) cpu_type=m68k - tm_file=sun2.h + tm_file=m68k/sun2.h use_collect2=yes header_files=math-68881.h ;; m68000-sun-sunos4*) cpu_type=m68k - tm_file=sun2o4.h + tm_file=m68k/sun2o4.h use_collect2=yes header_files=math-68881.h ;; m68000-hp-hpux*) # HP 9000 series 300 cpu_type=m68k - xm_file=xm-hp320.h + xm_file=m68k/xm-hp320.h if [ x$gas = xyes ] then - xmake_file=x-hp320g - tm_file=hp310g.h + xmake_file=m68k/x-hp320g + tm_file=m68k/hp310g.h else - xmake_file=x-hp320 - tm_file=hp310.h + xmake_file=m68k/x-hp320 + tm_file=m68k/hp310.h fi broken_install=yes + install_headers_dir=install-headers-cpio use_collect2=yes header_files=math-68881.h ;; m68000-hp-bsd*) # HP 9000/200 running BSD cpu_type=m68k - tm_file=hp2bsd.h - xmake_file=x-hp2bsd + tm_file=m68k/hp2bsd.h + xmake_file=m68k/x-hp2bsd use_collect2=yes header_files=math-68881.h ;; m68000-att-sysv*) cpu_type=m68k - xm_file=xm-3b1.h + xm_file=m68k/xm-3b1.h if [ x$gas = xyes ] then - tm_file=3b1g.h + tm_file=m68k/3b1g.h else - tm_file=3b1.h + tm_file=m68k/3b1.h fi use_collect2=yes header_files=math-68881.h ;; m68000-convergent-sysv*) cpu_type=m68k - xm_file=xm-3b1.h - tm_file=ctix.h + xm_file=m68k/xm-3b1.h + tm_file=m68k/ctix.h use_collect2=yes header_files=math-68881.h ;; - ns32k-encore-osf*) # Encore with OSF/rose - tm_file=encrose.h - xmake_file=x-encrose - tmake_file=t-encrose - use_collect2=yes - ;; ns32k-sequent-bsd*) - tm_file=sequent.h + tm_file=ns32k/sequent.h use_collect2=yes ;; ns32k-encore-bsd*) - tm_file=encore.h + tm_file=ns32k/encore.h use_collect2=yes ;; # This has not been updated to GCC 2. # ns32k-ns-genix*) -# xm_file=xm-genix.h -# xmake_file=x-genix -# tm_file=genix.h +# 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 + ;; + 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 ;; ns32k-pc532-mach*) - tm_file=pc532-mach.h + tm_file=ns32k/pc532-mach.h use_collect2=yes ;; ns32k-pc532-minix*) - tm_file=pc532-min.h - xm_file=xm-pc532-min.h + tm_file=ns32k/pc532-min.h + xm_file=ns32k/xm-pc532-min.h use_collect2=yes ;; m88k-*-luna*) - tm_file=m88kluna.h - tmake_file=t-m88kluna + tm_file=m88k/luna.h + if [ x$gas = xyes ] + then + tmake_file=m88k/t-luna-gas + else + tmake_file=m88k/t-luna + fi ;; m88k-dg-dgux*) - tm_file=m88kdgux.h - xmake_file=x-m88kdgux + tm_file=m88k/dgux.h + xmake_file=m88k/x-dgux + broken_install=yes + if [ x$gas = xyes ] + then + tmake_file=m88k/t-dgux-gas + else + tmake_file=m88k/t-dgux + fi ;; m88k-*-sysv4*) - tm_file=m88kv4.h - xmake_file=x-m88kv4 - tmake_file=t-m88kv4 + tm_file=m88k/sysv4.h + xmake_file=m88k/x-sysv4 + tmake_file=m88k/t-sysv4 ;; m88k-dolphin-sysv3*) - tm_file=m88kdolph.h - xm_file=xm-m88kv3.h - xmake_file=x-m88kdolph + tm_file=m88k/dolph.h + xm_file=m88k/xm-sysv3.h + xmake_file=m88k/x-dolph + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi ;; + + m88k-tektronix-sysv3) + tm_file=m88k/tekXD88.h + xm_file=m88k/xm-sysv3.h + xmake_file=m88k/x-tekXD88 + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi + ;; + m88k-*-sysv3*) - tm_file=m88kv3.h - xm_file=xm-m88kv3.h - xmake_file=x-m88kv3 + tm_file=m88k/sysv3.h + xm_file=m88k/xm-sysv3.h + if [ x$gas = xyes ] + then + tmake_file=m88k/t-m88k-gas + fi ;; # 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 ;; c1-convex-*) # Convex C1 - tm_file=convex1.h cpu_type=convex + tm_file=convex/convex1.h use_collect2=yes ;; c2-convex-*) # Convex C2 - tm_file=convex2.h cpu_type=convex + tm_file=convex/convex2.h use_collect2=yes ;; c32-convex-*) - tm_file=convex32.h # Convex C32xx cpu_type=convex + tm_file=convex/convex32.h # Convex C32xx use_collect2=yes ;; c34-convex-*) - tm_file=convex34.h # Convex C34xx cpu_type=convex + tm_file=convex/convex34.h # Convex C34xx use_collect2=yes ;; c38-convex-*) - tm_file=convex38.h # Convex C38xx cpu_type=convex + tm_file=convex/convex38.h # Convex C38xx 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 + tmake_file=mips/t-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; mips-sgi-irix4*) # Mostly like a MIPS. - tm_file=iris4.h - xm_file=xm-irix4.h + 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=x-iris - use_collect2=yes + xmake_file=mips/x-iris + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; mips-sgi-*) # Mostly like a MIPS. - tm_file=iris.h - xm_file=xm-iris.h + 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=x-iris - use_collect2=yes + xmake_file=mips/x-iris + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - mips-dec-ultrix*) # Decstation. - tm_file=decstatn.h - tmake_file=t-decstatn - xmake_file=x-decstatn - use_collect2=yes + mips-*-ultrix*) # 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 + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose. - tm_file=decrose.h - xmake_file=x-decrose - tmake_file=t-decrose + tm_file=mips/osfrose.h + xmake_file=mips/x-osfrose + tmake_file=mips/t-osfrose use_collect2=yes ;; mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL - tm_file=dec-osf1.h - xmake_file=x-mips - tmake_file=t-decstatn - use_collect2=yes + 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 + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - mips-sony-bsd*) # Sony NEWS 3600 or risc/news. - tm_file=mips-news.h - xm_file=xm-mipsbsdn.h - use_collect2=yes + 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 + 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. - tm_file=mips-n5.h - xm_file=xm-mipsnews.h - use_collect2=yes + 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 + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - mips-*-bsd*) # BSD 4.3 variant of MIPS system. - tm_file=mips-bsd.h - use_collect2=yes + mips-*-riscos[56789]bsd* | 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-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + fixincludes=fixinc.mips ;; - mips-*-sysv4*) # MIPS System V.4. - tm_file=mips-svr4.h - xm_file=xm-umips.h - xmake_file=x-mipsv - use_collect2=yes + mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd* \ + | mips-*-riscos-bsd* | 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-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; + mips-*-riscos[56789]sysv4* | 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-sysv.h + xmake_file=mips/x-sysv + if [ x$gas = xyes ] + then + tmake_file=mips/t-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + fixincludes=fixinc.mips ;; - mips-*-sysv*) # MIPS System V. - tm_file=mips-sysv.h - xm_file=xm-umips.h - xmake_file=x-mipsv - use_collect2=yes + mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4* \ + | mips-*-riscos[1234]-sysv4* | mips-*-riscos-sysv4*) + 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-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; - mips-mips-*) # Default MIPS environment. - tm_file=mips.h - use_collect2=yes + mips-*-riscos[56789]sysv* | mips-*-riscos[56788]-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-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + fixincludes=fixinc.mips + ;; + 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-mips-gas + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + ;; + 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 + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi + fixincludes=fixinc.mips + ;; + 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 + fi + if [ x$gnu_ld != xyes ] + then + use_collect2=yes + fi ;; pyramid-*-*) cpu_type=pyr - tm_file=pyr.h + xmake_file=pyr/x-pyr use_collect2=yes ;; # This hasn't been upgraded to GCC 2. # 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 + tm_file=a29k/unix.h + xm_file=a29k/xm-unix.h + xmake_file=a29k/x-unix use_collect2=yes ;; a29k-*-*) # Default a29k environment. use_collect2=yes ;; romp-*-aos*) - xm_file=xm-romp.h - tm_file=romp.h use_collect2=yes ;; romp-*-mach*) - xm_file=xm-romp.h - tm_file=romp.h - xmake_file=x-romp-mach + xmake_file=romp/x-mach use_collect2=yes ;; rs6000-*-mach*) - xm_file=xm-rs6k-m.h - tm_file=rs6000-mach.h - xmake_file=x-rs6k-mach + xm_file=rs6000/xm-mach.h + tm_file=rs6000/mach.h + xmake_file=rs6000/x-mach + use_collect2=yes + ;; + rs6000-ibm-aix3.[01]*) use_collect2=yes ;; - rs6000-*) - xm_file=xm-rs6000.h - tm_file=rs6000.h + rs6000-ibm-aix*) + tm_file=rs6000/aix32.h use_collect2=yes ;; + hppa1.1-*-mach*) + cpu_type=pa + tm_file=pa/pa1-utahmach.h + use_collect2=no + ;; + hppa1.0-*-mach*) + cpu_type=pa + tm_file=pa/pa-utahmach.h + use_collect2=no + ;; hppa1.1-*-bsd*) cpu_type=pa - xm_file=xm-pa.h - tm_file=pa1.h + tm_file=pa/pa1.h use_collect2=yes ;; hppa1.0-*-bsd*) cpu_type=pa - xm_file=xm-pa.h - tm_file=pa.h + use_collect2=yes + ;; + hppa1.0-*-hpux7*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=t-libc-ok + 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.1-*-hpux8.02*) + cpu_type=pa + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=t-libc-ok + if [ x$gas = xyes ] + then + echo "GAS accepts new syntax only." + exit 1 + else + tm_file=pa/pa1-oldas.h + fi + broken_install=yes + install_headers_dir=install-headers-cpio use_collect2=yes ;; hppa1.1-*-hpux*) cpu_type=pa - xm_file=xm-pa.h - xmake_file=x-pa-hpux + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=t-libc-ok if [ x$gas = xyes ] then - tm_file=pa1-ghpux.h + tm_file=pa/pa1-ghpux.h else - tm_file=pa1-hpux.h + 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=xm-pa.h - xmake_file=x-pa-hpux + xm_file=pa/xm-pahpux.h + xmake_file=pa/x-pa-hpux + tmake_file=t-libc-ok if [ x$gas = xyes ] then - tm_file=pa-ghpux.h + tm_file=pa/pa-ghpux.h else - tm_file=pa-hpux.h + tm_file=pa/pa-hpux.h fi broken_install=yes + install_headers_dir=install-headers-cpio use_collect2=yes ;; we32k-att-sysv*) cpu_type=we32k use_collect2=yes ;; + h8300-*-*) + cpu_type=h8300 + ;; + sh-*-*) + cpu_type=sh + ;; + alpha-*-osf*) + broken_install=yes + use_collect2=yes + ;; i960-*-*) # Default i960 environment. use_collect2=yes ;; + clipper-intergraph-clix*) + broken_install=yes + cpu_type=clipper + xm_file=clipper/xm-clix.h + tm_file=clipper/clix.h + tmake_file=clipper/t-clix + xmake_file=clipper/x-clix + install_headers_dir=install-headers-cpio + ;; *) - echo "Configuration $machine not recognized" 1>&2 + echo "Configuration $machine not supported" 1>&2 exit 1 ;; esac case $machine in *-*-sysv4*) + fixincludes=fixinc.svr4 xmake_try_sysv=x-sysv + broken_install=yes + install_headers_dir=install-headers-cpio ;; *-*-sysv*) broken_install=yes + install_headers_dir=install-headers-cpio + ;; + esac + + # Distinguish i386 from i486. + # Also, do not run mips-tfile on MIPS if using gas. + case $machine in + i486-*-*) + target_cpu_default=2 + ;; + mips-*-*) + if [ x$gas = xyes ] + then + target_cpu_default=16 + fi ;; esac @@ -839,45 +1372,56 @@ 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_broken_install=$broken_install 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 + pass2done=yes + fi fi done # Default the target-machine variables that were not explicitly set. if [ x$tm_file = x ] -then tm_file=$cpu_type.h; fi +then tm_file=$cpu_type/$cpu_type.h; fi if [ x$header_files = x ] then header_files=; 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 - # 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 $md_file $out_file $xm_file $build_xm_file" +links="config.h tm.h md aux-output.c tconfig.h hconfig.h" # Make the links. while [ -n "$files" ] @@ -933,7 +1477,7 @@ esac if [ -f ${srcdir}/config/${host_xmake_file} ] then rm -f Makefile.xx - sed -e "/####/ r ${srcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx + sed -e "/####host/ r ${srcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx echo "Merged ${host_xmake_file}." rm -f Makefile.tem mv Makefile.xx Makefile.tem @@ -950,7 +1494,8 @@ if [ x$host_broken_install = x ] then true else rm -f Makefile.xx - sed 's|^INSTALL = .*|INSTALL = $(srcdir)/install.sh -c|' Makefile.tem > 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 @@ -979,11 +1524,23 @@ else 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 + (echo "MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFAULT=$target_cpu_default")\ + | cat - Makefile.tem > Makefile.xx + rm -f Makefile.tem + mv Makefile.xx Makefile.tem +fi + # Conditionalize the makefile for this target machine. if [ -f ${srcdir}/config/${tmake_file} ] then rm -f Makefile.xx - sed -e "/####/ r ${srcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx + sed -e "/####target/ r ${srcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx echo "Merged ${tmake_file}." rm -f Makefile.tem mv Makefile.xx Makefile.tem @@ -994,14 +1551,24 @@ else tmake_file=../Makefile.in fi +# Get the version number. +version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${srcdir}/version.c` + # 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. +# 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. 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}|" \ + -e "s|^version=.*$|version=${version}|" \ + -e "s|^prefix[ ]*=.*|prefix = $prefix|" \ + -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 mv Makefile.xx Makefile.tem @@ -1012,11 +1579,20 @@ mv Makefile.xx Makefile.tem if [ x$host = x$target ] then rm -f Makefile - mv Makefile.tem Makefile + if [ x$host = x$build ] + then + mv Makefile.tem Makefile + else +# When build gcc with cross-compiler, we need to fix a +# few things. + echo "build= $build" > Makefile + sed -e "/####build/ r ${srcdir}/build-make" Makefile.tem >> Makefile + rm -f Makefile.tem Makefile.xx + fi else rm -f Makefile echo "CROSS=-DCROSS_COMPILE" > Makefile - sed -e "/####/ r ${srcdir}/cross-make" Makefile.tem >> Makefile + sed -e "/####cross/ r ${srcdir}/cross-make" Makefile.tem >> Makefile rm -f Makefile.tem Makefile.xx fi @@ -1024,7 +1600,7 @@ echo "Created \`Makefile'." if [ xx${vint} != xx ] then - vintmsg =" (vint)" + vintmsg=" (vint)" fi # Describe the chosen configuration in config.status. @@ -1032,13 +1608,14 @@ fi echo "#!/bin/sh # GCC was configured as follows: ${srcdir}/configure" $arguments > config.status +echo echo host=$canon_host target=$canon_target build=$canon_build >> config.status chmod a+x config.status -if [ x$host = x$target ] +if [ x$canon_host = x$canon_target ] then - echo "Links are now set up for target $target." + echo "Links are now set up for target $canon_target." else - echo "Links are now set up for host $host and target $target." + echo "Links are now set up for host $canon_host and target $canon_target." fi exit 0