Deleted Added
full compact
config.guess (249141) config.guess (276605)
1#! /bin/sh
2# Attempt to guess a canonical system name.
1#! /bin/sh
2# Attempt to guess a canonical system name.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5# 2011, 2012 Free Software Foundation, Inc.
3# Copyright 1992-2013 Free Software Foundation, Inc.
6
4
7timestamp='2012-06-10'
5timestamp='2013-06-10'
8
9# This file is free software; you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by
6
7# This file is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2 of the License, or
9# the Free Software Foundation; either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17# General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, see <http://www.gnu.org/licenses/>.
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
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful, but
13# WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15# General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, see <http://www.gnu.org/licenses/>.
19#
20# As a special exception to the GNU General Public License, if you
21# distribute this file as part of a program that contains a
22# 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
28# Originally written by Per Bothner. Please send patches (context
29# diff format) to <config-patches@gnu.org> and include a ChangeLog
30# entry.
23# the same distribution terms that you use for the rest of that
24# program. This Exception is an additional permission under section 7
25# of the GNU General Public License, version 3 ("GPLv3").
31#
26#
32# This script attempts to guess a canonical system name similar to
33# config.sub. If it succeeds, it prints the system name on stdout, and
34# exits with 0. Otherwise, it exits with 1.
27# Originally written by Per Bothner.
35#
36# You can get the latest version of this script from:
37# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
28#
29# You can get the latest version of this script from:
30# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
31#
32# Please send patches with a ChangeLog entry to config-patches@gnu.org.
38
33
34
39me=`echo "$0" | sed -e 's,.*/,,'`
40
41usage="\
42Usage: $0 [OPTION]
43
44Output the configuration name of the system \`$me' is run on.
45
46Operation modes:
47 -h, --help print this help, then exit
48 -t, --time-stamp print date of last modification, then exit
49 -v, --version print version number, then exit
50
51Report bugs and patches to <config-patches@gnu.org>."
52
53version="\
54GNU config.guess ($timestamp)
55
56Originally written by Per Bothner.
35me=`echo "$0" | sed -e 's,.*/,,'`
36
37usage="\
38Usage: $0 [OPTION]
39
40Output the configuration name of the system \`$me' is run on.
41
42Operation modes:
43 -h, --help print this help, then exit
44 -t, --time-stamp print date of last modification, then exit
45 -v, --version print version number, then exit
46
47Report bugs and patches to <config-patches@gnu.org>."
48
49version="\
50GNU config.guess ($timestamp)
51
52Originally written by Per Bothner.
57Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
582001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59Free Software Foundation, Inc.
53Copyright 1992-2013 Free Software Foundation, Inc.
60
61This is free software; see the source for copying conditions. There is NO
62warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
64help="
65Try \`$me --help' for more information."
66
67# Parse command line
68while test $# -gt 0 ; do
69 case $1 in
70 --time-stamp | --time* | -t )
71 echo "$timestamp" ; exit ;;
72 --version | -v )
73 echo "$version" ; exit ;;
74 --help | --h* | -h )
75 echo "$usage"; exit ;;
76 -- ) # Stop option processing
77 shift; break ;;
78 - ) # Use stdin as input.
79 break ;;
80 -* )
81 echo "$me: invalid option $1$help" >&2
82 exit 1 ;;
83 * )
84 break ;;
85 esac
86done
87
88if test $# != 0; then
89 echo "$me: too many arguments$help" >&2
90 exit 1
91fi
92
93trap 'exit 1' 1 2 15
94
95# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96# compiler to aid in system detection is discouraged as it requires
97# temporary files to be created and, as you can see below, it is a
98# headache to deal with in a portable fashion.
99
100# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101# use `HOST_CC' if defined, but it is deprecated.
102
103# Portable tmp directory creation inspired by the Autoconf team.
104
105set_cc_for_build='
106trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108: ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113dummy=$tmp/dummy ;
114tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115case $CC_FOR_BUILD,$HOST_CC,$CC in
116 ,,) echo "int x;" > $dummy.c ;
117 for c in cc gcc c89 c99 ; do
118 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119 CC_FOR_BUILD="$c"; break ;
120 fi ;
121 done ;
122 if test x"$CC_FOR_BUILD" = x ; then
123 CC_FOR_BUILD=no_compiler_found ;
124 fi
125 ;;
126 ,,*) CC_FOR_BUILD=$CC ;;
127 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128esac ; set_cc_for_build= ;'
129
130# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131# (ghazi@noc.rutgers.edu 1994-08-24)
132if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133 PATH=$PATH:/.attbin ; export PATH
134fi
135
136UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
139UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
54
55This is free software; see the source for copying conditions. There is NO
56warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57
58help="
59Try \`$me --help' for more information."
60
61# Parse command line
62while test $# -gt 0 ; do
63 case $1 in
64 --time-stamp | --time* | -t )
65 echo "$timestamp" ; exit ;;
66 --version | -v )
67 echo "$version" ; exit ;;
68 --help | --h* | -h )
69 echo "$usage"; exit ;;
70 -- ) # Stop option processing
71 shift; break ;;
72 - ) # Use stdin as input.
73 break ;;
74 -* )
75 echo "$me: invalid option $1$help" >&2
76 exit 1 ;;
77 * )
78 break ;;
79 esac
80done
81
82if test $# != 0; then
83 echo "$me: too many arguments$help" >&2
84 exit 1
85fi
86
87trap 'exit 1' 1 2 15
88
89# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90# compiler to aid in system detection is discouraged as it requires
91# temporary files to be created and, as you can see below, it is a
92# headache to deal with in a portable fashion.
93
94# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95# use `HOST_CC' if defined, but it is deprecated.
96
97# Portable tmp directory creation inspired by the Autoconf team.
98
99set_cc_for_build='
100trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102: ${TMPDIR=/tmp} ;
103 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107dummy=$tmp/dummy ;
108tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109case $CC_FOR_BUILD,$HOST_CC,$CC in
110 ,,) echo "int x;" > $dummy.c ;
111 for c in cc gcc c89 c99 ; do
112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113 CC_FOR_BUILD="$c"; break ;
114 fi ;
115 done ;
116 if test x"$CC_FOR_BUILD" = x ; then
117 CC_FOR_BUILD=no_compiler_found ;
118 fi
119 ;;
120 ,,*) CC_FOR_BUILD=$CC ;;
121 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
122esac ; set_cc_for_build= ;'
123
124# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125# (ghazi@noc.rutgers.edu 1994-08-24)
126if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127 PATH=$PATH:/.attbin ; export PATH
128fi
129
130UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134
135case "${UNAME_SYSTEM}" in
136Linux|GNU|GNU/*)
137 # If the system lacks a compiler, then just pick glibc.
138 # We could probably try harder.
139 LIBC=gnu
140
141 eval $set_cc_for_build
142 cat <<-EOF > $dummy.c
143 #include <features.h>
144 #if defined(__UCLIBC__)
145 LIBC=uclibc
146 #elif defined(__dietlibc__)
147 LIBC=dietlibc
148 #else
149 LIBC=gnu
150 #endif
151 EOF
152 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
153 ;;
154esac
155
141# Note: order is significant - the case branches are not exclusive.
142
143case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144 *:NetBSD:*:*)
145 # NetBSD (nbsd) targets should (where applicable) match one or
146 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
147 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
148 # switched to ELF, *-*-netbsd* would select the old
149 # object file format. This provides both forward
150 # compatibility and a consistent mechanism for selecting the
151 # object file format.
152 #
153 # Note: NetBSD doesn't particularly care about the vendor
154 # portion of the name. We always set it to "unknown".
155 sysctl="sysctl -n hw.machine_arch"
156 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158 case "${UNAME_MACHINE_ARCH}" in
159 armeb) machine=armeb-unknown ;;
160 arm*) machine=arm-unknown ;;
161 sh3el) machine=shl-unknown ;;
162 sh3eb) machine=sh-unknown ;;
163 sh5el) machine=sh5le-unknown ;;
164 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165 esac
166 # The Operating System including object format, if it has switched
167 # to ELF recently, or will in the future.
168 case "${UNAME_MACHINE_ARCH}" in
169 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170 eval $set_cc_for_build
171 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172 | grep -q __ELF__
173 then
174 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175 # Return netbsd for either. FIX?
176 os=netbsd
177 else
178 os=netbsdelf
179 fi
180 ;;
181 *)
182 os=netbsd
183 ;;
184 esac
185 # The OS release
186 # Debian GNU/NetBSD machines have a different userland, and
187 # thus, need a distinct triplet. However, they do not need
188 # kernel version information, so it can be replaced with a
189 # suitable tag, in the style of linux-gnu.
190 case "${UNAME_VERSION}" in
191 Debian*)
192 release='-gnu'
193 ;;
194 *)
195 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196 ;;
197 esac
198 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199 # contains redundant information, the shorter form:
200 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201 echo "${machine}-${os}${release}"
202 exit ;;
156# Note: order is significant - the case branches are not exclusive.
157
158case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159 *:NetBSD:*:*)
160 # NetBSD (nbsd) targets should (where applicable) match one or
161 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
163 # switched to ELF, *-*-netbsd* would select the old
164 # object file format. This provides both forward
165 # compatibility and a consistent mechanism for selecting the
166 # object file format.
167 #
168 # Note: NetBSD doesn't particularly care about the vendor
169 # portion of the name. We always set it to "unknown".
170 sysctl="sysctl -n hw.machine_arch"
171 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
172 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
173 case "${UNAME_MACHINE_ARCH}" in
174 armeb) machine=armeb-unknown ;;
175 arm*) machine=arm-unknown ;;
176 sh3el) machine=shl-unknown ;;
177 sh3eb) machine=sh-unknown ;;
178 sh5el) machine=sh5le-unknown ;;
179 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
180 esac
181 # The Operating System including object format, if it has switched
182 # to ELF recently, or will in the future.
183 case "${UNAME_MACHINE_ARCH}" in
184 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
185 eval $set_cc_for_build
186 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
187 | grep -q __ELF__
188 then
189 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
190 # Return netbsd for either. FIX?
191 os=netbsd
192 else
193 os=netbsdelf
194 fi
195 ;;
196 *)
197 os=netbsd
198 ;;
199 esac
200 # The OS release
201 # Debian GNU/NetBSD machines have a different userland, and
202 # thus, need a distinct triplet. However, they do not need
203 # kernel version information, so it can be replaced with a
204 # suitable tag, in the style of linux-gnu.
205 case "${UNAME_VERSION}" in
206 Debian*)
207 release='-gnu'
208 ;;
209 *)
210 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
211 ;;
212 esac
213 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
214 # contains redundant information, the shorter form:
215 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
216 echo "${machine}-${os}${release}"
217 exit ;;
218 *:Bitrig:*:*)
219 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
220 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
221 exit ;;
203 *:OpenBSD:*:*)
204 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206 exit ;;
207 *:ekkoBSD:*:*)
208 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209 exit ;;
210 *:SolidBSD:*:*)
211 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212 exit ;;
213 macppc:MirBSD:*:*)
214 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215 exit ;;
216 *:MirBSD:*:*)
217 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218 exit ;;
219 alpha:OSF1:*:*)
220 case $UNAME_RELEASE in
221 *4.0)
222 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223 ;;
224 *5.*)
225 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226 ;;
227 esac
228 # According to Compaq, /usr/sbin/psrinfo has been available on
229 # OSF/1 and Tru64 systems produced since 1995. I hope that
230 # covers most systems running today. This code pipes the CPU
231 # types through head -n 1, so we only detect the type of CPU 0.
232 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233 case "$ALPHA_CPU_TYPE" in
234 "EV4 (21064)")
235 UNAME_MACHINE="alpha" ;;
236 "EV4.5 (21064)")
237 UNAME_MACHINE="alpha" ;;
238 "LCA4 (21066/21068)")
239 UNAME_MACHINE="alpha" ;;
240 "EV5 (21164)")
241 UNAME_MACHINE="alphaev5" ;;
242 "EV5.6 (21164A)")
243 UNAME_MACHINE="alphaev56" ;;
244 "EV5.6 (21164PC)")
245 UNAME_MACHINE="alphapca56" ;;
246 "EV5.7 (21164PC)")
247 UNAME_MACHINE="alphapca57" ;;
248 "EV6 (21264)")
249 UNAME_MACHINE="alphaev6" ;;
250 "EV6.7 (21264A)")
251 UNAME_MACHINE="alphaev67" ;;
252 "EV6.8CB (21264C)")
253 UNAME_MACHINE="alphaev68" ;;
254 "EV6.8AL (21264B)")
255 UNAME_MACHINE="alphaev68" ;;
256 "EV6.8CX (21264D)")
257 UNAME_MACHINE="alphaev68" ;;
258 "EV6.9A (21264/EV69A)")
259 UNAME_MACHINE="alphaev69" ;;
260 "EV7 (21364)")
261 UNAME_MACHINE="alphaev7" ;;
262 "EV7.9 (21364A)")
263 UNAME_MACHINE="alphaev79" ;;
264 esac
265 # A Pn.n version is a patched version.
266 # A Vn.n version is a released version.
267 # A Tn.n version is a released field test version.
268 # A Xn.n version is an unreleased experimental baselevel.
269 # 1.2 uses "1.2" for uname -r.
270 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
272 exitcode=$?
273 trap '' 0
274 exit $exitcode ;;
275 Alpha\ *:Windows_NT*:*)
276 # How do we know it's Interix rather than the generic POSIX subsystem?
277 # Should we change UNAME_MACHINE based on the output of uname instead
278 # of the specific Alpha model?
279 echo alpha-pc-interix
280 exit ;;
281 21064:Windows_NT:50:3)
282 echo alpha-dec-winnt3.5
283 exit ;;
284 Amiga*:UNIX_System_V:4.0:*)
285 echo m68k-unknown-sysv4
286 exit ;;
287 *:[Aa]miga[Oo][Ss]:*:*)
288 echo ${UNAME_MACHINE}-unknown-amigaos
289 exit ;;
290 *:[Mm]orph[Oo][Ss]:*:*)
291 echo ${UNAME_MACHINE}-unknown-morphos
292 exit ;;
293 *:OS/390:*:*)
294 echo i370-ibm-openedition
295 exit ;;
296 *:z/VM:*:*)
297 echo s390-ibm-zvmoe
298 exit ;;
299 *:OS400:*:*)
300 echo powerpc-ibm-os400
301 exit ;;
302 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
303 echo arm-acorn-riscix${UNAME_RELEASE}
304 exit ;;
222 *:OpenBSD:*:*)
223 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
224 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
225 exit ;;
226 *:ekkoBSD:*:*)
227 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
228 exit ;;
229 *:SolidBSD:*:*)
230 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
231 exit ;;
232 macppc:MirBSD:*:*)
233 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
234 exit ;;
235 *:MirBSD:*:*)
236 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
237 exit ;;
238 alpha:OSF1:*:*)
239 case $UNAME_RELEASE in
240 *4.0)
241 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
242 ;;
243 *5.*)
244 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
245 ;;
246 esac
247 # According to Compaq, /usr/sbin/psrinfo has been available on
248 # OSF/1 and Tru64 systems produced since 1995. I hope that
249 # covers most systems running today. This code pipes the CPU
250 # types through head -n 1, so we only detect the type of CPU 0.
251 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
252 case "$ALPHA_CPU_TYPE" in
253 "EV4 (21064)")
254 UNAME_MACHINE="alpha" ;;
255 "EV4.5 (21064)")
256 UNAME_MACHINE="alpha" ;;
257 "LCA4 (21066/21068)")
258 UNAME_MACHINE="alpha" ;;
259 "EV5 (21164)")
260 UNAME_MACHINE="alphaev5" ;;
261 "EV5.6 (21164A)")
262 UNAME_MACHINE="alphaev56" ;;
263 "EV5.6 (21164PC)")
264 UNAME_MACHINE="alphapca56" ;;
265 "EV5.7 (21164PC)")
266 UNAME_MACHINE="alphapca57" ;;
267 "EV6 (21264)")
268 UNAME_MACHINE="alphaev6" ;;
269 "EV6.7 (21264A)")
270 UNAME_MACHINE="alphaev67" ;;
271 "EV6.8CB (21264C)")
272 UNAME_MACHINE="alphaev68" ;;
273 "EV6.8AL (21264B)")
274 UNAME_MACHINE="alphaev68" ;;
275 "EV6.8CX (21264D)")
276 UNAME_MACHINE="alphaev68" ;;
277 "EV6.9A (21264/EV69A)")
278 UNAME_MACHINE="alphaev69" ;;
279 "EV7 (21364)")
280 UNAME_MACHINE="alphaev7" ;;
281 "EV7.9 (21364A)")
282 UNAME_MACHINE="alphaev79" ;;
283 esac
284 # A Pn.n version is a patched version.
285 # A Vn.n version is a released version.
286 # A Tn.n version is a released field test version.
287 # A Xn.n version is an unreleased experimental baselevel.
288 # 1.2 uses "1.2" for uname -r.
289 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
290 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
291 exitcode=$?
292 trap '' 0
293 exit $exitcode ;;
294 Alpha\ *:Windows_NT*:*)
295 # How do we know it's Interix rather than the generic POSIX subsystem?
296 # Should we change UNAME_MACHINE based on the output of uname instead
297 # of the specific Alpha model?
298 echo alpha-pc-interix
299 exit ;;
300 21064:Windows_NT:50:3)
301 echo alpha-dec-winnt3.5
302 exit ;;
303 Amiga*:UNIX_System_V:4.0:*)
304 echo m68k-unknown-sysv4
305 exit ;;
306 *:[Aa]miga[Oo][Ss]:*:*)
307 echo ${UNAME_MACHINE}-unknown-amigaos
308 exit ;;
309 *:[Mm]orph[Oo][Ss]:*:*)
310 echo ${UNAME_MACHINE}-unknown-morphos
311 exit ;;
312 *:OS/390:*:*)
313 echo i370-ibm-openedition
314 exit ;;
315 *:z/VM:*:*)
316 echo s390-ibm-zvmoe
317 exit ;;
318 *:OS400:*:*)
319 echo powerpc-ibm-os400
320 exit ;;
321 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
322 echo arm-acorn-riscix${UNAME_RELEASE}
323 exit ;;
305 arm:riscos:*:*|arm:RISCOS:*:*)
324 arm*:riscos:*:*|arm*:RISCOS:*:*)
306 echo arm-unknown-riscos
307 exit ;;
308 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
309 echo hppa1.1-hitachi-hiuxmpp
310 exit ;;
311 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
312 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
313 if test "`(/bin/universe) 2>/dev/null`" = att ; then
314 echo pyramid-pyramid-sysv3
315 else
316 echo pyramid-pyramid-bsd
317 fi
318 exit ;;
319 NILE*:*:*:dcosx)
320 echo pyramid-pyramid-svr4
321 exit ;;
322 DRS?6000:unix:4.0:6*)
323 echo sparc-icl-nx6
324 exit ;;
325 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
326 case `/usr/bin/uname -p` in
327 sparc) echo sparc-icl-nx7; exit ;;
328 esac ;;
329 s390x:SunOS:*:*)
330 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331 exit ;;
332 sun4H:SunOS:5.*:*)
333 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334 exit ;;
335 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
336 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337 exit ;;
338 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
339 echo i386-pc-auroraux${UNAME_RELEASE}
340 exit ;;
341 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
342 eval $set_cc_for_build
343 SUN_ARCH="i386"
344 # If there is a compiler, see if it is configured for 64-bit objects.
345 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
346 # This test works for both compilers.
347 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
348 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
349 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
350 grep IS_64BIT_ARCH >/dev/null
351 then
352 SUN_ARCH="x86_64"
353 fi
354 fi
355 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356 exit ;;
357 sun4*:SunOS:6*:*)
358 # According to config.sub, this is the proper way to canonicalize
359 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
360 # it's likely to be more like Solaris than SunOS4.
361 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362 exit ;;
363 sun4*:SunOS:*:*)
364 case "`/usr/bin/arch -k`" in
365 Series*|S4*)
366 UNAME_RELEASE=`uname -v`
367 ;;
368 esac
369 # Japanese Language versions have a version number like `4.1.3-JL'.
370 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
371 exit ;;
372 sun3*:SunOS:*:*)
373 echo m68k-sun-sunos${UNAME_RELEASE}
374 exit ;;
375 sun*:*:4.2BSD:*)
376 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
378 case "`/bin/arch`" in
379 sun3)
380 echo m68k-sun-sunos${UNAME_RELEASE}
381 ;;
382 sun4)
383 echo sparc-sun-sunos${UNAME_RELEASE}
384 ;;
385 esac
386 exit ;;
387 aushp:SunOS:*:*)
388 echo sparc-auspex-sunos${UNAME_RELEASE}
389 exit ;;
390 # The situation for MiNT is a little confusing. The machine name
391 # can be virtually everything (everything which is not
392 # "atarist" or "atariste" at least should have a processor
393 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
394 # to the lowercase version "mint" (or "freemint"). Finally
395 # the system name "TOS" denotes a system which is actually not
396 # MiNT. But MiNT is downward compatible to TOS, so this should
397 # be no problem.
398 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
399 echo m68k-atari-mint${UNAME_RELEASE}
400 exit ;;
401 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402 echo m68k-atari-mint${UNAME_RELEASE}
403 exit ;;
404 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
405 echo m68k-atari-mint${UNAME_RELEASE}
406 exit ;;
407 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
408 echo m68k-milan-mint${UNAME_RELEASE}
409 exit ;;
410 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
411 echo m68k-hades-mint${UNAME_RELEASE}
412 exit ;;
413 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
414 echo m68k-unknown-mint${UNAME_RELEASE}
415 exit ;;
416 m68k:machten:*:*)
417 echo m68k-apple-machten${UNAME_RELEASE}
418 exit ;;
419 powerpc:machten:*:*)
420 echo powerpc-apple-machten${UNAME_RELEASE}
421 exit ;;
422 RISC*:Mach:*:*)
423 echo mips-dec-mach_bsd4.3
424 exit ;;
425 RISC*:ULTRIX:*:*)
426 echo mips-dec-ultrix${UNAME_RELEASE}
427 exit ;;
428 VAX*:ULTRIX*:*:*)
429 echo vax-dec-ultrix${UNAME_RELEASE}
430 exit ;;
431 2020:CLIX:*:* | 2430:CLIX:*:*)
432 echo clipper-intergraph-clix${UNAME_RELEASE}
433 exit ;;
434 mips:*:*:UMIPS | mips:*:*:RISCos)
435 eval $set_cc_for_build
436 sed 's/^ //' << EOF >$dummy.c
437#ifdef __cplusplus
438#include <stdio.h> /* for printf() prototype */
439 int main (int argc, char *argv[]) {
440#else
441 int main (argc, argv) int argc; char *argv[]; {
442#endif
443 #if defined (host_mips) && defined (MIPSEB)
444 #if defined (SYSTYPE_SYSV)
445 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
446 #endif
447 #if defined (SYSTYPE_SVR4)
448 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
449 #endif
450 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
451 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
452 #endif
453 #endif
454 exit (-1);
455 }
456EOF
457 $CC_FOR_BUILD -o $dummy $dummy.c &&
458 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
459 SYSTEM_NAME=`$dummy $dummyarg` &&
460 { echo "$SYSTEM_NAME"; exit; }
461 echo mips-mips-riscos${UNAME_RELEASE}
462 exit ;;
463 Motorola:PowerMAX_OS:*:*)
464 echo powerpc-motorola-powermax
465 exit ;;
466 Motorola:*:4.3:PL8-*)
467 echo powerpc-harris-powermax
468 exit ;;
469 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
470 echo powerpc-harris-powermax
471 exit ;;
472 Night_Hawk:Power_UNIX:*:*)
473 echo powerpc-harris-powerunix
474 exit ;;
475 m88k:CX/UX:7*:*)
476 echo m88k-harris-cxux7
477 exit ;;
478 m88k:*:4*:R4*)
479 echo m88k-motorola-sysv4
480 exit ;;
481 m88k:*:3*:R3*)
482 echo m88k-motorola-sysv3
483 exit ;;
484 AViiON:dgux:*:*)
485 # DG/UX returns AViiON for all architectures
486 UNAME_PROCESSOR=`/usr/bin/uname -p`
487 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488 then
489 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
490 [ ${TARGET_BINARY_INTERFACE}x = x ]
491 then
492 echo m88k-dg-dgux${UNAME_RELEASE}
493 else
494 echo m88k-dg-dguxbcs${UNAME_RELEASE}
495 fi
496 else
497 echo i586-dg-dgux${UNAME_RELEASE}
498 fi
499 exit ;;
500 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
501 echo m88k-dolphin-sysv3
502 exit ;;
503 M88*:*:R3*:*)
504 # Delta 88k system running SVR3
505 echo m88k-motorola-sysv3
506 exit ;;
507 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
508 echo m88k-tektronix-sysv3
509 exit ;;
510 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
511 echo m68k-tektronix-bsd
512 exit ;;
513 *:IRIX*:*:*)
514 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
515 exit ;;
516 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
517 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
518 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
519 i*86:AIX:*:*)
520 echo i386-ibm-aix
521 exit ;;
522 ia64:AIX:*:*)
523 if [ -x /usr/bin/oslevel ] ; then
524 IBM_REV=`/usr/bin/oslevel`
525 else
526 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527 fi
528 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
529 exit ;;
530 *:AIX:2:3)
531 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
532 eval $set_cc_for_build
533 sed 's/^ //' << EOF >$dummy.c
534 #include <sys/systemcfg.h>
535
536 main()
537 {
538 if (!__power_pc())
539 exit(1);
540 puts("powerpc-ibm-aix3.2.5");
541 exit(0);
542 }
543EOF
544 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
545 then
546 echo "$SYSTEM_NAME"
547 else
548 echo rs6000-ibm-aix3.2.5
549 fi
550 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
551 echo rs6000-ibm-aix3.2.4
552 else
553 echo rs6000-ibm-aix3.2
554 fi
555 exit ;;
556 *:AIX:*:[4567])
557 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
558 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
559 IBM_ARCH=rs6000
560 else
561 IBM_ARCH=powerpc
562 fi
563 if [ -x /usr/bin/oslevel ] ; then
564 IBM_REV=`/usr/bin/oslevel`
565 else
566 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
567 fi
568 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
569 exit ;;
570 *:AIX:*:*)
571 echo rs6000-ibm-aix
572 exit ;;
573 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
574 echo romp-ibm-bsd4.4
575 exit ;;
576 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
577 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
578 exit ;; # report: romp-ibm BSD 4.3
579 *:BOSX:*:*)
580 echo rs6000-bull-bosx
581 exit ;;
582 DPX/2?00:B.O.S.:*:*)
583 echo m68k-bull-sysv3
584 exit ;;
585 9000/[34]??:4.3bsd:1.*:*)
586 echo m68k-hp-bsd
587 exit ;;
588 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
589 echo m68k-hp-bsd4.4
590 exit ;;
591 9000/[34678]??:HP-UX:*:*)
592 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
593 case "${UNAME_MACHINE}" in
594 9000/31? ) HP_ARCH=m68000 ;;
595 9000/[34]?? ) HP_ARCH=m68k ;;
596 9000/[678][0-9][0-9])
597 if [ -x /usr/bin/getconf ]; then
598 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
599 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
600 case "${sc_cpu_version}" in
601 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
602 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
603 532) # CPU_PA_RISC2_0
604 case "${sc_kernel_bits}" in
605 32) HP_ARCH="hppa2.0n" ;;
606 64) HP_ARCH="hppa2.0w" ;;
607 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
608 esac ;;
609 esac
610 fi
611 if [ "${HP_ARCH}" = "" ]; then
612 eval $set_cc_for_build
613 sed 's/^ //' << EOF >$dummy.c
614
615 #define _HPUX_SOURCE
616 #include <stdlib.h>
617 #include <unistd.h>
618
619 int main ()
620 {
621 #if defined(_SC_KERNEL_BITS)
622 long bits = sysconf(_SC_KERNEL_BITS);
623 #endif
624 long cpu = sysconf (_SC_CPU_VERSION);
625
626 switch (cpu)
627 {
628 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
629 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
630 case CPU_PA_RISC2_0:
631 #if defined(_SC_KERNEL_BITS)
632 switch (bits)
633 {
634 case 64: puts ("hppa2.0w"); break;
635 case 32: puts ("hppa2.0n"); break;
636 default: puts ("hppa2.0"); break;
637 } break;
638 #else /* !defined(_SC_KERNEL_BITS) */
639 puts ("hppa2.0"); break;
640 #endif
641 default: puts ("hppa1.0"); break;
642 }
643 exit (0);
644 }
645EOF
646 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
647 test -z "$HP_ARCH" && HP_ARCH=hppa
648 fi ;;
649 esac
650 if [ ${HP_ARCH} = "hppa2.0w" ]
651 then
652 eval $set_cc_for_build
653
654 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
655 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
656 # generating 64-bit code. GNU and HP use different nomenclature:
657 #
658 # $ CC_FOR_BUILD=cc ./config.guess
659 # => hppa2.0w-hp-hpux11.23
660 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
661 # => hppa64-hp-hpux11.23
662
663 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
664 grep -q __LP64__
665 then
666 HP_ARCH="hppa2.0w"
667 else
668 HP_ARCH="hppa64"
669 fi
670 fi
671 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
672 exit ;;
673 ia64:HP-UX:*:*)
674 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
675 echo ia64-hp-hpux${HPUX_REV}
676 exit ;;
677 3050*:HI-UX:*:*)
678 eval $set_cc_for_build
679 sed 's/^ //' << EOF >$dummy.c
680 #include <unistd.h>
681 int
682 main ()
683 {
684 long cpu = sysconf (_SC_CPU_VERSION);
685 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
686 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
687 results, however. */
688 if (CPU_IS_PA_RISC (cpu))
689 {
690 switch (cpu)
691 {
692 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
693 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
694 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
695 default: puts ("hppa-hitachi-hiuxwe2"); break;
696 }
697 }
698 else if (CPU_IS_HP_MC68K (cpu))
699 puts ("m68k-hitachi-hiuxwe2");
700 else puts ("unknown-hitachi-hiuxwe2");
701 exit (0);
702 }
703EOF
704 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
705 { echo "$SYSTEM_NAME"; exit; }
706 echo unknown-hitachi-hiuxwe2
707 exit ;;
708 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
709 echo hppa1.1-hp-bsd
710 exit ;;
711 9000/8??:4.3bsd:*:*)
712 echo hppa1.0-hp-bsd
713 exit ;;
714 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
715 echo hppa1.0-hp-mpeix
716 exit ;;
717 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
718 echo hppa1.1-hp-osf
719 exit ;;
720 hp8??:OSF1:*:*)
721 echo hppa1.0-hp-osf
722 exit ;;
723 i*86:OSF1:*:*)
724 if [ -x /usr/sbin/sysversion ] ; then
725 echo ${UNAME_MACHINE}-unknown-osf1mk
726 else
727 echo ${UNAME_MACHINE}-unknown-osf1
728 fi
729 exit ;;
730 parisc*:Lites*:*:*)
731 echo hppa1.1-hp-lites
732 exit ;;
733 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
734 echo c1-convex-bsd
735 exit ;;
736 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
737 if getsysinfo -f scalar_acc
738 then echo c32-convex-bsd
739 else echo c2-convex-bsd
740 fi
741 exit ;;
742 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
743 echo c34-convex-bsd
744 exit ;;
745 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
746 echo c38-convex-bsd
747 exit ;;
748 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
749 echo c4-convex-bsd
750 exit ;;
751 CRAY*Y-MP:*:*:*)
752 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753 exit ;;
754 CRAY*[A-Z]90:*:*:*)
755 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
756 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
757 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
758 -e 's/\.[^.]*$/.X/'
759 exit ;;
760 CRAY*TS:*:*:*)
761 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
762 exit ;;
763 CRAY*T3E:*:*:*)
764 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
765 exit ;;
766 CRAY*SV1:*:*:*)
767 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
768 exit ;;
769 *:UNICOS/mp:*:*)
770 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771 exit ;;
772 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
773 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
774 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
776 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777 exit ;;
778 5000:UNIX_System_V:4.*:*)
779 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
780 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
781 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
782 exit ;;
783 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
784 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
785 exit ;;
786 sparc*:BSD/OS:*:*)
787 echo sparc-unknown-bsdi${UNAME_RELEASE}
788 exit ;;
789 *:BSD/OS:*:*)
790 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
791 exit ;;
792 *:FreeBSD:*:*)
793 UNAME_PROCESSOR=`/usr/bin/uname -p`
794 case ${UNAME_PROCESSOR} in
795 amd64)
796 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797 *)
798 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799 esac
800 exit ;;
801 i*:CYGWIN*:*)
802 echo ${UNAME_MACHINE}-pc-cygwin
803 exit ;;
325 echo arm-unknown-riscos
326 exit ;;
327 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
328 echo hppa1.1-hitachi-hiuxmpp
329 exit ;;
330 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
331 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
332 if test "`(/bin/universe) 2>/dev/null`" = att ; then
333 echo pyramid-pyramid-sysv3
334 else
335 echo pyramid-pyramid-bsd
336 fi
337 exit ;;
338 NILE*:*:*:dcosx)
339 echo pyramid-pyramid-svr4
340 exit ;;
341 DRS?6000:unix:4.0:6*)
342 echo sparc-icl-nx6
343 exit ;;
344 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
345 case `/usr/bin/uname -p` in
346 sparc) echo sparc-icl-nx7; exit ;;
347 esac ;;
348 s390x:SunOS:*:*)
349 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350 exit ;;
351 sun4H:SunOS:5.*:*)
352 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
353 exit ;;
354 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
355 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356 exit ;;
357 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
358 echo i386-pc-auroraux${UNAME_RELEASE}
359 exit ;;
360 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
361 eval $set_cc_for_build
362 SUN_ARCH="i386"
363 # If there is a compiler, see if it is configured for 64-bit objects.
364 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
365 # This test works for both compilers.
366 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
367 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
368 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
369 grep IS_64BIT_ARCH >/dev/null
370 then
371 SUN_ARCH="x86_64"
372 fi
373 fi
374 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
375 exit ;;
376 sun4*:SunOS:6*:*)
377 # According to config.sub, this is the proper way to canonicalize
378 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
379 # it's likely to be more like Solaris than SunOS4.
380 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
381 exit ;;
382 sun4*:SunOS:*:*)
383 case "`/usr/bin/arch -k`" in
384 Series*|S4*)
385 UNAME_RELEASE=`uname -v`
386 ;;
387 esac
388 # Japanese Language versions have a version number like `4.1.3-JL'.
389 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
390 exit ;;
391 sun3*:SunOS:*:*)
392 echo m68k-sun-sunos${UNAME_RELEASE}
393 exit ;;
394 sun*:*:4.2BSD:*)
395 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
396 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
397 case "`/bin/arch`" in
398 sun3)
399 echo m68k-sun-sunos${UNAME_RELEASE}
400 ;;
401 sun4)
402 echo sparc-sun-sunos${UNAME_RELEASE}
403 ;;
404 esac
405 exit ;;
406 aushp:SunOS:*:*)
407 echo sparc-auspex-sunos${UNAME_RELEASE}
408 exit ;;
409 # The situation for MiNT is a little confusing. The machine name
410 # can be virtually everything (everything which is not
411 # "atarist" or "atariste" at least should have a processor
412 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
413 # to the lowercase version "mint" (or "freemint"). Finally
414 # the system name "TOS" denotes a system which is actually not
415 # MiNT. But MiNT is downward compatible to TOS, so this should
416 # be no problem.
417 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
418 echo m68k-atari-mint${UNAME_RELEASE}
419 exit ;;
420 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
421 echo m68k-atari-mint${UNAME_RELEASE}
422 exit ;;
423 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
424 echo m68k-atari-mint${UNAME_RELEASE}
425 exit ;;
426 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
427 echo m68k-milan-mint${UNAME_RELEASE}
428 exit ;;
429 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
430 echo m68k-hades-mint${UNAME_RELEASE}
431 exit ;;
432 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
433 echo m68k-unknown-mint${UNAME_RELEASE}
434 exit ;;
435 m68k:machten:*:*)
436 echo m68k-apple-machten${UNAME_RELEASE}
437 exit ;;
438 powerpc:machten:*:*)
439 echo powerpc-apple-machten${UNAME_RELEASE}
440 exit ;;
441 RISC*:Mach:*:*)
442 echo mips-dec-mach_bsd4.3
443 exit ;;
444 RISC*:ULTRIX:*:*)
445 echo mips-dec-ultrix${UNAME_RELEASE}
446 exit ;;
447 VAX*:ULTRIX*:*:*)
448 echo vax-dec-ultrix${UNAME_RELEASE}
449 exit ;;
450 2020:CLIX:*:* | 2430:CLIX:*:*)
451 echo clipper-intergraph-clix${UNAME_RELEASE}
452 exit ;;
453 mips:*:*:UMIPS | mips:*:*:RISCos)
454 eval $set_cc_for_build
455 sed 's/^ //' << EOF >$dummy.c
456#ifdef __cplusplus
457#include <stdio.h> /* for printf() prototype */
458 int main (int argc, char *argv[]) {
459#else
460 int main (argc, argv) int argc; char *argv[]; {
461#endif
462 #if defined (host_mips) && defined (MIPSEB)
463 #if defined (SYSTYPE_SYSV)
464 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
465 #endif
466 #if defined (SYSTYPE_SVR4)
467 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
468 #endif
469 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
470 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
471 #endif
472 #endif
473 exit (-1);
474 }
475EOF
476 $CC_FOR_BUILD -o $dummy $dummy.c &&
477 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
478 SYSTEM_NAME=`$dummy $dummyarg` &&
479 { echo "$SYSTEM_NAME"; exit; }
480 echo mips-mips-riscos${UNAME_RELEASE}
481 exit ;;
482 Motorola:PowerMAX_OS:*:*)
483 echo powerpc-motorola-powermax
484 exit ;;
485 Motorola:*:4.3:PL8-*)
486 echo powerpc-harris-powermax
487 exit ;;
488 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
489 echo powerpc-harris-powermax
490 exit ;;
491 Night_Hawk:Power_UNIX:*:*)
492 echo powerpc-harris-powerunix
493 exit ;;
494 m88k:CX/UX:7*:*)
495 echo m88k-harris-cxux7
496 exit ;;
497 m88k:*:4*:R4*)
498 echo m88k-motorola-sysv4
499 exit ;;
500 m88k:*:3*:R3*)
501 echo m88k-motorola-sysv3
502 exit ;;
503 AViiON:dgux:*:*)
504 # DG/UX returns AViiON for all architectures
505 UNAME_PROCESSOR=`/usr/bin/uname -p`
506 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
507 then
508 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
509 [ ${TARGET_BINARY_INTERFACE}x = x ]
510 then
511 echo m88k-dg-dgux${UNAME_RELEASE}
512 else
513 echo m88k-dg-dguxbcs${UNAME_RELEASE}
514 fi
515 else
516 echo i586-dg-dgux${UNAME_RELEASE}
517 fi
518 exit ;;
519 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
520 echo m88k-dolphin-sysv3
521 exit ;;
522 M88*:*:R3*:*)
523 # Delta 88k system running SVR3
524 echo m88k-motorola-sysv3
525 exit ;;
526 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
527 echo m88k-tektronix-sysv3
528 exit ;;
529 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
530 echo m68k-tektronix-bsd
531 exit ;;
532 *:IRIX*:*:*)
533 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
534 exit ;;
535 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
536 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
537 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
538 i*86:AIX:*:*)
539 echo i386-ibm-aix
540 exit ;;
541 ia64:AIX:*:*)
542 if [ -x /usr/bin/oslevel ] ; then
543 IBM_REV=`/usr/bin/oslevel`
544 else
545 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
546 fi
547 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
548 exit ;;
549 *:AIX:2:3)
550 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
551 eval $set_cc_for_build
552 sed 's/^ //' << EOF >$dummy.c
553 #include <sys/systemcfg.h>
554
555 main()
556 {
557 if (!__power_pc())
558 exit(1);
559 puts("powerpc-ibm-aix3.2.5");
560 exit(0);
561 }
562EOF
563 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
564 then
565 echo "$SYSTEM_NAME"
566 else
567 echo rs6000-ibm-aix3.2.5
568 fi
569 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
570 echo rs6000-ibm-aix3.2.4
571 else
572 echo rs6000-ibm-aix3.2
573 fi
574 exit ;;
575 *:AIX:*:[4567])
576 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
577 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
578 IBM_ARCH=rs6000
579 else
580 IBM_ARCH=powerpc
581 fi
582 if [ -x /usr/bin/oslevel ] ; then
583 IBM_REV=`/usr/bin/oslevel`
584 else
585 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
586 fi
587 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
588 exit ;;
589 *:AIX:*:*)
590 echo rs6000-ibm-aix
591 exit ;;
592 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
593 echo romp-ibm-bsd4.4
594 exit ;;
595 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
596 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
597 exit ;; # report: romp-ibm BSD 4.3
598 *:BOSX:*:*)
599 echo rs6000-bull-bosx
600 exit ;;
601 DPX/2?00:B.O.S.:*:*)
602 echo m68k-bull-sysv3
603 exit ;;
604 9000/[34]??:4.3bsd:1.*:*)
605 echo m68k-hp-bsd
606 exit ;;
607 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
608 echo m68k-hp-bsd4.4
609 exit ;;
610 9000/[34678]??:HP-UX:*:*)
611 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
612 case "${UNAME_MACHINE}" in
613 9000/31? ) HP_ARCH=m68000 ;;
614 9000/[34]?? ) HP_ARCH=m68k ;;
615 9000/[678][0-9][0-9])
616 if [ -x /usr/bin/getconf ]; then
617 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
618 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
619 case "${sc_cpu_version}" in
620 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
621 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
622 532) # CPU_PA_RISC2_0
623 case "${sc_kernel_bits}" in
624 32) HP_ARCH="hppa2.0n" ;;
625 64) HP_ARCH="hppa2.0w" ;;
626 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
627 esac ;;
628 esac
629 fi
630 if [ "${HP_ARCH}" = "" ]; then
631 eval $set_cc_for_build
632 sed 's/^ //' << EOF >$dummy.c
633
634 #define _HPUX_SOURCE
635 #include <stdlib.h>
636 #include <unistd.h>
637
638 int main ()
639 {
640 #if defined(_SC_KERNEL_BITS)
641 long bits = sysconf(_SC_KERNEL_BITS);
642 #endif
643 long cpu = sysconf (_SC_CPU_VERSION);
644
645 switch (cpu)
646 {
647 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
648 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
649 case CPU_PA_RISC2_0:
650 #if defined(_SC_KERNEL_BITS)
651 switch (bits)
652 {
653 case 64: puts ("hppa2.0w"); break;
654 case 32: puts ("hppa2.0n"); break;
655 default: puts ("hppa2.0"); break;
656 } break;
657 #else /* !defined(_SC_KERNEL_BITS) */
658 puts ("hppa2.0"); break;
659 #endif
660 default: puts ("hppa1.0"); break;
661 }
662 exit (0);
663 }
664EOF
665 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
666 test -z "$HP_ARCH" && HP_ARCH=hppa
667 fi ;;
668 esac
669 if [ ${HP_ARCH} = "hppa2.0w" ]
670 then
671 eval $set_cc_for_build
672
673 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
674 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
675 # generating 64-bit code. GNU and HP use different nomenclature:
676 #
677 # $ CC_FOR_BUILD=cc ./config.guess
678 # => hppa2.0w-hp-hpux11.23
679 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
680 # => hppa64-hp-hpux11.23
681
682 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
683 grep -q __LP64__
684 then
685 HP_ARCH="hppa2.0w"
686 else
687 HP_ARCH="hppa64"
688 fi
689 fi
690 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
691 exit ;;
692 ia64:HP-UX:*:*)
693 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
694 echo ia64-hp-hpux${HPUX_REV}
695 exit ;;
696 3050*:HI-UX:*:*)
697 eval $set_cc_for_build
698 sed 's/^ //' << EOF >$dummy.c
699 #include <unistd.h>
700 int
701 main ()
702 {
703 long cpu = sysconf (_SC_CPU_VERSION);
704 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
705 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
706 results, however. */
707 if (CPU_IS_PA_RISC (cpu))
708 {
709 switch (cpu)
710 {
711 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
712 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
713 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
714 default: puts ("hppa-hitachi-hiuxwe2"); break;
715 }
716 }
717 else if (CPU_IS_HP_MC68K (cpu))
718 puts ("m68k-hitachi-hiuxwe2");
719 else puts ("unknown-hitachi-hiuxwe2");
720 exit (0);
721 }
722EOF
723 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
724 { echo "$SYSTEM_NAME"; exit; }
725 echo unknown-hitachi-hiuxwe2
726 exit ;;
727 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
728 echo hppa1.1-hp-bsd
729 exit ;;
730 9000/8??:4.3bsd:*:*)
731 echo hppa1.0-hp-bsd
732 exit ;;
733 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
734 echo hppa1.0-hp-mpeix
735 exit ;;
736 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
737 echo hppa1.1-hp-osf
738 exit ;;
739 hp8??:OSF1:*:*)
740 echo hppa1.0-hp-osf
741 exit ;;
742 i*86:OSF1:*:*)
743 if [ -x /usr/sbin/sysversion ] ; then
744 echo ${UNAME_MACHINE}-unknown-osf1mk
745 else
746 echo ${UNAME_MACHINE}-unknown-osf1
747 fi
748 exit ;;
749 parisc*:Lites*:*:*)
750 echo hppa1.1-hp-lites
751 exit ;;
752 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
753 echo c1-convex-bsd
754 exit ;;
755 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
756 if getsysinfo -f scalar_acc
757 then echo c32-convex-bsd
758 else echo c2-convex-bsd
759 fi
760 exit ;;
761 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
762 echo c34-convex-bsd
763 exit ;;
764 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
765 echo c38-convex-bsd
766 exit ;;
767 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
768 echo c4-convex-bsd
769 exit ;;
770 CRAY*Y-MP:*:*:*)
771 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
772 exit ;;
773 CRAY*[A-Z]90:*:*:*)
774 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
775 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
776 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
777 -e 's/\.[^.]*$/.X/'
778 exit ;;
779 CRAY*TS:*:*:*)
780 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
781 exit ;;
782 CRAY*T3E:*:*:*)
783 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
784 exit ;;
785 CRAY*SV1:*:*:*)
786 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
787 exit ;;
788 *:UNICOS/mp:*:*)
789 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
790 exit ;;
791 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
792 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
793 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
794 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
795 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
796 exit ;;
797 5000:UNIX_System_V:4.*:*)
798 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
799 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
800 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
801 exit ;;
802 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
803 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
804 exit ;;
805 sparc*:BSD/OS:*:*)
806 echo sparc-unknown-bsdi${UNAME_RELEASE}
807 exit ;;
808 *:BSD/OS:*:*)
809 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
810 exit ;;
811 *:FreeBSD:*:*)
812 UNAME_PROCESSOR=`/usr/bin/uname -p`
813 case ${UNAME_PROCESSOR} in
814 amd64)
815 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
816 *)
817 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
818 esac
819 exit ;;
820 i*:CYGWIN*:*)
821 echo ${UNAME_MACHINE}-pc-cygwin
822 exit ;;
823 *:MINGW64*:*)
824 echo ${UNAME_MACHINE}-pc-mingw64
825 exit ;;
804 *:MINGW*:*)
805 echo ${UNAME_MACHINE}-pc-mingw32
806 exit ;;
807 i*:MSYS*:*)
808 echo ${UNAME_MACHINE}-pc-msys
809 exit ;;
810 i*:windows32*:*)
811 # uname -m includes "-pc" on this system.
812 echo ${UNAME_MACHINE}-mingw32
813 exit ;;
814 i*:PW*:*)
815 echo ${UNAME_MACHINE}-pc-pw32
816 exit ;;
817 *:Interix*:*)
818 case ${UNAME_MACHINE} in
819 x86)
820 echo i586-pc-interix${UNAME_RELEASE}
821 exit ;;
822 authenticamd | genuineintel | EM64T)
823 echo x86_64-unknown-interix${UNAME_RELEASE}
824 exit ;;
825 IA64)
826 echo ia64-unknown-interix${UNAME_RELEASE}
827 exit ;;
828 esac ;;
829 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
830 echo i${UNAME_MACHINE}-pc-mks
831 exit ;;
832 8664:Windows_NT:*)
833 echo x86_64-pc-mks
834 exit ;;
835 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
836 # How do we know it's Interix rather than the generic POSIX subsystem?
837 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
838 # UNAME_MACHINE based on the output of uname instead of i386?
839 echo i586-pc-interix
840 exit ;;
841 i*:UWIN*:*)
842 echo ${UNAME_MACHINE}-pc-uwin
843 exit ;;
844 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
845 echo x86_64-unknown-cygwin
846 exit ;;
847 p*:CYGWIN*:*)
848 echo powerpcle-unknown-cygwin
849 exit ;;
850 prep*:SunOS:5.*:*)
851 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
852 exit ;;
853 *:GNU:*:*)
854 # the GNU system
826 *:MINGW*:*)
827 echo ${UNAME_MACHINE}-pc-mingw32
828 exit ;;
829 i*:MSYS*:*)
830 echo ${UNAME_MACHINE}-pc-msys
831 exit ;;
832 i*:windows32*:*)
833 # uname -m includes "-pc" on this system.
834 echo ${UNAME_MACHINE}-mingw32
835 exit ;;
836 i*:PW*:*)
837 echo ${UNAME_MACHINE}-pc-pw32
838 exit ;;
839 *:Interix*:*)
840 case ${UNAME_MACHINE} in
841 x86)
842 echo i586-pc-interix${UNAME_RELEASE}
843 exit ;;
844 authenticamd | genuineintel | EM64T)
845 echo x86_64-unknown-interix${UNAME_RELEASE}
846 exit ;;
847 IA64)
848 echo ia64-unknown-interix${UNAME_RELEASE}
849 exit ;;
850 esac ;;
851 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
852 echo i${UNAME_MACHINE}-pc-mks
853 exit ;;
854 8664:Windows_NT:*)
855 echo x86_64-pc-mks
856 exit ;;
857 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
858 # How do we know it's Interix rather than the generic POSIX subsystem?
859 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
860 # UNAME_MACHINE based on the output of uname instead of i386?
861 echo i586-pc-interix
862 exit ;;
863 i*:UWIN*:*)
864 echo ${UNAME_MACHINE}-pc-uwin
865 exit ;;
866 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
867 echo x86_64-unknown-cygwin
868 exit ;;
869 p*:CYGWIN*:*)
870 echo powerpcle-unknown-cygwin
871 exit ;;
872 prep*:SunOS:5.*:*)
873 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
874 exit ;;
875 *:GNU:*:*)
876 # the GNU system
855 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
877 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
856 exit ;;
857 *:GNU/*:*:*)
858 # other systems with GNU libc and userland
878 exit ;;
879 *:GNU/*:*:*)
880 # other systems with GNU libc and userland
859 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
881 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
860 exit ;;
861 i*86:Minix:*:*)
862 echo ${UNAME_MACHINE}-pc-minix
863 exit ;;
864 aarch64:Linux:*:*)
882 exit ;;
883 i*86:Minix:*:*)
884 echo ${UNAME_MACHINE}-pc-minix
885 exit ;;
886 aarch64:Linux:*:*)
865 echo ${UNAME_MACHINE}-unknown-linux-gnu
887 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
866 exit ;;
867 aarch64_be:Linux:*:*)
868 UNAME_MACHINE=aarch64_be
888 exit ;;
889 aarch64_be:Linux:*:*)
890 UNAME_MACHINE=aarch64_be
869 echo ${UNAME_MACHINE}-unknown-linux-gnu
891 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
870 exit ;;
871 alpha:Linux:*:*)
872 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
873 EV5) UNAME_MACHINE=alphaev5 ;;
874 EV56) UNAME_MACHINE=alphaev56 ;;
875 PCA56) UNAME_MACHINE=alphapca56 ;;
876 PCA57) UNAME_MACHINE=alphapca56 ;;
877 EV6) UNAME_MACHINE=alphaev6 ;;
878 EV67) UNAME_MACHINE=alphaev67 ;;
879 EV68*) UNAME_MACHINE=alphaev68 ;;
880 esac
881 objdump --private-headers /bin/sh | grep -q ld.so.1
892 exit ;;
893 alpha:Linux:*:*)
894 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
895 EV5) UNAME_MACHINE=alphaev5 ;;
896 EV56) UNAME_MACHINE=alphaev56 ;;
897 PCA56) UNAME_MACHINE=alphapca56 ;;
898 PCA57) UNAME_MACHINE=alphapca56 ;;
899 EV6) UNAME_MACHINE=alphaev6 ;;
900 EV67) UNAME_MACHINE=alphaev67 ;;
901 EV68*) UNAME_MACHINE=alphaev68 ;;
902 esac
903 objdump --private-headers /bin/sh | grep -q ld.so.1
882 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
904 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
905 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
884 exit ;;
906 exit ;;
907 arc:Linux:*:* | arceb:Linux:*:*)
908 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
909 exit ;;
885 arm*:Linux:*:*)
886 eval $set_cc_for_build
887 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
888 | grep -q __ARM_EABI__
889 then
910 arm*:Linux:*:*)
911 eval $set_cc_for_build
912 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
913 | grep -q __ARM_EABI__
914 then
890 echo ${UNAME_MACHINE}-unknown-linux-gnu
915 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
891 else
892 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
893 | grep -q __ARM_PCS_VFP
894 then
916 else
917 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918 | grep -q __ARM_PCS_VFP
919 then
895 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
920 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
896 else
921 else
897 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
922 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
898 fi
899 fi
900 exit ;;
901 avr32*:Linux:*:*)
923 fi
924 fi
925 exit ;;
926 avr32*:Linux:*:*)
902 echo ${UNAME_MACHINE}-unknown-linux-gnu
927 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
903 exit ;;
904 cris:Linux:*:*)
928 exit ;;
929 cris:Linux:*:*)
905 echo ${UNAME_MACHINE}-axis-linux-gnu
930 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
906 exit ;;
907 crisv32:Linux:*:*)
931 exit ;;
932 crisv32:Linux:*:*)
908 echo ${UNAME_MACHINE}-axis-linux-gnu
933 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
909 exit ;;
910 frv:Linux:*:*)
934 exit ;;
935 frv:Linux:*:*)
911 echo ${UNAME_MACHINE}-unknown-linux-gnu
936 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
912 exit ;;
913 hexagon:Linux:*:*)
937 exit ;;
938 hexagon:Linux:*:*)
914 echo ${UNAME_MACHINE}-unknown-linux-gnu
939 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
915 exit ;;
916 i*86:Linux:*:*)
940 exit ;;
941 i*86:Linux:*:*)
917 LIBC=gnu
918 eval $set_cc_for_build
919 sed 's/^ //' << EOF >$dummy.c
920 #ifdef __dietlibc__
921 LIBC=dietlibc
922 #endif
923EOF
924 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
925 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
942 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
926 exit ;;
927 ia64:Linux:*:*)
943 exit ;;
944 ia64:Linux:*:*)
928 echo ${UNAME_MACHINE}-unknown-linux-gnu
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
929 exit ;;
930 m32r*:Linux:*:*)
946 exit ;;
947 m32r*:Linux:*:*)
931 echo ${UNAME_MACHINE}-unknown-linux-gnu
948 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
932 exit ;;
933 m68*:Linux:*:*)
949 exit ;;
950 m68*:Linux:*:*)
934 echo ${UNAME_MACHINE}-unknown-linux-gnu
951 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
935 exit ;;
936 mips:Linux:*:* | mips64:Linux:*:*)
937 eval $set_cc_for_build
938 sed 's/^ //' << EOF >$dummy.c
939 #undef CPU
940 #undef ${UNAME_MACHINE}
941 #undef ${UNAME_MACHINE}el
942 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
943 CPU=${UNAME_MACHINE}el
944 #else
945 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
946 CPU=${UNAME_MACHINE}
947 #else
948 CPU=
949 #endif
950 #endif
951EOF
952 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
952 exit ;;
953 mips:Linux:*:* | mips64:Linux:*:*)
954 eval $set_cc_for_build
955 sed 's/^ //' << EOF >$dummy.c
956 #undef CPU
957 #undef ${UNAME_MACHINE}
958 #undef ${UNAME_MACHINE}el
959 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
960 CPU=${UNAME_MACHINE}el
961 #else
962 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
963 CPU=${UNAME_MACHINE}
964 #else
965 CPU=
966 #endif
967 #endif
968EOF
969 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
953 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
970 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
954 ;;
971 ;;
972 or1k:Linux:*:*)
973 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
974 exit ;;
955 or32:Linux:*:*)
975 or32:Linux:*:*)
956 echo ${UNAME_MACHINE}-unknown-linux-gnu
976 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
957 exit ;;
958 padre:Linux:*:*)
977 exit ;;
978 padre:Linux:*:*)
959 echo sparc-unknown-linux-gnu
979 echo sparc-unknown-linux-${LIBC}
960 exit ;;
961 parisc64:Linux:*:* | hppa64:Linux:*:*)
980 exit ;;
981 parisc64:Linux:*:* | hppa64:Linux:*:*)
962 echo hppa64-unknown-linux-gnu
982 echo hppa64-unknown-linux-${LIBC}
963 exit ;;
964 parisc:Linux:*:* | hppa:Linux:*:*)
965 # Look for CPU level
966 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
983 exit ;;
984 parisc:Linux:*:* | hppa:Linux:*:*)
985 # Look for CPU level
986 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
967 PA7*) echo hppa1.1-unknown-linux-gnu ;;
968 PA8*) echo hppa2.0-unknown-linux-gnu ;;
969 *) echo hppa-unknown-linux-gnu ;;
987 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
988 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
989 *) echo hppa-unknown-linux-${LIBC} ;;
970 esac
971 exit ;;
972 ppc64:Linux:*:*)
990 esac
991 exit ;;
992 ppc64:Linux:*:*)
973 echo powerpc64-unknown-linux-gnu
993 echo powerpc64-unknown-linux-${LIBC}
974 exit ;;
975 ppc:Linux:*:*)
994 exit ;;
995 ppc:Linux:*:*)
976 echo powerpc-unknown-linux-gnu
996 echo powerpc-unknown-linux-${LIBC}
977 exit ;;
997 exit ;;
998 ppc64le:Linux:*:*)
999 echo powerpc64le-unknown-linux-${LIBC}
1000 exit ;;
1001 ppcle:Linux:*:*)
1002 echo powerpcle-unknown-linux-${LIBC}
1003 exit ;;
978 s390:Linux:*:* | s390x:Linux:*:*)
1004 s390:Linux:*:* | s390x:Linux:*:*)
979 echo ${UNAME_MACHINE}-ibm-linux
1005 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
980 exit ;;
981 sh64*:Linux:*:*)
1006 exit ;;
1007 sh64*:Linux:*:*)
982 echo ${UNAME_MACHINE}-unknown-linux-gnu
1008 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
983 exit ;;
984 sh*:Linux:*:*)
1009 exit ;;
1010 sh*:Linux:*:*)
985 echo ${UNAME_MACHINE}-unknown-linux-gnu
1011 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
986 exit ;;
987 sparc:Linux:*:* | sparc64:Linux:*:*)
1012 exit ;;
1013 sparc:Linux:*:* | sparc64:Linux:*:*)
988 echo ${UNAME_MACHINE}-unknown-linux-gnu
1014 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
989 exit ;;
990 tile*:Linux:*:*)
1015 exit ;;
1016 tile*:Linux:*:*)
991 echo ${UNAME_MACHINE}-unknown-linux-gnu
1017 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
992 exit ;;
993 vax:Linux:*:*)
1018 exit ;;
1019 vax:Linux:*:*)
994 echo ${UNAME_MACHINE}-dec-linux-gnu
1020 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
995 exit ;;
996 x86_64:Linux:*:*)
1021 exit ;;
1022 x86_64:Linux:*:*)
997 echo ${UNAME_MACHINE}-unknown-linux-gnu
1023 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
998 exit ;;
999 xtensa*:Linux:*:*)
1024 exit ;;
1025 xtensa*:Linux:*:*)
1000 echo ${UNAME_MACHINE}-unknown-linux-gnu
1026 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1001 exit ;;
1002 i*86:DYNIX/ptx:4*:*)
1003 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1004 # earlier versions are messed up and put the nodename in both
1005 # sysname and nodename.
1006 echo i386-sequent-sysv4
1007 exit ;;
1008 i*86:UNIX_SV:4.2MP:2.*)
1009 # Unixware is an offshoot of SVR4, but it has its own version
1010 # number series starting with 2...
1011 # I am not positive that other SVR4 systems won't match this,
1012 # I just have to hope. -- rms.
1013 # Use sysv4.2uw... so that sysv4* matches it.
1014 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1015 exit ;;
1016 i*86:OS/2:*:*)
1017 # If we were able to find `uname', then EMX Unix compatibility
1018 # is probably installed.
1019 echo ${UNAME_MACHINE}-pc-os2-emx
1020 exit ;;
1021 i*86:XTS-300:*:STOP)
1022 echo ${UNAME_MACHINE}-unknown-stop
1023 exit ;;
1024 i*86:atheos:*:*)
1025 echo ${UNAME_MACHINE}-unknown-atheos
1026 exit ;;
1027 i*86:syllable:*:*)
1028 echo ${UNAME_MACHINE}-pc-syllable
1029 exit ;;
1030 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1031 echo i386-unknown-lynxos${UNAME_RELEASE}
1032 exit ;;
1033 i*86:*DOS:*:*)
1034 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1035 exit ;;
1036 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1037 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1038 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1039 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1040 else
1041 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1042 fi
1043 exit ;;
1044 i*86:*:5:[678]*)
1045 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1046 case `/bin/uname -X | grep "^Machine"` in
1047 *486*) UNAME_MACHINE=i486 ;;
1048 *Pentium) UNAME_MACHINE=i586 ;;
1049 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1050 esac
1051 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1052 exit ;;
1053 i*86:*:3.2:*)
1054 if test -f /usr/options/cb.name; then
1055 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1056 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1057 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1058 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1059 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1060 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1061 && UNAME_MACHINE=i586
1062 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1063 && UNAME_MACHINE=i686
1064 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1065 && UNAME_MACHINE=i686
1066 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1067 else
1068 echo ${UNAME_MACHINE}-pc-sysv32
1069 fi
1070 exit ;;
1071 pc:*:*:*)
1072 # Left here for compatibility:
1073 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1074 # the processor, so we play safe by assuming i586.
1075 # Note: whatever this is, it MUST be the same as what config.sub
1076 # prints for the "djgpp" host, or else GDB configury will decide that
1077 # this is a cross-build.
1078 echo i586-pc-msdosdjgpp
1079 exit ;;
1080 Intel:Mach:3*:*)
1081 echo i386-pc-mach3
1082 exit ;;
1083 paragon:*:*:*)
1084 echo i860-intel-osf1
1085 exit ;;
1086 i860:*:4.*:*) # i860-SVR4
1087 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1088 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1089 else # Add other i860-SVR4 vendors below as they are discovered.
1090 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1091 fi
1092 exit ;;
1093 mini*:CTIX:SYS*5:*)
1094 # "miniframe"
1095 echo m68010-convergent-sysv
1096 exit ;;
1097 mc68k:UNIX:SYSTEM5:3.51m)
1098 echo m68k-convergent-sysv
1099 exit ;;
1100 M680?0:D-NIX:5.3:*)
1101 echo m68k-diab-dnix
1102 exit ;;
1103 M68*:*:R3V[5678]*:*)
1104 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1105 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1106 OS_REL=''
1107 test -r /etc/.relid \
1108 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1109 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1111 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1112 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1113 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1114 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1115 && { echo i486-ncr-sysv4; exit; } ;;
1116 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1117 OS_REL='.3'
1118 test -r /etc/.relid \
1119 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1120 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1122 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1124 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1125 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1126 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1127 echo m68k-unknown-lynxos${UNAME_RELEASE}
1128 exit ;;
1129 mc68030:UNIX_System_V:4.*:*)
1130 echo m68k-atari-sysv4
1131 exit ;;
1132 TSUNAMI:LynxOS:2.*:*)
1133 echo sparc-unknown-lynxos${UNAME_RELEASE}
1134 exit ;;
1135 rs6000:LynxOS:2.*:*)
1136 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1137 exit ;;
1138 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1139 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1140 exit ;;
1141 SM[BE]S:UNIX_SV:*:*)
1142 echo mips-dde-sysv${UNAME_RELEASE}
1143 exit ;;
1144 RM*:ReliantUNIX-*:*:*)
1145 echo mips-sni-sysv4
1146 exit ;;
1147 RM*:SINIX-*:*:*)
1148 echo mips-sni-sysv4
1149 exit ;;
1150 *:SINIX-*:*:*)
1151 if uname -p 2>/dev/null >/dev/null ; then
1152 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1153 echo ${UNAME_MACHINE}-sni-sysv4
1154 else
1155 echo ns32k-sni-sysv
1156 fi
1157 exit ;;
1158 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1159 # says <Richard.M.Bartel@ccMail.Census.GOV>
1160 echo i586-unisys-sysv4
1161 exit ;;
1162 *:UNIX_System_V:4*:FTX*)
1163 # From Gerald Hewes <hewes@openmarket.com>.
1164 # How about differentiating between stratus architectures? -djm
1165 echo hppa1.1-stratus-sysv4
1166 exit ;;
1167 *:*:*:FTX*)
1168 # From seanf@swdc.stratus.com.
1169 echo i860-stratus-sysv4
1170 exit ;;
1171 i*86:VOS:*:*)
1172 # From Paul.Green@stratus.com.
1173 echo ${UNAME_MACHINE}-stratus-vos
1174 exit ;;
1175 *:VOS:*:*)
1176 # From Paul.Green@stratus.com.
1177 echo hppa1.1-stratus-vos
1178 exit ;;
1179 mc68*:A/UX:*:*)
1180 echo m68k-apple-aux${UNAME_RELEASE}
1181 exit ;;
1182 news*:NEWS-OS:6*:*)
1183 echo mips-sony-newsos6
1184 exit ;;
1185 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1186 if [ -d /usr/nec ]; then
1187 echo mips-nec-sysv${UNAME_RELEASE}
1188 else
1189 echo mips-unknown-sysv${UNAME_RELEASE}
1190 fi
1191 exit ;;
1192 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1193 echo powerpc-be-beos
1194 exit ;;
1195 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1196 echo powerpc-apple-beos
1197 exit ;;
1198 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1199 echo i586-pc-beos
1200 exit ;;
1201 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1202 echo i586-pc-haiku
1203 exit ;;
1027 exit ;;
1028 i*86:DYNIX/ptx:4*:*)
1029 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1030 # earlier versions are messed up and put the nodename in both
1031 # sysname and nodename.
1032 echo i386-sequent-sysv4
1033 exit ;;
1034 i*86:UNIX_SV:4.2MP:2.*)
1035 # Unixware is an offshoot of SVR4, but it has its own version
1036 # number series starting with 2...
1037 # I am not positive that other SVR4 systems won't match this,
1038 # I just have to hope. -- rms.
1039 # Use sysv4.2uw... so that sysv4* matches it.
1040 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1041 exit ;;
1042 i*86:OS/2:*:*)
1043 # If we were able to find `uname', then EMX Unix compatibility
1044 # is probably installed.
1045 echo ${UNAME_MACHINE}-pc-os2-emx
1046 exit ;;
1047 i*86:XTS-300:*:STOP)
1048 echo ${UNAME_MACHINE}-unknown-stop
1049 exit ;;
1050 i*86:atheos:*:*)
1051 echo ${UNAME_MACHINE}-unknown-atheos
1052 exit ;;
1053 i*86:syllable:*:*)
1054 echo ${UNAME_MACHINE}-pc-syllable
1055 exit ;;
1056 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1057 echo i386-unknown-lynxos${UNAME_RELEASE}
1058 exit ;;
1059 i*86:*DOS:*:*)
1060 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1061 exit ;;
1062 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1063 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1064 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1065 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1066 else
1067 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1068 fi
1069 exit ;;
1070 i*86:*:5:[678]*)
1071 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1072 case `/bin/uname -X | grep "^Machine"` in
1073 *486*) UNAME_MACHINE=i486 ;;
1074 *Pentium) UNAME_MACHINE=i586 ;;
1075 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1076 esac
1077 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1078 exit ;;
1079 i*86:*:3.2:*)
1080 if test -f /usr/options/cb.name; then
1081 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1082 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1083 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1084 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1085 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1086 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1087 && UNAME_MACHINE=i586
1088 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1089 && UNAME_MACHINE=i686
1090 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1091 && UNAME_MACHINE=i686
1092 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1093 else
1094 echo ${UNAME_MACHINE}-pc-sysv32
1095 fi
1096 exit ;;
1097 pc:*:*:*)
1098 # Left here for compatibility:
1099 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1100 # the processor, so we play safe by assuming i586.
1101 # Note: whatever this is, it MUST be the same as what config.sub
1102 # prints for the "djgpp" host, or else GDB configury will decide that
1103 # this is a cross-build.
1104 echo i586-pc-msdosdjgpp
1105 exit ;;
1106 Intel:Mach:3*:*)
1107 echo i386-pc-mach3
1108 exit ;;
1109 paragon:*:*:*)
1110 echo i860-intel-osf1
1111 exit ;;
1112 i860:*:4.*:*) # i860-SVR4
1113 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1114 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1115 else # Add other i860-SVR4 vendors below as they are discovered.
1116 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1117 fi
1118 exit ;;
1119 mini*:CTIX:SYS*5:*)
1120 # "miniframe"
1121 echo m68010-convergent-sysv
1122 exit ;;
1123 mc68k:UNIX:SYSTEM5:3.51m)
1124 echo m68k-convergent-sysv
1125 exit ;;
1126 M680?0:D-NIX:5.3:*)
1127 echo m68k-diab-dnix
1128 exit ;;
1129 M68*:*:R3V[5678]*:*)
1130 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1131 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1132 OS_REL=''
1133 test -r /etc/.relid \
1134 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1135 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1136 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1137 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1138 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1139 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1140 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1141 && { echo i486-ncr-sysv4; exit; } ;;
1142 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1143 OS_REL='.3'
1144 test -r /etc/.relid \
1145 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1146 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1147 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1148 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1149 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1150 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1151 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1152 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1153 echo m68k-unknown-lynxos${UNAME_RELEASE}
1154 exit ;;
1155 mc68030:UNIX_System_V:4.*:*)
1156 echo m68k-atari-sysv4
1157 exit ;;
1158 TSUNAMI:LynxOS:2.*:*)
1159 echo sparc-unknown-lynxos${UNAME_RELEASE}
1160 exit ;;
1161 rs6000:LynxOS:2.*:*)
1162 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1163 exit ;;
1164 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1165 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1166 exit ;;
1167 SM[BE]S:UNIX_SV:*:*)
1168 echo mips-dde-sysv${UNAME_RELEASE}
1169 exit ;;
1170 RM*:ReliantUNIX-*:*:*)
1171 echo mips-sni-sysv4
1172 exit ;;
1173 RM*:SINIX-*:*:*)
1174 echo mips-sni-sysv4
1175 exit ;;
1176 *:SINIX-*:*:*)
1177 if uname -p 2>/dev/null >/dev/null ; then
1178 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1179 echo ${UNAME_MACHINE}-sni-sysv4
1180 else
1181 echo ns32k-sni-sysv
1182 fi
1183 exit ;;
1184 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1185 # says <Richard.M.Bartel@ccMail.Census.GOV>
1186 echo i586-unisys-sysv4
1187 exit ;;
1188 *:UNIX_System_V:4*:FTX*)
1189 # From Gerald Hewes <hewes@openmarket.com>.
1190 # How about differentiating between stratus architectures? -djm
1191 echo hppa1.1-stratus-sysv4
1192 exit ;;
1193 *:*:*:FTX*)
1194 # From seanf@swdc.stratus.com.
1195 echo i860-stratus-sysv4
1196 exit ;;
1197 i*86:VOS:*:*)
1198 # From Paul.Green@stratus.com.
1199 echo ${UNAME_MACHINE}-stratus-vos
1200 exit ;;
1201 *:VOS:*:*)
1202 # From Paul.Green@stratus.com.
1203 echo hppa1.1-stratus-vos
1204 exit ;;
1205 mc68*:A/UX:*:*)
1206 echo m68k-apple-aux${UNAME_RELEASE}
1207 exit ;;
1208 news*:NEWS-OS:6*:*)
1209 echo mips-sony-newsos6
1210 exit ;;
1211 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1212 if [ -d /usr/nec ]; then
1213 echo mips-nec-sysv${UNAME_RELEASE}
1214 else
1215 echo mips-unknown-sysv${UNAME_RELEASE}
1216 fi
1217 exit ;;
1218 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1219 echo powerpc-be-beos
1220 exit ;;
1221 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1222 echo powerpc-apple-beos
1223 exit ;;
1224 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1225 echo i586-pc-beos
1226 exit ;;
1227 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1228 echo i586-pc-haiku
1229 exit ;;
1230 x86_64:Haiku:*:*)
1231 echo x86_64-unknown-haiku
1232 exit ;;
1204 SX-4:SUPER-UX:*:*)
1205 echo sx4-nec-superux${UNAME_RELEASE}
1206 exit ;;
1207 SX-5:SUPER-UX:*:*)
1208 echo sx5-nec-superux${UNAME_RELEASE}
1209 exit ;;
1210 SX-6:SUPER-UX:*:*)
1211 echo sx6-nec-superux${UNAME_RELEASE}
1212 exit ;;
1213 SX-7:SUPER-UX:*:*)
1214 echo sx7-nec-superux${UNAME_RELEASE}
1215 exit ;;
1216 SX-8:SUPER-UX:*:*)
1217 echo sx8-nec-superux${UNAME_RELEASE}
1218 exit ;;
1219 SX-8R:SUPER-UX:*:*)
1220 echo sx8r-nec-superux${UNAME_RELEASE}
1221 exit ;;
1222 Power*:Rhapsody:*:*)
1223 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1224 exit ;;
1225 *:Rhapsody:*:*)
1226 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1227 exit ;;
1228 *:Darwin:*:*)
1229 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1233 SX-4:SUPER-UX:*:*)
1234 echo sx4-nec-superux${UNAME_RELEASE}
1235 exit ;;
1236 SX-5:SUPER-UX:*:*)
1237 echo sx5-nec-superux${UNAME_RELEASE}
1238 exit ;;
1239 SX-6:SUPER-UX:*:*)
1240 echo sx6-nec-superux${UNAME_RELEASE}
1241 exit ;;
1242 SX-7:SUPER-UX:*:*)
1243 echo sx7-nec-superux${UNAME_RELEASE}
1244 exit ;;
1245 SX-8:SUPER-UX:*:*)
1246 echo sx8-nec-superux${UNAME_RELEASE}
1247 exit ;;
1248 SX-8R:SUPER-UX:*:*)
1249 echo sx8r-nec-superux${UNAME_RELEASE}
1250 exit ;;
1251 Power*:Rhapsody:*:*)
1252 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1253 exit ;;
1254 *:Rhapsody:*:*)
1255 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1256 exit ;;
1257 *:Darwin:*:*)
1258 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1230 case $UNAME_PROCESSOR in
1231 i386)
1232 eval $set_cc_for_build
1233 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1234 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1235 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1236 grep IS_64BIT_ARCH >/dev/null
1237 then
1238 UNAME_PROCESSOR="x86_64"
1239 fi
1240 fi ;;
1241 unknown) UNAME_PROCESSOR=powerpc ;;
1242 esac
1259 eval $set_cc_for_build
1260 if test "$UNAME_PROCESSOR" = unknown ; then
1261 UNAME_PROCESSOR=powerpc
1262 fi
1263 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1264 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1265 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1266 grep IS_64BIT_ARCH >/dev/null
1267 then
1268 case $UNAME_PROCESSOR in
1269 i386) UNAME_PROCESSOR=x86_64 ;;
1270 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1271 esac
1272 fi
1273 fi
1243 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1244 exit ;;
1245 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1246 UNAME_PROCESSOR=`uname -p`
1247 if test "$UNAME_PROCESSOR" = "x86"; then
1248 UNAME_PROCESSOR=i386
1249 UNAME_MACHINE=pc
1250 fi
1251 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1252 exit ;;
1253 *:QNX:*:4*)
1254 echo i386-pc-qnx
1255 exit ;;
1256 NEO-?:NONSTOP_KERNEL:*:*)
1257 echo neo-tandem-nsk${UNAME_RELEASE}
1258 exit ;;
1259 NSE-*:NONSTOP_KERNEL:*:*)
1260 echo nse-tandem-nsk${UNAME_RELEASE}
1261 exit ;;
1262 NSR-?:NONSTOP_KERNEL:*:*)
1263 echo nsr-tandem-nsk${UNAME_RELEASE}
1264 exit ;;
1265 *:NonStop-UX:*:*)
1266 echo mips-compaq-nonstopux
1267 exit ;;
1268 BS2000:POSIX*:*:*)
1269 echo bs2000-siemens-sysv
1270 exit ;;
1271 DS/*:UNIX_System_V:*:*)
1272 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1273 exit ;;
1274 *:Plan9:*:*)
1275 # "uname -m" is not consistent, so use $cputype instead. 386
1276 # is converted to i386 for consistency with other x86
1277 # operating systems.
1278 if test "$cputype" = "386"; then
1279 UNAME_MACHINE=i386
1280 else
1281 UNAME_MACHINE="$cputype"
1282 fi
1283 echo ${UNAME_MACHINE}-unknown-plan9
1284 exit ;;
1285 *:TOPS-10:*:*)
1286 echo pdp10-unknown-tops10
1287 exit ;;
1288 *:TENEX:*:*)
1289 echo pdp10-unknown-tenex
1290 exit ;;
1291 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1292 echo pdp10-dec-tops20
1293 exit ;;
1294 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1295 echo pdp10-xkl-tops20
1296 exit ;;
1297 *:TOPS-20:*:*)
1298 echo pdp10-unknown-tops20
1299 exit ;;
1300 *:ITS:*:*)
1301 echo pdp10-unknown-its
1302 exit ;;
1303 SEI:*:*:SEIUX)
1304 echo mips-sei-seiux${UNAME_RELEASE}
1305 exit ;;
1306 *:DragonFly:*:*)
1307 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1308 exit ;;
1309 *:*VMS:*:*)
1310 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1311 case "${UNAME_MACHINE}" in
1312 A*) echo alpha-dec-vms ; exit ;;
1313 I*) echo ia64-dec-vms ; exit ;;
1314 V*) echo vax-dec-vms ; exit ;;
1315 esac ;;
1316 *:XENIX:*:SysV)
1317 echo i386-pc-xenix
1318 exit ;;
1319 i*86:skyos:*:*)
1320 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1321 exit ;;
1322 i*86:rdos:*:*)
1323 echo ${UNAME_MACHINE}-pc-rdos
1324 exit ;;
1325 i*86:AROS:*:*)
1326 echo ${UNAME_MACHINE}-pc-aros
1327 exit ;;
1328 x86_64:VMkernel:*:*)
1329 echo ${UNAME_MACHINE}-unknown-esx
1330 exit ;;
1331esac
1332
1274 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1275 exit ;;
1276 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1277 UNAME_PROCESSOR=`uname -p`
1278 if test "$UNAME_PROCESSOR" = "x86"; then
1279 UNAME_PROCESSOR=i386
1280 UNAME_MACHINE=pc
1281 fi
1282 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1283 exit ;;
1284 *:QNX:*:4*)
1285 echo i386-pc-qnx
1286 exit ;;
1287 NEO-?:NONSTOP_KERNEL:*:*)
1288 echo neo-tandem-nsk${UNAME_RELEASE}
1289 exit ;;
1290 NSE-*:NONSTOP_KERNEL:*:*)
1291 echo nse-tandem-nsk${UNAME_RELEASE}
1292 exit ;;
1293 NSR-?:NONSTOP_KERNEL:*:*)
1294 echo nsr-tandem-nsk${UNAME_RELEASE}
1295 exit ;;
1296 *:NonStop-UX:*:*)
1297 echo mips-compaq-nonstopux
1298 exit ;;
1299 BS2000:POSIX*:*:*)
1300 echo bs2000-siemens-sysv
1301 exit ;;
1302 DS/*:UNIX_System_V:*:*)
1303 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1304 exit ;;
1305 *:Plan9:*:*)
1306 # "uname -m" is not consistent, so use $cputype instead. 386
1307 # is converted to i386 for consistency with other x86
1308 # operating systems.
1309 if test "$cputype" = "386"; then
1310 UNAME_MACHINE=i386
1311 else
1312 UNAME_MACHINE="$cputype"
1313 fi
1314 echo ${UNAME_MACHINE}-unknown-plan9
1315 exit ;;
1316 *:TOPS-10:*:*)
1317 echo pdp10-unknown-tops10
1318 exit ;;
1319 *:TENEX:*:*)
1320 echo pdp10-unknown-tenex
1321 exit ;;
1322 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1323 echo pdp10-dec-tops20
1324 exit ;;
1325 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1326 echo pdp10-xkl-tops20
1327 exit ;;
1328 *:TOPS-20:*:*)
1329 echo pdp10-unknown-tops20
1330 exit ;;
1331 *:ITS:*:*)
1332 echo pdp10-unknown-its
1333 exit ;;
1334 SEI:*:*:SEIUX)
1335 echo mips-sei-seiux${UNAME_RELEASE}
1336 exit ;;
1337 *:DragonFly:*:*)
1338 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1339 exit ;;
1340 *:*VMS:*:*)
1341 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1342 case "${UNAME_MACHINE}" in
1343 A*) echo alpha-dec-vms ; exit ;;
1344 I*) echo ia64-dec-vms ; exit ;;
1345 V*) echo vax-dec-vms ; exit ;;
1346 esac ;;
1347 *:XENIX:*:SysV)
1348 echo i386-pc-xenix
1349 exit ;;
1350 i*86:skyos:*:*)
1351 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1352 exit ;;
1353 i*86:rdos:*:*)
1354 echo ${UNAME_MACHINE}-pc-rdos
1355 exit ;;
1356 i*86:AROS:*:*)
1357 echo ${UNAME_MACHINE}-pc-aros
1358 exit ;;
1359 x86_64:VMkernel:*:*)
1360 echo ${UNAME_MACHINE}-unknown-esx
1361 exit ;;
1362esac
1363
1333#echo '(No uname command or uname output not recognized.)' 1>&2
1334#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1335
1336eval $set_cc_for_build
1337cat >$dummy.c <<EOF
1338#ifdef _SEQUENT_
1339# include <sys/types.h>
1340# include <sys/utsname.h>
1341#endif
1342main ()
1343{
1344#if defined (sony)
1345#if defined (MIPSEB)
1346 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1347 I don't know.... */
1348 printf ("mips-sony-bsd\n"); exit (0);
1349#else
1350#include <sys/param.h>
1351 printf ("m68k-sony-newsos%s\n",
1352#ifdef NEWSOS4
1353 "4"
1354#else
1355 ""
1356#endif
1357 ); exit (0);
1358#endif
1359#endif
1360
1361#if defined (__arm) && defined (__acorn) && defined (__unix)
1362 printf ("arm-acorn-riscix\n"); exit (0);
1363#endif
1364
1365#if defined (hp300) && !defined (hpux)
1366 printf ("m68k-hp-bsd\n"); exit (0);
1367#endif
1368
1369#if defined (NeXT)
1370#if !defined (__ARCHITECTURE__)
1371#define __ARCHITECTURE__ "m68k"
1372#endif
1373 int version;
1374 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1375 if (version < 4)
1376 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1377 else
1378 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1379 exit (0);
1380#endif
1381
1382#if defined (MULTIMAX) || defined (n16)
1383#if defined (UMAXV)
1384 printf ("ns32k-encore-sysv\n"); exit (0);
1385#else
1386#if defined (CMU)
1387 printf ("ns32k-encore-mach\n"); exit (0);
1388#else
1389 printf ("ns32k-encore-bsd\n"); exit (0);
1390#endif
1391#endif
1392#endif
1393
1394#if defined (__386BSD__)
1395 printf ("i386-pc-bsd\n"); exit (0);
1396#endif
1397
1398#if defined (sequent)
1399#if defined (i386)
1400 printf ("i386-sequent-dynix\n"); exit (0);
1401#endif
1402#if defined (ns32000)
1403 printf ("ns32k-sequent-dynix\n"); exit (0);
1404#endif
1405#endif
1406
1407#if defined (_SEQUENT_)
1408 struct utsname un;
1409
1410 uname(&un);
1411
1412 if (strncmp(un.version, "V2", 2) == 0) {
1413 printf ("i386-sequent-ptx2\n"); exit (0);
1414 }
1415 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1416 printf ("i386-sequent-ptx1\n"); exit (0);
1417 }
1418 printf ("i386-sequent-ptx\n"); exit (0);
1419
1420#endif
1421
1422#if defined (vax)
1423# if !defined (ultrix)
1424# include <sys/param.h>
1425# if defined (BSD)
1426# if BSD == 43
1427 printf ("vax-dec-bsd4.3\n"); exit (0);
1428# else
1429# if BSD == 199006
1430 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1431# else
1432 printf ("vax-dec-bsd\n"); exit (0);
1433# endif
1434# endif
1435# else
1436 printf ("vax-dec-bsd\n"); exit (0);
1437# endif
1438# else
1439 printf ("vax-dec-ultrix\n"); exit (0);
1440# endif
1441#endif
1442
1443#if defined (alliant) && defined (i860)
1444 printf ("i860-alliant-bsd\n"); exit (0);
1445#endif
1446
1447 exit (1);
1448}
1449EOF
1450
1451$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1452 { echo "$SYSTEM_NAME"; exit; }
1453
1454# Apollos put the system type in the environment.
1455
1456test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1457
1458# Convex versions that predate uname can use getsysinfo(1)
1459
1460if [ -x /usr/convex/getsysinfo ]
1461then
1462 case `getsysinfo -f cpu_type` in
1463 c1*)
1464 echo c1-convex-bsd
1465 exit ;;
1466 c2*)
1467 if getsysinfo -f scalar_acc
1468 then echo c32-convex-bsd
1469 else echo c2-convex-bsd
1470 fi
1471 exit ;;
1472 c34*)
1473 echo c34-convex-bsd
1474 exit ;;
1475 c38*)
1476 echo c38-convex-bsd
1477 exit ;;
1478 c4*)
1479 echo c4-convex-bsd
1480 exit ;;
1481 esac
1482fi
1483
1484cat >&2 <<EOF
1485$0: unable to guess system type
1486
1487This script, last modified $timestamp, has failed to recognize
1488the operating system you are using. It is advised that you
1489download the most up to date version of the config scripts from
1490
1491 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1492and
1493 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1494
1495If the version you run ($0) is already up to date, please
1496send the following data and any information you think might be
1497pertinent to <config-patches@gnu.org> in order to provide the needed
1498information to handle your system.
1499
1500config.guess timestamp = $timestamp
1501
1502uname -m = `(uname -m) 2>/dev/null || echo unknown`
1503uname -r = `(uname -r) 2>/dev/null || echo unknown`
1504uname -s = `(uname -s) 2>/dev/null || echo unknown`
1505uname -v = `(uname -v) 2>/dev/null || echo unknown`
1506
1507/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1508/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1509
1510hostinfo = `(hostinfo) 2>/dev/null`
1511/bin/universe = `(/bin/universe) 2>/dev/null`
1512/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1513/bin/arch = `(/bin/arch) 2>/dev/null`
1514/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1515/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1516
1517UNAME_MACHINE = ${UNAME_MACHINE}
1518UNAME_RELEASE = ${UNAME_RELEASE}
1519UNAME_SYSTEM = ${UNAME_SYSTEM}
1520UNAME_VERSION = ${UNAME_VERSION}
1521EOF
1522
1523exit 1
1524
1525# Local variables:
1526# eval: (add-hook 'write-file-hooks 'time-stamp)
1527# time-stamp-start: "timestamp='"
1528# time-stamp-format: "%:y-%02m-%02d"
1529# time-stamp-end: "'"
1530# End:
1364eval $set_cc_for_build
1365cat >$dummy.c <<EOF
1366#ifdef _SEQUENT_
1367# include <sys/types.h>
1368# include <sys/utsname.h>
1369#endif
1370main ()
1371{
1372#if defined (sony)
1373#if defined (MIPSEB)
1374 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1375 I don't know.... */
1376 printf ("mips-sony-bsd\n"); exit (0);
1377#else
1378#include <sys/param.h>
1379 printf ("m68k-sony-newsos%s\n",
1380#ifdef NEWSOS4
1381 "4"
1382#else
1383 ""
1384#endif
1385 ); exit (0);
1386#endif
1387#endif
1388
1389#if defined (__arm) && defined (__acorn) && defined (__unix)
1390 printf ("arm-acorn-riscix\n"); exit (0);
1391#endif
1392
1393#if defined (hp300) && !defined (hpux)
1394 printf ("m68k-hp-bsd\n"); exit (0);
1395#endif
1396
1397#if defined (NeXT)
1398#if !defined (__ARCHITECTURE__)
1399#define __ARCHITECTURE__ "m68k"
1400#endif
1401 int version;
1402 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1403 if (version < 4)
1404 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1405 else
1406 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1407 exit (0);
1408#endif
1409
1410#if defined (MULTIMAX) || defined (n16)
1411#if defined (UMAXV)
1412 printf ("ns32k-encore-sysv\n"); exit (0);
1413#else
1414#if defined (CMU)
1415 printf ("ns32k-encore-mach\n"); exit (0);
1416#else
1417 printf ("ns32k-encore-bsd\n"); exit (0);
1418#endif
1419#endif
1420#endif
1421
1422#if defined (__386BSD__)
1423 printf ("i386-pc-bsd\n"); exit (0);
1424#endif
1425
1426#if defined (sequent)
1427#if defined (i386)
1428 printf ("i386-sequent-dynix\n"); exit (0);
1429#endif
1430#if defined (ns32000)
1431 printf ("ns32k-sequent-dynix\n"); exit (0);
1432#endif
1433#endif
1434
1435#if defined (_SEQUENT_)
1436 struct utsname un;
1437
1438 uname(&un);
1439
1440 if (strncmp(un.version, "V2", 2) == 0) {
1441 printf ("i386-sequent-ptx2\n"); exit (0);
1442 }
1443 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1444 printf ("i386-sequent-ptx1\n"); exit (0);
1445 }
1446 printf ("i386-sequent-ptx\n"); exit (0);
1447
1448#endif
1449
1450#if defined (vax)
1451# if !defined (ultrix)
1452# include <sys/param.h>
1453# if defined (BSD)
1454# if BSD == 43
1455 printf ("vax-dec-bsd4.3\n"); exit (0);
1456# else
1457# if BSD == 199006
1458 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1459# else
1460 printf ("vax-dec-bsd\n"); exit (0);
1461# endif
1462# endif
1463# else
1464 printf ("vax-dec-bsd\n"); exit (0);
1465# endif
1466# else
1467 printf ("vax-dec-ultrix\n"); exit (0);
1468# endif
1469#endif
1470
1471#if defined (alliant) && defined (i860)
1472 printf ("i860-alliant-bsd\n"); exit (0);
1473#endif
1474
1475 exit (1);
1476}
1477EOF
1478
1479$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1480 { echo "$SYSTEM_NAME"; exit; }
1481
1482# Apollos put the system type in the environment.
1483
1484test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1485
1486# Convex versions that predate uname can use getsysinfo(1)
1487
1488if [ -x /usr/convex/getsysinfo ]
1489then
1490 case `getsysinfo -f cpu_type` in
1491 c1*)
1492 echo c1-convex-bsd
1493 exit ;;
1494 c2*)
1495 if getsysinfo -f scalar_acc
1496 then echo c32-convex-bsd
1497 else echo c2-convex-bsd
1498 fi
1499 exit ;;
1500 c34*)
1501 echo c34-convex-bsd
1502 exit ;;
1503 c38*)
1504 echo c38-convex-bsd
1505 exit ;;
1506 c4*)
1507 echo c4-convex-bsd
1508 exit ;;
1509 esac
1510fi
1511
1512cat >&2 <<EOF
1513$0: unable to guess system type
1514
1515This script, last modified $timestamp, has failed to recognize
1516the operating system you are using. It is advised that you
1517download the most up to date version of the config scripts from
1518
1519 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1520and
1521 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1522
1523If the version you run ($0) is already up to date, please
1524send the following data and any information you think might be
1525pertinent to <config-patches@gnu.org> in order to provide the needed
1526information to handle your system.
1527
1528config.guess timestamp = $timestamp
1529
1530uname -m = `(uname -m) 2>/dev/null || echo unknown`
1531uname -r = `(uname -r) 2>/dev/null || echo unknown`
1532uname -s = `(uname -s) 2>/dev/null || echo unknown`
1533uname -v = `(uname -v) 2>/dev/null || echo unknown`
1534
1535/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1536/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1537
1538hostinfo = `(hostinfo) 2>/dev/null`
1539/bin/universe = `(/bin/universe) 2>/dev/null`
1540/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1541/bin/arch = `(/bin/arch) 2>/dev/null`
1542/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1543/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1544
1545UNAME_MACHINE = ${UNAME_MACHINE}
1546UNAME_RELEASE = ${UNAME_RELEASE}
1547UNAME_SYSTEM = ${UNAME_SYSTEM}
1548UNAME_VERSION = ${UNAME_VERSION}
1549EOF
1550
1551exit 1
1552
1553# Local variables:
1554# eval: (add-hook 'write-file-hooks 'time-stamp)
1555# time-stamp-start: "timestamp='"
1556# time-stamp-format: "%:y-%02m-%02d"
1557# time-stamp-end: "'"
1558# End: