| [10] | 1 | #! /bin/sh
|
|---|
| 2 | # Attempt to guess a canonical system name.
|
|---|
| 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
|---|
| 4 | # Free Software Foundation, Inc.
|
|---|
| 5 |
|
|---|
| 6 | timestamp='2001-03-16'
|
|---|
| 7 |
|
|---|
| 8 | # This file is free software; you can redistribute it and/or modify it
|
|---|
| 9 | # under the terms of the GNU General Public License as published by
|
|---|
| 10 | # the Free Software Foundation; either version 2 of the License, or
|
|---|
| 11 | # (at your option) any later version.
|
|---|
| 12 | #
|
|---|
| 13 | # This program is distributed in the hope that it will be useful, but
|
|---|
| 14 | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
|---|
| 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|---|
| 16 | # General Public License for more details.
|
|---|
| 17 | #
|
|---|
| 18 | # You should have received a copy of the GNU General Public License
|
|---|
| 19 | # along with this program; if not, write to the Free Software
|
|---|
| 20 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|---|
| 21 | #
|
|---|
| 22 | # As a special exception to the GNU General Public License, if you
|
|---|
| 23 | # distribute this file as part of a program that contains a
|
|---|
| 24 | # configuration script generated by Autoconf, you may include it under
|
|---|
| 25 | # the same distribution terms that you use for the rest of that program.
|
|---|
| 26 |
|
|---|
| 27 | # Written by Per Bothner <[email protected]>.
|
|---|
| 28 | # Please send patches to <[email protected]>.
|
|---|
| 29 | #
|
|---|
| 30 | # This script attempts to guess a canonical system name similar to
|
|---|
| 31 | # config.sub. If it succeeds, it prints the system name on stdout, and
|
|---|
| 32 | # exits with 0. Otherwise, it exits with 1.
|
|---|
| 33 | #
|
|---|
| 34 | # The plan is that this can be called by configure scripts if you
|
|---|
| 35 | # don't specify an explicit build system type.
|
|---|
| 36 |
|
|---|
| 37 | me=`echo "$0" | sed -e 's,.*/,,'`
|
|---|
| 38 |
|
|---|
| 39 | usage="\
|
|---|
| 40 | Usage: $0 [OPTION]
|
|---|
| 41 |
|
|---|
| 42 | Output the configuration name of the system \`$me' is run on.
|
|---|
| 43 |
|
|---|
| 44 | Operation modes:
|
|---|
| 45 | -h, --help print this help, then exit
|
|---|
| 46 | -t, --time-stamp print date of last modification, then exit
|
|---|
| 47 | -v, --version print version number, then exit
|
|---|
| 48 |
|
|---|
| 49 | Report bugs and patches to <[email protected]>."
|
|---|
| 50 |
|
|---|
| 51 | version="\
|
|---|
| 52 | GNU config.guess ($timestamp)
|
|---|
| 53 |
|
|---|
| 54 | Originally written by Per Bothner.
|
|---|
| 55 | Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
|
|---|
| 56 | Free Software Foundation, Inc.
|
|---|
| 57 |
|
|---|
| 58 | This is free software; see the source for copying conditions. There is NO
|
|---|
| 59 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
|---|
| 60 |
|
|---|
| 61 | help="
|
|---|
| 62 | Try \`$me --help' for more information."
|
|---|
| 63 |
|
|---|
| 64 | # Parse command line
|
|---|
| 65 | while test $# -gt 0 ; do
|
|---|
| 66 | case $1 in
|
|---|
| 67 | --time-stamp | --time* | -t )
|
|---|
| 68 | echo "$timestamp" ; exit 0 ;;
|
|---|
| 69 | --version | -v )
|
|---|
| 70 | echo "$version" ; exit 0 ;;
|
|---|
| 71 | --help | --h* | -h )
|
|---|
| 72 | echo "$usage"; exit 0 ;;
|
|---|
| 73 | -- ) # Stop option processing
|
|---|
| 74 | shift; break ;;
|
|---|
| 75 | - ) # Use stdin as input.
|
|---|
| 76 | break ;;
|
|---|
| 77 | -* )
|
|---|
| 78 | echo "$me: invalid option $1$help" >&2
|
|---|
| 79 | exit 1 ;;
|
|---|
| 80 | * )
|
|---|
| 81 | break ;;
|
|---|
| 82 | esac
|
|---|
| 83 | done
|
|---|
| 84 |
|
|---|
| 85 | if test $# != 0; then
|
|---|
| 86 | echo "$me: too many arguments$help" >&2
|
|---|
| 87 | exit 1
|
|---|
| 88 | fi
|
|---|
| 89 |
|
|---|
| 90 |
|
|---|
| 91 | dummy=dummy-$$
|
|---|
| 92 | trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
|
|---|
| 93 |
|
|---|
| 94 | # CC_FOR_BUILD -- compiler used by this script.
|
|---|
| 95 | # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
|
|---|
| 96 | # use `HOST_CC' if defined, but it is deprecated.
|
|---|
| 97 |
|
|---|
| 98 | case $CC_FOR_BUILD,$HOST_CC,$CC in
|
|---|
| 99 | ,,) echo "int dummy(){}" > $dummy.c
|
|---|
| 100 | for c in cc gcc c89 ; do
|
|---|
| 101 | ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
|
|---|
| 102 | if test $? = 0 ; then
|
|---|
| 103 | CC_FOR_BUILD="$c"; break
|
|---|
| 104 | fi
|
|---|
| 105 | done
|
|---|
| 106 | rm -f $dummy.c $dummy.o $dummy.rel
|
|---|
| 107 | if test x"$CC_FOR_BUILD" = x ; then
|
|---|
| 108 | CC_FOR_BUILD=no_compiler_found
|
|---|
| 109 | fi
|
|---|
| 110 | ;;
|
|---|
| 111 | ,,*) CC_FOR_BUILD=$CC ;;
|
|---|
| 112 | ,*,*) CC_FOR_BUILD=$HOST_CC ;;
|
|---|
| 113 | esac
|
|---|
| 114 |
|
|---|
| 115 | # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
|---|
| 116 | # ([email protected] 8/24/94.)
|
|---|
| 117 | if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
|---|
| 118 | PATH=$PATH:/.attbin ; export PATH
|
|---|
| 119 | fi
|
|---|
| 120 |
|
|---|
| 121 | UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
|---|
| 122 | UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
|---|
| 123 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
|---|
| 124 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
|---|
| 125 |
|
|---|
| 126 | # Note: order is significant - the case branches are not exclusive.
|
|---|
| 127 |
|
|---|
| 128 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|---|
| 129 | *:NetBSD:*:*)
|
|---|
| 130 | # Netbsd (nbsd) targets should (where applicable) match one or
|
|---|
| 131 | # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
|
|---|
| 132 | # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
|
|---|
| 133 | # switched to ELF, *-*-netbsd* would select the old
|
|---|
| 134 | # object file format. This provides both forward
|
|---|
| 135 | # compatibility and a consistent mechanism for selecting the
|
|---|
| 136 | # object file format.
|
|---|
| 137 | # Determine the machine/vendor (is the vendor relevant).
|
|---|
| 138 | case "${UNAME_MACHINE}" in
|
|---|
| 139 | amiga) machine=m68k-unknown ;;
|
|---|
| 140 | arm32) machine=arm-unknown ;;
|
|---|
| 141 | atari*) machine=m68k-atari ;;
|
|---|
| 142 | sun3*) machine=m68k-sun ;;
|
|---|
| 143 | mac68k) machine=m68k-apple ;;
|
|---|
| 144 | macppc) machine=powerpc-apple ;;
|
|---|
| 145 | hp3[0-9][05]) machine=m68k-hp ;;
|
|---|
| 146 | ibmrt|romp-ibm) machine=romp-ibm ;;
|
|---|
| 147 | *) machine=${UNAME_MACHINE}-unknown ;;
|
|---|
| 148 | esac
|
|---|
| 149 | # The Operating System including object format, if it has switched
|
|---|
| 150 | # to ELF recently, or will in the future.
|
|---|
| 151 | case "${UNAME_MACHINE}" in
|
|---|
| 152 | i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
|
|---|
| 153 | if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
|---|
| 154 | | grep __ELF__ >/dev/null
|
|---|
| 155 | then
|
|---|
| 156 | # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
|---|
| 157 | # Return netbsd for either. FIX?
|
|---|
| 158 | os=netbsd
|
|---|
| 159 | else
|
|---|
| 160 | os=netbsdelf
|
|---|
| 161 | fi
|
|---|
| 162 | ;;
|
|---|
| 163 | *)
|
|---|
| 164 | os=netbsd
|
|---|
| 165 | ;;
|
|---|
| 166 | esac
|
|---|
| 167 | # The OS release
|
|---|
| 168 | release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
|---|
| 169 | # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
|---|
| 170 | # contains redundant information, the shorter form:
|
|---|
| 171 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
|---|
| 172 | echo "${machine}-${os}${release}"
|
|---|
| 173 | exit 0 ;;
|
|---|
| 174 | alpha:OSF1:*:*)
|
|---|
| 175 | if test $UNAME_RELEASE = "V4.0"; then
|
|---|
| 176 | UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
|---|
| 177 | fi
|
|---|
| 178 | # A Vn.n version is a released version.
|
|---|
| 179 | # A Tn.n version is a released field test version.
|
|---|
| 180 | # A Xn.n version is an unreleased experimental baselevel.
|
|---|
| 181 | # 1.2 uses "1.2" for uname -r.
|
|---|
| 182 | cat <<EOF >$dummy.s
|
|---|
| 183 | .data
|
|---|
| 184 | \$Lformat:
|
|---|
| 185 | .byte 37,100,45,37,120,10,0 # "%d-%x\n"
|
|---|
| |
|---|