- # 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
-
- # Separate what the user gave into CPU/company and OS (if any).
- basic_machine=`echo $machine | sed 's/-[^-]*$//'`
- if [ $basic_machine != $machine ]
- then os=`echo $machine | sed 's/[^-]*-/-/'`
- else os=; fi
-
- # Decode aliases for certain machine/company combinations.
- case $basic_machine in
- iris | iris4d)
- basic_machine=mips/sgi
- ;;
- news | news800)
- basic_machine=m68k/sony
- ;;
- 3b1 | 7300 | 7300/att | att-7300)
- basic_machine=m68k/att
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300/motorola | delta/motorola)
- basic_machine=m68k/motorola
- ;;
- vax/dec)
- basic_machine=vax
- ;;
- balance)
- basic_machine=ns32k/sequent
- ;;
- symmetry)
- basic_machine=i386/sequent
- ;;
- sun2)
- basic_machine=m68000/sun
- ;;
- sun3)
- basic_machine=m68k/sun
- ;;
- sun4)
- basic_machine=sparc/sun
- ;;
- sun386 | sun386i)
- basic_machine=i386/sun
- ;;
- ps2)
- basic_machine=i386/ibm
- ;;
- next)
- basic_machine=m68k/next
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k/hp
- ;;
- hp9k31[0-9] | hp9k2[0-9][0-9])
- basic_machine=m68000/hp
- ;;
- isi68)
- basic_machine=m68k/isi
- ;;
- apollo68)
- basic_machine=m68k/apollo
- ;;
- altos | altos3068)
- basic_machine=m68k/altos
- ;;
- miniframe)
- basic_machine=m68000/convergent
- ;;
- tower | tower-32)
- basic_machine=m68k/ncr
- ;;
- news-3600 | risc-news)
- basic_machine=mips/sony
- ;;
- decstation | decstation-3100 | pmax)
- basic_machine=mips/dec
- ;;
- gmicro)
- basic_machine=tron
- ;;
- convex-c1)
- basic_machine=c1/convex
- ;;
- convex-c2)
- basic_machine=c2/convex
- ;;
- esac
-
- # Decode manufacturer-specific aliases for certain operating systems.
-
- case $os in
- -newsos*)
- os=-bsd
- ;;
- -ultrix*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -ctix*)
- os=-sysv
- ;;
- esac
-
- machine=$basic_machine$os
-
- cpu_type=
- xm_file=
- tm_file=
- make_var_file=
-
- case $machine in
- vax | vax-bsd*) # vaxen running BSD
- ;;
- vax-vms | vms) # vaxen running VMS
- cpu_type=vax
- xm_file=xm-vms.h
- tm_file=tm-vms.h
- ;;
- vax-sysv* | vaxv) # vaxen running system V
- cpu_type=vax
- xm_file=xm-vaxv.h
- tm_file=tm-vaxv.h
- ;;
- tahoe | tahoe-bsd*) # tahoe running BSD
- ;;
- tahoe/harris*) # Harris tahoe, using COFF.
- cpu_type=tahoe
- ;;
- i386/sequent* | i386/sequent-bsd*) # 80386 from Sequent
- cpu_type=i386
- xm_file=xm-i386.h
- tm_file=tm-seq386.h
- ;;
- i386-mach | i386/*-mach)
- cpu_type=i386
- xm_file=xm-i386.h
- tm_file=tm-i386gas.h
- ;;
- i386/sco | i386/sco-sysv* | i386/*-sco) # 80386 running SCO system
- cpu_type=i386
- xm_file=xm-i386v.h
- tm_file=tm-i386sco.h
- make_var_file=make-i386sco
- ;;
- i386/isc | i386/isc-sysv* | i386/*-isc) # 80386 running ISC system
- cpu_type=i386
- xm_file=xm-i386v.h
- tm_file=tm-i386isc.h
- make_var_file=make-i386isc
- ;;
- i386/ibm | i386-aix | i386/ibm-aix) # IBM PS/2 running AIX
- cpu_type=i386
- tm_file=tm-i386v.h
- xm_file=xm-i386v.h
- make_var_file=make-i386v
- ;;
- i386/sun*)
- cpu_type=i386
- xm_file=xm-sun386i.h
- tm_file=tm-sun386i.h
- ;;
- i386-sysv4 | i386/*-sysv4 | i386v4) # Intel 80386's running system V.4
- cpu_type=i386
- xm_file=xm-i386v.h
- make_var_file=make-i386v
- tm_file=tm-i386v4.h
- ;;
- i386-sysv* | i386/*-sysv* | i386v) # Intel 80386's running system V
- cpu_type=i386
- xm_file=xm-i386v.h
- make_var_file=make-i386v
- if [ x$gas = xyes ]
- then
- tm_file=tm-i386gas.h
- else
- tm_file=tm-i386v.h
- fi
- ;;
- i860 | i860-sysv* | i860/*-sysv*)
- cpu_type=i860
- if [ x$gas = xyes ]
- then
- tm_file=tm-i860g.h
- else
- tm_file=tm-i860.h
- fi
- ;;
- i860-bsd* | i860/*-bsd*)
- cpu_type=i860
- if [ x$gas = xyes ]
- then
- tm_file=tm-i860bsdg.h
- else
- tm_file=tm-i860bsd.h
- fi
- ;;
- sparc | sparc/* | sparc-*os4 | sparc/*-*os4)
- cpu_type=sparc
- tm_file=tm-sparc.h
- ;;
- sparc-*os3 | sparc/*-*os3)
- cpu_type=sparc
- tm_file=tm-sun4os3.h
- ;;
- m68k/next)
- cpu_type=m68k
- tm_file=tm-next.h
- out_file=out-next.c
- xm_file=xm-next.h
- ;;
- m68k/sun-*os3)
- cpu_type=m68k
- if [ x$nfp = xyes ]
- then
- tm_file=tm-sun3os3nf.h
- else
- tm_file=tm-sun3os3.h
- fi
- ;;
- m68k/sun-mach)
- cpu_type=m68k
- tm_file=tm-sun3mach.h
- ;;
- m68k/sun | m68k/sun-*os4)
- cpu_type=m68k
- if [ x$nfp = xyes ]
- then
- tm_file=tm-sun3nfp.h
- else
- tm_file=tm-sun3.h
- fi
- ;;
- m68k/hp | m68k/hp-hpux*) # HP 9000 series 300
- cpu_type=m68k
- xm_file=xm-hp9k320.h
- if [ x$gas = xyes ]
- then
- make_var_file=make-hp9k320g
- tm_file=tm-hp9k320g.h
- else
- make_var_file=make-hp9k320
- tm_file=tm-hp9k320.h
- fi
- ;;
- m68k/hp-bsd*) # HP 9000/3xx running Berkeley Unix
- cpu_type=m68k
- tm_file=tm-hp9k3bsd.h
- ;;
- m68k/isi | m68k/isi-bsd*)
- cpu_type=m68k
- if [ x$nfp = xyes ]
- then
- tm_file=tm-isi68-nfp.h
- else
- tm_file=tm-isi68.h
- fi
- ;;
- m68k/sony | m68k/sony-bsd*)
- xm_file=xm-m68k.h
- cpu_type=m68k
- if [ x$gas = xyes ]
- then
- tm_file=tm-newsgas.h
- else
- tm_file=tm-news.h
- fi
- ;;
- m68k/altos | m68k/altos-sysv*) # Altos 3068
- cpu_type=m68k
- if [ x$gas = xyes ]
- then
- xm_file=xm-altos3068.h
- tm_file=tm-altos3068.h
- else
- echo "The Altos is supported only with the GNU assembler" 1>&2
- exit 1
- fi
- ;;
- m68k/motorola | m68k/motorola-sysv*)
- cpu_type=m68k
- tm_file=tm-mot3300.h
- xm_file=xm-mot3300.h
- ;;
- m68k/crds | m68k/crds-unos | m68k-unos | crds | unos)
- cpu_type=m68k
- xm_file=xm-crds.h
- make_var_file=make-crds
- tm_file=tm-crds.h
- ;;
- m68k/apollo)
- cpu_type=m68k
- make_var_file=make-apollo68
- tm_file=tm-apollo68.h
- ;;
- m68k/ncr | m68k/ncr-sysv*) # NCR Tower 32 SVR3
- cpu_type=m68k
- tm_file=tm-tower-as.h
- xm_file=xm-tower.h
- ;;
- m68000/sun | m68000/sun-*os3)
- cpu_type=m68k
- tm_file=tm-sun2.h
- ;;
- m68000/sun-*os4)
- cpu_type=m68k
- tm_file=tm-sun2os4.h
- ;;
- m68000/hp | m68000/hp-hpux*) # HP 9000 series 300
- cpu_type=m68k
- xm_file=xm-hp9k310.h
- if [ x$gas = xyes ]
- then
- make_var_file=make-hp9k320g
- tm_file=tm-hp9k310g.h
- else
- make_var_file=make-hp9k320
- tm_file=tm-hp9k310.h
- fi
- ;;
- m68000/hp-bsd*) # HP 9000/200 running BSD
- cpu_type=m68k
- tm_file=tm-hp9k2bsd.h
- make_var_file=make-hp9k2bsd
- ;;
- m68000/att | m68000/att-sysv*)
- cpu_type=m68k
- xm_file=xm-3b1.h
- if [ x$gas = xyes ]
- then
- tm_file=tm-3b1g.h
- else
- tm_file=tm-3b1.h
- fi
- ;;
- m68000/convergent | m68000/convergent-sysv*)
- cpu_type=m68k
- xm_file=xm-3b1.h
- tm_file=tm-ctix.h
- ;;
- ns32k/sequent | ns32k/sequent-bsd*)
- cpu_type=ns32k
- tm_file=tm-sequent.h
- ;;
- ns32k/encore | ns32k/encore-bsd* | encore | encore-bsd*)
- cpu_type=ns32k
- tm_file=tm-encore.h
- ;;
- ns32k-genix* | ns32k/*-genix* | genix)
- cpu_type=ns32k
- xm_file=xm-genix.h
- make_var_file=make-genix
- tm_file=tm-genix.h
- ;;
- merlin)
- cpu_type=ns32k
- ;;
- m88k/dg | m88k/dg-dgux* | m88k-dgux*)
- cpu_type=m88k
- xm_file=xm-m88kdgux.h
- make_var_file=make-m88kdgux
- tm_file=tm-m88kdgux.h
- ;;
- m88k-v88r32 | m88k/*-v88r32)
- cpu_type=m88k
- tm_file=tm-v88r32.h
- xm_file=xm-v88r32.h
- ;;
- m88k-sysv* | m88k/*-sysv*)
- cpu_type=m88k
- tm_file=tm-m88ksvr4.h
- xm_file=xm-m88ksvr4.h
- ;;
- alliant | alliant/alliant) # Alliant FX/8
- cpu_type=alliant
- tm_file=tm-alliant.h
- ;;
- c1/convex) # Convex C1
- if [ -r /usr/include/stdlib.h ]
- then
- tm_file=tm-convex1.h
- else
- tm_file=tm-conv1os7.h
- fi
- cpu_type=convex
- ;;
- c2/convex) # Convex C2
- if [ -r /usr/include/stdlib.h ]
- then
- tm_file=tm-convex2.h
- else
- tm_file=tm-conv2os7.h
- fi
- cpu_type=convex
- ;;
- mips/sgi | mips/sgi-sysv*) # Mostly like a MIPS.
- cpu_type=mips
- tm_file=tm-iris.h
- xm_file=xm-iris.h
- ;;
- mips | mips/mips) # Default MIPS environment.
- ;;
- mips/dec | mips/dec-bsd*) # Decstation.
- cpu_type=mips
- tm_file=tm-decstatn.h
- ;;
- mips/sony | mips/sony-bsd*) # Sony NEWS 3600 or risc/news.
- cpu_type=mips
- tm_file=tm-mips-news.h
- ;;
- mips/*-sysv* | mips-sysv*) # SYSV variant of MIPS system.
- cpu_type=mips
- tm_file=tm-mips-sysv.h
- ;;
- mips/*-bsd* | mips-bsd*) # BSD 4.3 variant of MIPS system.
- cpu_type=mips
- tm_file=tm-mips-bsd.h
- ;;
- pyramid | pyramid/* | pyramid-*)
- cpu_type=pyr
- tm_file=tm-pyr.h
- ;;
- tron | tron/*)
- cpu_type=gmicro
- tm_file=tm_gmicro.h
- ;;
- a29k-bsd* | a29k/*-bsd*)
- cpu_type=a29k
- tm_file=tm-a29kunix.h
- ;;
- i960) # Default i960 environment.
- ;;
- # 370)
- # ;;
- esac
- if [ x$pass1done = x ]
- then
- if [ x$cpu_type = x ]; then cpu_type=$host; fi
- if [ x$xm_file = x ]; then host_xm_file=xm-$cpu_type.h
- else host_xm_file=$xm_file
- fi
- if [ x$make_var_file = x ]
- then make_var_file=make-$cpu_type; fi
- host_make_var_file=$make_var_file
- pass1done=yes
- fi
- done
-
- # Default the machine-specific variables that were not explicitly set.
- if [ x$cpu_type = x ]
- then cpu_type=$target; fi
-
- if [ x$tm_file = x ]
- then tm_file=tm-$target.h; fi