# a failure to support a valid configuration from a meaningless
# configuration.
-# Separate what the user gave into CPU:company and OS (if any).
+# Separate what the user gave into CPU-company and OS (if any).
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/[^-]*-/-/'`
+then os=`echo $1 | sed 's/^.*-/-/'`
else os=; fi
-# Decode aliases for certain machine:company combinations.
+# Decode aliases for certain machine-company combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
| rtpc | rs6000 | i960 | none)
;;
# Recognize the basic CPU types with company name.
- vax:* | tahoe:* | i386:* | i860:* | m68k:* | m68000:* | m88k:* \
- | sparc:* | ns32k:* | alliant:* | arm:* | c1:* | c2:* \
- | mips:* | pyramid:* | tron:* | a29k:* | rtpc:* \
- | rs6000:* | i960:*)
+ vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \
+ | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \
+ | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \
+ | rs6000-* | i960-*)
;;
# Recognize the machine names
# which stand for a CPU time and a company.
nindy960)
- basic_machine=i960:intel
+ basic_machine=i960-intel
os=-nindy
;;
vxworks68)
- basic_machine=m68k:wrs
+ basic_machine=m68k-wrs
os=-vxworks
;;
vxworks960)
- basic_machine=i960:wrs
+ basic_machine=i960-wrs
os=-vxworks
;;
am29k)
- basic_machine=a29k:unknown
+ basic_machine=a29k-unknown
os=-bsd
;;
umax)
- basic_machine=ns32k:umax
+ basic_machine=ns32k-umax
os=-sysv # maybe?
;;
pn)
- basic_machine=pn:gould
+ basic_machine=pn-gould
os=-sysv # maybe?
;;
np1)
- basic_machine=np1:gould
+ basic_machine=np1-gould
os=-sysv # maybe?
;;
merlin)
- basic_machine=merlin:utek
+ basic_machine=merlin-utek
os=-sysv # maybe?
;;
iris | iris4d)
- basic_machine=mips:sgi
+ basic_machine=mips-sgi
os=-sysv # maybe?
;;
news1000)
- basic_machine=m68030:sony
+ basic_machine=m68030-sony
os=-sysv # maybe?
;;
news | news700 | news800 | news900)
- basic_machine=m68k:sony
+ basic_machine=m68k-sony
os=-sysv # maybe?
;;
- unixpc | safari | pc7300 | 3b1 | 7300 | 7300:att | att-7300)
- basic_machine=m68k:att
+ unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300)
+ basic_machine=m68k-att
os=-sysv # maybe?
;;
delta | 3300 | motorola-3300 | motorola-delta \
- | 3300:motorola | delta:motorola)
- basic_machine=m68k:motorola
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
os=-sysv # maybe?
;;
- vax:dec)
+ vax-dec)
basic_machine=vax
os=-ultrix # maybe?
;;
balance)
- basic_machine=ns32k:sequent
+ basic_machine=ns32k-sequent
os=-dynix
;;
mmax)
- basic_machine=ns32k:encore
+ basic_machine=ns32k-encore
os=-sysv # maybe?
;;
symmetry)
- basic_machine=i386:sequent
+ basic_machine=i386-sequent
os=-dynix
;;
sun2)
- basic_machine=m68000:sun
+ basic_machine=m68000-sun
os=-sunos4
;;
sun2os3)
- basic_machine=m68000:sun
+ basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
- basic_machine=m68000:sun
+ basic_machine=m68000-sun
os=-sunos4
;;
sun3)
- basic_machine=m68k:sun
+ basic_machine=m68k-sun
os=-sunos4
;;
sun3os3)
- basic_machine=m68k:sun
+ basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
- basic_machine=m68k:sun
+ basic_machine=m68k-sun
os=-sunos4
;;
sun4)
- basic_machine=sparc:sun
+ basic_machine=sparc-sun
os=-sunos4
;;
sun4os3)
- basic_machine=sparc:sun
+ basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
- basic_machine=sparc:sun
+ basic_machine=sparc-sun
os=-sunos4
;;
pbd)
- basic_machine=sparc:unicom
+ basic_machine=sparc-unicom
os=-sysv
;;
roadrunner | sun386 | sun386i)
- basic_machine=i386:sun
+ basic_machine=i386-sun
os=-sunos
;;
ps2)
- basic_machine=i386:ibm
+ basic_machine=i386-ibm
os=-sysv # maybe?
;;
i386sco)
- basic_machine=i386:sco
+ basic_machine=i386-sco
os=-sysv # maybe?
;;
i386v)
- basic_machine=i386:unknown
+ basic_machine=i386-unknown
os=-sysv
;;
i386v32)
- basic_machine=i386:unknown
+ basic_machine=i386-unknown
os=-sysv32
;;
next)
- basic_machine=m68k:next
+ basic_machine=m68k-next
os=-sysv # maybe?
;;
hp300bsd)
- basic_machine=m68k:hp
+ basic_machine=m68k-hp
os=-bsd
;;
hp300hpux | hpux | hp9k3[2-9][0-9])
- basic_machine=m68k:hp
+ basic_machine=m68k-hp
os=-hpux
;;
hp9k31[0-9] | hp9k2[0-9][0-9])
- basic_machine=m68000:hp
+ basic_machine=m68000-hp
os=-hpux
;;
isi | isi68)
- basic_machine=m68k:isi
+ basic_machine=m68k-isi
os=-sysv # maybe?
;;
apollo68)
- basic_machine=m68k:apollo
+ basic_machine=m68k-apollo
os=-sysv # maybe?
;;
altos | altos3068)
- basic_machine=m68k:altos
+ basic_machine=m68k-altos
os=-sysv # maybe?
;;
altosgas)
- basic_machine=m68k:altos
+ basic_machine=m68k-altos
os=-gas
;;
miniframe)
- basic_machine=m68000:convergent
+ basic_machine=m68000-convergent
os=-sysv # maybe?
;;
tower | tower-32)
- basic_machine=m68k:ncr
+ basic_machine=m68k-ncr
os=-sysv # maybe?
;;
bigmips | news-3600 | risc-news)
- basic_machine=mips:sony
+ basic_machine=mips-sony
os=-newsos # maybe?
;;
littlemips)
- basic_machine=mips:little
+ basic_machine=mips-little
os=-bsd
;;
dec3100 | decstatn | decstation | decstation-3100 | pmax)
- basic_machine=mips:dec
+ basic_machine=mips-dec
os=-ultrix
;;
magnum | m3230)
- basic_machine=mips:mips
+ basic_machine=mips-mips
os=-sysv # maybe?
;;
gmicro)
os=-sysv # maybe?
;;
convex-c1)
- basic_machine=c1:convex
+ basic_machine=c1-convex
os=-sysv # maybe?
;;
convex-c2)
- basic_machine=c2:convex
+ basic_machine=c2-convex
os=-sysv # maybe?
;;
*)
;;
esac
-cpu=`echo $basic_machine | sed 's/:.*$//'`
-vendor=`echo $basic_machine | sed 's/^.*://'`
-
-echo ${cpu}-${vendor}${os}
+echo ${basic_machine}${os}
--- /dev/null
+#!/bin/sh
+
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# Separate what the user gave into CPU-company and OS (if any).
+basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+if [ $basic_machine != $1 ]
+then os=`echo $1 | sed 's/^.*-/-/'`
+else os=; fi
+
+# Decode aliases for certain machine-company combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
+ | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
+ | rtpc | rs6000 | i960 | none)
+ ;;
+ # Recognize the basic CPU types with company name.
+ vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \
+ | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \
+ | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \
+ | rs6000-* | i960-*)
+ ;;
+ # Recognize the machine names
+ # which stand for a CPU time and a company.
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ am29k)
+ basic_machine=a29k-unknown
+ os=-bsd
+ ;;
+ umax)
+ basic_machine=ns32k-umax
+ os=-sysv # maybe?
+ ;;
+ pn)
+ basic_machine=pn-gould
+ os=-sysv # maybe?
+ ;;
+ np1)
+ basic_machine=np1-gould
+ os=-sysv # maybe?
+ ;;
+ merlin)
+ basic_machine=merlin-utek
+ os=-sysv # maybe?
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ os=-sysv # maybe?
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-sysv # maybe?
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-sysv # maybe?
+ ;;
+ unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300)
+ basic_machine=m68k-att
+ os=-sysv # maybe?
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ os=-sysv # maybe?
+ ;;
+ vax-dec)
+ basic_machine=vax
+ os=-ultrix # maybe?
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ mmax)
+ basic_machine=ns32k-encore
+ os=-sysv # maybe?
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ pbd)
+ basic_machine=sparc-unicom
+ os=-sysv
+ ;;
+ roadrunner | sun386 | sun386i)
+ basic_machine=i386-sun
+ os=-sunos
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ os=-sysv # maybe?
+ ;;
+ i386sco)
+ basic_machine=i386-sco
+ os=-sysv # maybe?
+ ;;
+ i386v)
+ basic_machine=i386-unknown
+ os=-sysv
+ ;;
+ i386v32)
+ basic_machine=i386-unknown
+ os=-sysv32
+ ;;
+ next)
+ basic_machine=m68k-next
+ os=-sysv # maybe?
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux | hpux | hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp9k31[0-9] | hp9k2[0-9][0-9])
+ basic_machine=m68000-hp
+ os=-hpux
+ ;;
+ isi | isi68)
+ basic_machine=m68k-isi
+ os=-sysv # maybe?
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv # maybe?
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ os=-sysv # maybe?
+ ;;
+ altosgas)
+ basic_machine=m68k-altos
+ os=-gas
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ os=-sysv # maybe?
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ os=-sysv # maybe?
+ ;;
+ bigmips | news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos # maybe?
+ ;;
+ littlemips)
+ basic_machine=mips-little
+ os=-bsd
+ ;;
+ dec3100 | decstatn | decstation | decstation-3100 | pmax)
+ basic_machine=mips-dec
+ os=-ultrix
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv # maybe?
+ ;;
+ gmicro)
+ basic_machine=tron
+ os=-sysv # maybe?
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-sysv # maybe?
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-sysv # maybe?
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+case $os in
+ # First accept the basic system types.
+ # The portable systems comes first.
+ -bsd* | -sysv* | -mach* \
+ | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
+ | -unos* | -osf* | -v88r* | -aout | -coff | -bout \
+ | -nindy | -vxworks)
+ ;;
+ -newsos*)
+ os=-bsd
+ ;;
+ -ultrix*)
+ os=-bsd
+ ;;
+ -osfrose*)
+ os=-osf
+ ;;
+ -osf*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -ctix*)
+ os=-sysv
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $1 | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+echo ${basic_machine}${os}
# per-host:
-if [ ! -f xconfig/${host} ]; then
- echo "No such host ${host}"
+# map host info into gdb names.
+
+case "${host_cpu}" in
+
+m68k)
+ case "${host_vendor}" in
+ att) gdb_host=3b1 ;;
+ altos)
+ case "${host_os}" in
+ gas) gdb_host=altosgas ;;
+ *) gdb_host=altos ;;
+ esac
+ ;;
+ hp)
+ case ${host_os} in
+ hpux) gdb_host=hp300hpux ;;
+ bsd) gdb_host=hp300bsd ;;
+ esac
+ ;;
+
+ isi) gdb_host=isi ;;
+ sony) gdb_host=news ;;
+ sun)
+ case "${host_os}" in
+ sunos3) gdb_host=sun3os3 ;;
+ sunos4) gdb_host=sun3os4 ;;
+ *) gdb_host=sun3 ;;
+ esac
+ ;;
+ esac
+ ;;
+
+m68000)
+ case "${host_vendor}" in
+ sun)
+ case "${host_os}" in
+ sunos3) gdb_host=sun2os3 ;;
+ sunos4) gdb_host=sun2os4 ;;
+ *) gdb_host=sun2 ;;
+ esac
+ esac
+ ;;
+
+sparc)
+ case "${host_os}" in
+ sunos3) gdb_host=sun4os3 ;;
+ sunos4) gdb_host=sun4os4 ;;
+ *) gdb_host=sun4 ;;
+ esac
+ ;;
+
+m68030)
+ case "${host_vendor}" in
+ sony) gdb_host=news1000 ;;
+ esac
+ ;;
+
+mips)
+ case "${host_vendor}" in
+ sony) gdb_host=bigmips ;;
+ dec) gdb_host=dec3100 ;;
+ little) gdb_host=littlemips ;;
+ esac
+ ;;
+
+i386)
+ case "${host_vendor}" in
+ sun) gdb_host=sun386 ;;
+ sco) gdb_host=i386sco ;;
+ sequent) gdb_host=symmetry ;;
+ *)
+ case "${host_os}" in
+ sysv) gdb_host=i386v ;;
+ sysv32) gdb_host=i386v32 ;;
+ esac
+ ;;
+ esac
+ ;;
+
+c1 | c2) gdb_host=convex ;;
+
+ns32k)
+ case "${host_vendor}" in
+ umax) gdb_host=umax ;;
+ esac
+ ;;
+
+arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe) gdb_host=${host_cpu} ;;
+
+### unhandled hosts
+#altosgas
+#i386v-g
+#i386v32-g
+
+esac
+
+if [ ! -f xconfig/${gdb_host} ]; then
+ echo '***' "Gdb does not support host ${host}" 1>&2
exit 1
fi
# We really shouldn't depend on there being a space after XM_FILE= ...
-hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/$host`
+hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
# per-target:
-if [ ! -f tconfig/${target} ]; then
- echo "No such target ${target}"
+case "${target_cpu}" in
+
+m68k)
+ case "${target_vendor}" in
+ att) gdb_target=3b1 ;;
+ altos) gdb_target=altos ;;
+ hp)
+ case "${target_os}" in
+ bsd) gdb_target=hp300bsd ;;
+ hpux) gdb_target=hp300hpux ;;
+ esac
+ ;;
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun3os3 ;;
+ sunos4) gdb_target=sun3os4 ;;
+ *) gdb_target=sun3 ;;
+ esac
+ ;;
+ wrs) gdb_target=vxworks68 ;;
+ isi) gdb_target=isi ;;
+ sony) gdb_target=news ;;
+ esac
+ ;;
+
+m68000)
+ case "${target_vendor}" in
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun2os3 ;;
+ sunos4) gdb_target=sun2os4 ;;
+ *) gdb_target=sun2 ;;
+ esac
+ esac
+ ;;
+
+m68030)
+ case "${target_vendor}" in
+ sony) gdb_target=news1000 ;;
+ esac
+ ;;
+
+none | np1 | pn | np1 | pn | pyramid | merlin | i960 | m88k | a29k)
+ gdb_target=${target_cpu} ;;
+
+arm) gdb_target=${target_cpu} ;;
+
+mips)
+ case "${target_vendor}" in
+ sony) gdb_target=bigmips ;;
+ dec) gdb_target=dec3100 ;;
+ little) gdb_target=littlemips ;;
+ esac
+ ;;
+
+c1 | c2) gdb_target=convex ;;
+
+i386)
+ case "${target_vendor}" in
+ sco) gdb_target=i386sco ;;
+ sun) gdb_target=sun386 ;;
+ esac
+ ;;
+
+sparc)
+ case "${target_vendor}" in
+ sun)
+ case "${target_os}" in
+ sunos3) gdb_target=sun4os3 ;;
+ sunos4) gdb_target=sun4os4 ;;
+ *) gdb_target=sun4 ;;
+ esac
+ ;;
+ esac
+ ;;
+
+
+i386)
+ case "${target_vendor}" in
+ sequent) gdb_target=symmetry ;;
+ *)
+ case "${target_os}" in
+ sysv) gdb_target=i386v ;;
+ sysv32) gdb_target=i386v32 ;;
+ esac
+ esac
+ ;;
+
+i960)
+ case "${target_vendor}" in
+ wrs) gdb_target=vxworks960 ;;
+ intel) gdb_target=nindy960 ;;
+ esac
+ ;;
+
+ns32k)
+ case "${target_vendor}" in
+ utek) gdb_target=umax ;;
+ esac
+ ;;
+
+### unhandled targets
+# altosgas
+# i386v-g
+# i386v32-g
+
+esac
+
+if [ ! -f tconfig/${gdb_target} ]; then
+ echo '***' "Gdb does not support target ${target}" 1>&2
exit 1
fi
if [ -z "${removing}" ] ; then
- cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" {
+ cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" {
print substr($0,6)}'
fi
# We really shouldn't depend on there being a space after TM_FILE= ...
-targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/$target`
+targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
-host_makefile_frag=xconfig/${host}
-target_makefile_frag=tconfig/${target}
+host_makefile_frag=xconfig/${gdb_host}
+target_makefile_frag=tconfig/${gdb_target}
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) is not set in the
# ?config/* file, we don't make the corresponding links. But we have