blob: dc84c68ef798c6a5000c78c6dd7380d34c9e0218 [file] [log] [blame]
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001#! /bin/sh
2# Attempt to guess a canonical system name.
Guido Vollbeding5996a252009-06-27 00:00:00 +00003# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
Guido Vollbeding989630f2010-01-10 00:00:00 +00004# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Guido Vollbeding5996a252009-06-27 00:00:00 +00005# Free Software Foundation, Inc.
6
Guido Vollbeding989630f2010-01-10 00:00:00 +00007timestamp='2009-11-20'
Guido Vollbeding5996a252009-06-27 00:00:00 +00008
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00009# 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
11# the Free Software Foundation; either version 2 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, write to the Free Software
Guido Vollbeding5996a252009-06-27 00:00:00 +000021# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22# 02110-1301, USA.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +000023#
24# As a special exception to the GNU General Public License, if you
25# distribute this file as part of a program that contains a
26# configuration script generated by Autoconf, you may include it under
27# the same distribution terms that you use for the rest of that program.
28
Guido Vollbeding5996a252009-06-27 00:00:00 +000029
Guido Vollbeding989630f2010-01-10 00:00:00 +000030# Originally written by Per Bothner. Please send patches (context
31# diff format) to <config-patches@gnu.org> and include a ChangeLog
32# entry.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +000033#
34# This script attempts to guess a canonical system name similar to
35# config.sub. If it succeeds, it prints the system name on stdout, and
36# exits with 0. Otherwise, it exits with 1.
37#
Guido Vollbeding989630f2010-01-10 00:00:00 +000038# You can get the latest version of this script from:
39# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
Guido Vollbeding5996a252009-06-27 00:00:00 +000040
41me=`echo "$0" | sed -e 's,.*/,,'`
42
43usage="\
44Usage: $0 [OPTION]
45
46Output the configuration name of the system \`$me' is run on.
47
48Operation modes:
49 -h, --help print this help, then exit
50 -t, --time-stamp print date of last modification, then exit
51 -v, --version print version number, then exit
52
53Report bugs and patches to <config-patches@gnu.org>."
54
55version="\
56GNU config.guess ($timestamp)
57
58Originally written by Per Bothner.
59Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
602002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61
62This is free software; see the source for copying conditions. There is NO
63warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64
65help="
66Try \`$me --help' for more information."
67
68# Parse command line
69while test $# -gt 0 ; do
70 case $1 in
71 --time-stamp | --time* | -t )
72 echo "$timestamp" ; exit ;;
73 --version | -v )
74 echo "$version" ; exit ;;
75 --help | --h* | -h )
76 echo "$usage"; exit ;;
77 -- ) # Stop option processing
78 shift; break ;;
79 - ) # Use stdin as input.
80 break ;;
81 -* )
82 echo "$me: invalid option $1$help" >&2
83 exit 1 ;;
84 * )
85 break ;;
86 esac
87done
88
89if test $# != 0; then
90 echo "$me: too many arguments$help" >&2
91 exit 1
92fi
93
94trap 'exit 1' 1 2 15
95
96# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97# compiler to aid in system detection is discouraged as it requires
98# temporary files to be created and, as you can see below, it is a
99# headache to deal with in a portable fashion.
100
101# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102# use `HOST_CC' if defined, but it is deprecated.
103
104# Portable tmp directory creation inspired by the Autoconf team.
105
106set_cc_for_build='
107trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109: ${TMPDIR=/tmp} ;
110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114dummy=$tmp/dummy ;
115tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116case $CC_FOR_BUILD,$HOST_CC,$CC in
117 ,,) echo "int x;" > $dummy.c ;
118 for c in cc gcc c89 c99 ; do
119 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120 CC_FOR_BUILD="$c"; break ;
121 fi ;
122 done ;
123 if test x"$CC_FOR_BUILD" = x ; then
124 CC_FOR_BUILD=no_compiler_found ;
125 fi
126 ;;
127 ,,*) CC_FOR_BUILD=$CC ;;
128 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
129esac ; set_cc_for_build= ;'
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000130
131# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000132# (ghazi@noc.rutgers.edu 1994-08-24)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000133if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134 PATH=$PATH:/.attbin ; export PATH
135fi
136
137UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
Guido Vollbeding5996a252009-06-27 00:00:00 +0000139UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000140UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000142# Note: order is significant - the case branches are not exclusive.
143
144case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
Guido Vollbeding5996a252009-06-27 00:00:00 +0000145 *:NetBSD:*:*)
146 # NetBSD (nbsd) targets should (where applicable) match one or
147 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
149 # switched to ELF, *-*-netbsd* would select the old
150 # object file format. This provides both forward
151 # compatibility and a consistent mechanism for selecting the
152 # object file format.
153 #
154 # Note: NetBSD doesn't particularly care about the vendor
155 # portion of the name. We always set it to "unknown".
156 sysctl="sysctl -n hw.machine_arch"
157 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159 case "${UNAME_MACHINE_ARCH}" in
160 armeb) machine=armeb-unknown ;;
161 arm*) machine=arm-unknown ;;
162 sh3el) machine=shl-unknown ;;
163 sh3eb) machine=sh-unknown ;;
164 sh5el) machine=sh5le-unknown ;;
165 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
166 esac
167 # The Operating System including object format, if it has switched
168 # to ELF recently, or will in the future.
169 case "${UNAME_MACHINE_ARCH}" in
170 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171 eval $set_cc_for_build
172 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
Guido Vollbeding989630f2010-01-10 00:00:00 +0000173 | grep -q __ELF__
Guido Vollbeding5996a252009-06-27 00:00:00 +0000174 then
175 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176 # Return netbsd for either. FIX?
177 os=netbsd
178 else
179 os=netbsdelf
180 fi
181 ;;
182 *)
183 os=netbsd
184 ;;
185 esac
186 # The OS release
187 # Debian GNU/NetBSD machines have a different userland, and
188 # thus, need a distinct triplet. However, they do not need
189 # kernel version information, so it can be replaced with a
190 # suitable tag, in the style of linux-gnu.
191 case "${UNAME_VERSION}" in
192 Debian*)
193 release='-gnu'
194 ;;
195 *)
196 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197 ;;
198 esac
199 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
200 # contains redundant information, the shorter form:
201 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
202 echo "${machine}-${os}${release}"
203 exit ;;
204 *:OpenBSD:*:*)
205 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207 exit ;;
208 *:ekkoBSD:*:*)
209 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210 exit ;;
211 *:SolidBSD:*:*)
212 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213 exit ;;
214 macppc:MirBSD:*:*)
215 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216 exit ;;
217 *:MirBSD:*:*)
218 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000220 alpha:OSF1:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000221 case $UNAME_RELEASE in
222 *4.0)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000223 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000224 ;;
225 *5.*)
226 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
227 ;;
228 esac
229 # According to Compaq, /usr/sbin/psrinfo has been available on
230 # OSF/1 and Tru64 systems produced since 1995. I hope that
231 # covers most systems running today. This code pipes the CPU
232 # types through head -n 1, so we only detect the type of CPU 0.
233 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234 case "$ALPHA_CPU_TYPE" in
235 "EV4 (21064)")
236 UNAME_MACHINE="alpha" ;;
237 "EV4.5 (21064)")
238 UNAME_MACHINE="alpha" ;;
239 "LCA4 (21066/21068)")
240 UNAME_MACHINE="alpha" ;;
241 "EV5 (21164)")
242 UNAME_MACHINE="alphaev5" ;;
243 "EV5.6 (21164A)")
244 UNAME_MACHINE="alphaev56" ;;
245 "EV5.6 (21164PC)")
246 UNAME_MACHINE="alphapca56" ;;
247 "EV5.7 (21164PC)")
248 UNAME_MACHINE="alphapca57" ;;
249 "EV6 (21264)")
250 UNAME_MACHINE="alphaev6" ;;
251 "EV6.7 (21264A)")
252 UNAME_MACHINE="alphaev67" ;;
253 "EV6.8CB (21264C)")
254 UNAME_MACHINE="alphaev68" ;;
255 "EV6.8AL (21264B)")
256 UNAME_MACHINE="alphaev68" ;;
257 "EV6.8CX (21264D)")
258 UNAME_MACHINE="alphaev68" ;;
259 "EV6.9A (21264/EV69A)")
260 UNAME_MACHINE="alphaev69" ;;
261 "EV7 (21364)")
262 UNAME_MACHINE="alphaev7" ;;
263 "EV7.9 (21364A)")
264 UNAME_MACHINE="alphaev79" ;;
265 esac
266 # A Pn.n version is a patched version.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000267 # A Vn.n version is a released version.
268 # A Tn.n version is a released field test version.
269 # A Xn.n version is an unreleased experimental baselevel.
270 # 1.2 uses "1.2" for uname -r.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000271 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272 exit ;;
273 Alpha\ *:Windows_NT*:*)
274 # How do we know it's Interix rather than the generic POSIX subsystem?
275 # Should we change UNAME_MACHINE based on the output of uname instead
276 # of the specific Alpha model?
277 echo alpha-pc-interix
278 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000279 21064:Windows_NT:50:3)
280 echo alpha-dec-winnt3.5
Guido Vollbeding5996a252009-06-27 00:00:00 +0000281 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000282 Amiga*:UNIX_System_V:4.0:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000283 echo m68k-unknown-sysv4
284 exit ;;
285 *:[Aa]miga[Oo][Ss]:*:*)
286 echo ${UNAME_MACHINE}-unknown-amigaos
287 exit ;;
288 *:[Mm]orph[Oo][Ss]:*:*)
289 echo ${UNAME_MACHINE}-unknown-morphos
290 exit ;;
291 *:OS/390:*:*)
292 echo i370-ibm-openedition
293 exit ;;
294 *:z/VM:*:*)
295 echo s390-ibm-zvmoe
296 exit ;;
297 *:OS400:*:*)
298 echo powerpc-ibm-os400
299 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000300 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301 echo arm-acorn-riscix${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000302 exit ;;
303 arm:riscos:*:*|arm:RISCOS:*:*)
304 echo arm-unknown-riscos
305 exit ;;
306 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000307 echo hppa1.1-hitachi-hiuxmpp
Guido Vollbeding5996a252009-06-27 00:00:00 +0000308 exit ;;
309 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000310 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311 if test "`(/bin/universe) 2>/dev/null`" = att ; then
312 echo pyramid-pyramid-sysv3
313 else
314 echo pyramid-pyramid-bsd
315 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +0000316 exit ;;
317 NILE*:*:*:dcosx)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000318 echo pyramid-pyramid-svr4
Guido Vollbeding5996a252009-06-27 00:00:00 +0000319 exit ;;
320 DRS?6000:unix:4.0:6*)
321 echo sparc-icl-nx6
322 exit ;;
323 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324 case `/usr/bin/uname -p` in
325 sparc) echo sparc-icl-nx7; exit ;;
326 esac ;;
327 s390x:SunOS:*:*)
328 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329 exit ;;
330 sun4H:SunOS:5.*:*)
331 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000333 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
334 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000335 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000336 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
337 echo i386-pc-auroraux${UNAME_RELEASE}
338 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000339 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
340 eval $set_cc_for_build
341 SUN_ARCH="i386"
342 # If there is a compiler, see if it is configured for 64-bit objects.
343 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
344 # This test works for both compilers.
345 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
346 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
347 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
348 grep IS_64BIT_ARCH >/dev/null
349 then
350 SUN_ARCH="x86_64"
351 fi
352 fi
353 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000355 sun4*:SunOS:6*:*)
356 # According to config.sub, this is the proper way to canonicalize
357 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
358 # it's likely to be more like Solaris than SunOS4.
359 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000360 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000361 sun4*:SunOS:*:*)
362 case "`/usr/bin/arch -k`" in
363 Series*|S4*)
364 UNAME_RELEASE=`uname -v`
365 ;;
366 esac
367 # Japanese Language versions have a version number like `4.1.3-JL'.
368 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000369 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000370 sun3*:SunOS:*:*)
371 echo m68k-sun-sunos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000372 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000373 sun*:*:4.2BSD:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000374 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000375 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
376 case "`/bin/arch`" in
377 sun3)
378 echo m68k-sun-sunos${UNAME_RELEASE}
379 ;;
380 sun4)
381 echo sparc-sun-sunos${UNAME_RELEASE}
382 ;;
383 esac
Guido Vollbeding5996a252009-06-27 00:00:00 +0000384 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000385 aushp:SunOS:*:*)
386 echo sparc-auspex-sunos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000387 exit ;;
388 # The situation for MiNT is a little confusing. The machine name
389 # can be virtually everything (everything which is not
390 # "atarist" or "atariste" at least should have a processor
391 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
392 # to the lowercase version "mint" (or "freemint"). Finally
393 # the system name "TOS" denotes a system which is actually not
394 # MiNT. But MiNT is downward compatible to TOS, so this should
395 # be no problem.
396 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
397 echo m68k-atari-mint${UNAME_RELEASE}
398 exit ;;
399 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
400 echo m68k-atari-mint${UNAME_RELEASE}
401 exit ;;
402 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
403 echo m68k-atari-mint${UNAME_RELEASE}
404 exit ;;
405 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
406 echo m68k-milan-mint${UNAME_RELEASE}
407 exit ;;
408 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
409 echo m68k-hades-mint${UNAME_RELEASE}
410 exit ;;
411 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
412 echo m68k-unknown-mint${UNAME_RELEASE}
413 exit ;;
414 m68k:machten:*:*)
415 echo m68k-apple-machten${UNAME_RELEASE}
416 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000417 powerpc:machten:*:*)
418 echo powerpc-apple-machten${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000419 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000420 RISC*:Mach:*:*)
421 echo mips-dec-mach_bsd4.3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000422 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000423 RISC*:ULTRIX:*:*)
424 echo mips-dec-ultrix${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000425 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000426 VAX*:ULTRIX*:*:*)
427 echo vax-dec-ultrix${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000428 exit ;;
429 2020:CLIX:*:* | 2430:CLIX:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000430 echo clipper-intergraph-clix${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000431 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000432 mips:*:*:UMIPS | mips:*:*:RISCos)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000433 eval $set_cc_for_build
434 sed 's/^ //' << EOF >$dummy.c
435#ifdef __cplusplus
436#include <stdio.h> /* for printf() prototype */
437 int main (int argc, char *argv[]) {
438#else
439 int main (argc, argv) int argc; char *argv[]; {
440#endif
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000441 #if defined (host_mips) && defined (MIPSEB)
442 #if defined (SYSTYPE_SYSV)
443 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
444 #endif
445 #if defined (SYSTYPE_SVR4)
446 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
447 #endif
448 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
449 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
450 #endif
451 #endif
452 exit (-1);
453 }
454EOF
Guido Vollbeding5996a252009-06-27 00:00:00 +0000455 $CC_FOR_BUILD -o $dummy $dummy.c &&
456 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
457 SYSTEM_NAME=`$dummy $dummyarg` &&
458 { echo "$SYSTEM_NAME"; exit; }
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000459 echo mips-mips-riscos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000460 exit ;;
461 Motorola:PowerMAX_OS:*:*)
462 echo powerpc-motorola-powermax
463 exit ;;
464 Motorola:*:4.3:PL8-*)
465 echo powerpc-harris-powermax
466 exit ;;
467 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
468 echo powerpc-harris-powermax
469 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000470 Night_Hawk:Power_UNIX:*:*)
471 echo powerpc-harris-powerunix
Guido Vollbeding5996a252009-06-27 00:00:00 +0000472 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000473 m88k:CX/UX:7*:*)
474 echo m88k-harris-cxux7
Guido Vollbeding5996a252009-06-27 00:00:00 +0000475 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000476 m88k:*:4*:R4*)
477 echo m88k-motorola-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +0000478 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000479 m88k:*:3*:R3*)
480 echo m88k-motorola-sysv3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000481 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000482 AViiON:dgux:*:*)
483 # DG/UX returns AViiON for all architectures
484 UNAME_PROCESSOR=`/usr/bin/uname -p`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000485 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
486 then
487 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
488 [ ${TARGET_BINARY_INTERFACE}x = x ]
489 then
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000490 echo m88k-dg-dgux${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000491 else
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000492 echo m88k-dg-dguxbcs${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000493 fi
494 else
495 echo i586-dg-dgux${UNAME_RELEASE}
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000496 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +0000497 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000498 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
499 echo m88k-dolphin-sysv3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000500 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000501 M88*:*:R3*:*)
502 # Delta 88k system running SVR3
503 echo m88k-motorola-sysv3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000504 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000505 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
506 echo m88k-tektronix-sysv3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000507 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000508 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
509 echo m68k-tektronix-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000510 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000511 *:IRIX*:*:*)
512 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000513 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000514 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
Guido Vollbeding5996a252009-06-27 00:00:00 +0000515 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
516 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
517 i*86:AIX:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000518 echo i386-ibm-aix
Guido Vollbeding5996a252009-06-27 00:00:00 +0000519 exit ;;
520 ia64:AIX:*:*)
521 if [ -x /usr/bin/oslevel ] ; then
522 IBM_REV=`/usr/bin/oslevel`
523 else
524 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
525 fi
526 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
527 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000528 *:AIX:2:3)
529 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
Guido Vollbeding5996a252009-06-27 00:00:00 +0000530 eval $set_cc_for_build
531 sed 's/^ //' << EOF >$dummy.c
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000532 #include <sys/systemcfg.h>
533
534 main()
535 {
536 if (!__power_pc())
537 exit(1);
538 puts("powerpc-ibm-aix3.2.5");
539 exit(0);
540 }
541EOF
Guido Vollbeding5996a252009-06-27 00:00:00 +0000542 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
543 then
544 echo "$SYSTEM_NAME"
545 else
546 echo rs6000-ibm-aix3.2.5
547 fi
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000548 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
549 echo rs6000-ibm-aix3.2.4
550 else
551 echo rs6000-ibm-aix3.2
552 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +0000553 exit ;;
554 *:AIX:*:[456])
555 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
556 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000557 IBM_ARCH=rs6000
558 else
559 IBM_ARCH=powerpc
560 fi
561 if [ -x /usr/bin/oslevel ] ; then
562 IBM_REV=`/usr/bin/oslevel`
563 else
Guido Vollbeding5996a252009-06-27 00:00:00 +0000564 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000565 fi
566 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000567 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000568 *:AIX:*:*)
569 echo rs6000-ibm-aix
Guido Vollbeding5996a252009-06-27 00:00:00 +0000570 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000571 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
572 echo romp-ibm-bsd4.4
Guido Vollbeding5996a252009-06-27 00:00:00 +0000573 exit ;;
574 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000575 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
Guido Vollbeding5996a252009-06-27 00:00:00 +0000576 exit ;; # report: romp-ibm BSD 4.3
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000577 *:BOSX:*:*)
578 echo rs6000-bull-bosx
Guido Vollbeding5996a252009-06-27 00:00:00 +0000579 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000580 DPX/2?00:B.O.S.:*:*)
581 echo m68k-bull-sysv3
Guido Vollbeding5996a252009-06-27 00:00:00 +0000582 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000583 9000/[34]??:4.3bsd:1.*:*)
584 echo m68k-hp-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000585 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000586 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
587 echo m68k-hp-bsd4.4
Guido Vollbeding5996a252009-06-27 00:00:00 +0000588 exit ;;
589 9000/[34678]??:HP-UX:*:*)
590 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000591 case "${UNAME_MACHINE}" in
592 9000/31? ) HP_ARCH=m68000 ;;
593 9000/[34]?? ) HP_ARCH=m68k ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000594 9000/[678][0-9][0-9])
595 if [ -x /usr/bin/getconf ]; then
596 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
597 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
598 case "${sc_cpu_version}" in
599 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
600 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
601 532) # CPU_PA_RISC2_0
602 case "${sc_kernel_bits}" in
603 32) HP_ARCH="hppa2.0n" ;;
604 64) HP_ARCH="hppa2.0w" ;;
605 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
606 esac ;;
607 esac
608 fi
609 if [ "${HP_ARCH}" = "" ]; then
610 eval $set_cc_for_build
611 sed 's/^ //' << EOF >$dummy.c
612
613 #define _HPUX_SOURCE
614 #include <stdlib.h>
615 #include <unistd.h>
616
617 int main ()
618 {
619 #if defined(_SC_KERNEL_BITS)
620 long bits = sysconf(_SC_KERNEL_BITS);
621 #endif
622 long cpu = sysconf (_SC_CPU_VERSION);
623
624 switch (cpu)
625 {
626 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
627 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
628 case CPU_PA_RISC2_0:
629 #if defined(_SC_KERNEL_BITS)
630 switch (bits)
631 {
632 case 64: puts ("hppa2.0w"); break;
633 case 32: puts ("hppa2.0n"); break;
634 default: puts ("hppa2.0"); break;
635 } break;
636 #else /* !defined(_SC_KERNEL_BITS) */
637 puts ("hppa2.0"); break;
638 #endif
639 default: puts ("hppa1.0"); break;
640 }
641 exit (0);
642 }
643EOF
644 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
645 test -z "$HP_ARCH" && HP_ARCH=hppa
646 fi ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000647 esac
Guido Vollbeding5996a252009-06-27 00:00:00 +0000648 if [ ${HP_ARCH} = "hppa2.0w" ]
649 then
650 eval $set_cc_for_build
651
652 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
653 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
654 # generating 64-bit code. GNU and HP use different nomenclature:
655 #
656 # $ CC_FOR_BUILD=cc ./config.guess
657 # => hppa2.0w-hp-hpux11.23
658 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
659 # => hppa64-hp-hpux11.23
660
661 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
Guido Vollbeding989630f2010-01-10 00:00:00 +0000662 grep -q __LP64__
Guido Vollbeding5996a252009-06-27 00:00:00 +0000663 then
664 HP_ARCH="hppa2.0w"
665 else
666 HP_ARCH="hppa64"
667 fi
668 fi
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000669 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000670 exit ;;
671 ia64:HP-UX:*:*)
672 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
673 echo ia64-hp-hpux${HPUX_REV}
674 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000675 3050*:HI-UX:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000676 eval $set_cc_for_build
677 sed 's/^ //' << EOF >$dummy.c
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000678 #include <unistd.h>
679 int
680 main ()
681 {
682 long cpu = sysconf (_SC_CPU_VERSION);
683 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
684 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
685 results, however. */
686 if (CPU_IS_PA_RISC (cpu))
687 {
688 switch (cpu)
689 {
690 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
691 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
692 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
693 default: puts ("hppa-hitachi-hiuxwe2"); break;
694 }
695 }
696 else if (CPU_IS_HP_MC68K (cpu))
697 puts ("m68k-hitachi-hiuxwe2");
698 else puts ("unknown-hitachi-hiuxwe2");
699 exit (0);
700 }
701EOF
Guido Vollbeding5996a252009-06-27 00:00:00 +0000702 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
703 { echo "$SYSTEM_NAME"; exit; }
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000704 echo unknown-hitachi-hiuxwe2
Guido Vollbeding5996a252009-06-27 00:00:00 +0000705 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000706 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
707 echo hppa1.1-hp-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000708 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000709 9000/8??:4.3bsd:*:*)
710 echo hppa1.0-hp-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000711 exit ;;
712 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
713 echo hppa1.0-hp-mpeix
714 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000715 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
716 echo hppa1.1-hp-osf
Guido Vollbeding5996a252009-06-27 00:00:00 +0000717 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000718 hp8??:OSF1:*:*)
719 echo hppa1.0-hp-osf
Guido Vollbeding5996a252009-06-27 00:00:00 +0000720 exit ;;
721 i*86:OSF1:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000722 if [ -x /usr/sbin/sysversion ] ; then
723 echo ${UNAME_MACHINE}-unknown-osf1mk
724 else
725 echo ${UNAME_MACHINE}-unknown-osf1
726 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +0000727 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000728 parisc*:Lites*:*:*)
729 echo hppa1.1-hp-lites
Guido Vollbeding5996a252009-06-27 00:00:00 +0000730 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000731 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
732 echo c1-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000733 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000734 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
735 if getsysinfo -f scalar_acc
736 then echo c32-convex-bsd
737 else echo c2-convex-bsd
738 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +0000739 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000740 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
741 echo c34-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000742 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000743 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
744 echo c38-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000745 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000746 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
747 echo c4-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +0000748 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000749 CRAY*Y-MP:*:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000750 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000752 CRAY*[A-Z]90:*:*:*)
753 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
754 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
Guido Vollbeding5996a252009-06-27 00:00:00 +0000755 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
756 -e 's/\.[^.]*$/.X/'
757 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000758 CRAY*TS:*:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000759 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760 exit ;;
761 CRAY*T3E:*:*:*)
762 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763 exit ;;
764 CRAY*SV1:*:*:*)
765 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766 exit ;;
767 *:UNICOS/mp:*:*)
768 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
769 exit ;;
770 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
771 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
772 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000773 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000774 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
775 exit ;;
776 5000:UNIX_System_V:4.*:*)
777 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
778 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
779 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
780 exit ;;
781 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000782 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000783 exit ;;
784 sparc*:BSD/OS:*:*)
785 echo sparc-unknown-bsdi${UNAME_RELEASE}
786 exit ;;
787 *:BSD/OS:*:*)
788 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
789 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000790 *:FreeBSD:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000791 case ${UNAME_MACHINE} in
792 pc98)
793 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
794 amd64)
795 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796 *)
797 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798 esac
799 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000800 i*:CYGWIN*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000801 echo ${UNAME_MACHINE}-pc-cygwin
802 exit ;;
803 *:MINGW*:*)
804 echo ${UNAME_MACHINE}-pc-mingw32
805 exit ;;
806 i*:windows32*:*)
807 # uname -m includes "-pc" on this system.
808 echo ${UNAME_MACHINE}-mingw32
809 exit ;;
810 i*:PW*:*)
811 echo ${UNAME_MACHINE}-pc-pw32
812 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000813 *:Interix*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000814 case ${UNAME_MACHINE} in
815 x86)
816 echo i586-pc-interix${UNAME_RELEASE}
817 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000818 authenticamd | genuineintel | EM64T)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000819 echo x86_64-unknown-interix${UNAME_RELEASE}
820 exit ;;
821 IA64)
822 echo ia64-unknown-interix${UNAME_RELEASE}
823 exit ;;
824 esac ;;
825 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
826 echo i${UNAME_MACHINE}-pc-mks
827 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000828 8664:Windows_NT:*)
829 echo x86_64-pc-mks
830 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000831 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
832 # How do we know it's Interix rather than the generic POSIX subsystem?
833 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
834 # UNAME_MACHINE based on the output of uname instead of i386?
835 echo i586-pc-interix
836 exit ;;
837 i*:UWIN*:*)
838 echo ${UNAME_MACHINE}-pc-uwin
839 exit ;;
840 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
841 echo x86_64-unknown-cygwin
842 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000843 p*:CYGWIN*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000844 echo powerpcle-unknown-cygwin
845 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000846 prep*:SunOS:5.*:*)
847 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000848 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000849 *:GNU:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000850 # the GNU system
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000851 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000852 exit ;;
853 *:GNU/*:*:*)
854 # other systems with GNU libc and userland
855 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
856 exit ;;
857 i*86:Minix:*:*)
858 echo ${UNAME_MACHINE}-pc-minix
859 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000860 alpha:Linux:*:*)
861 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
862 EV5) UNAME_MACHINE=alphaev5 ;;
863 EV56) UNAME_MACHINE=alphaev56 ;;
864 PCA56) UNAME_MACHINE=alphapca56 ;;
865 PCA57) UNAME_MACHINE=alphapca56 ;;
866 EV6) UNAME_MACHINE=alphaev6 ;;
867 EV67) UNAME_MACHINE=alphaev67 ;;
868 EV68*) UNAME_MACHINE=alphaev68 ;;
869 esac
870 objdump --private-headers /bin/sh | grep -q ld.so.1
871 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
872 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
873 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000874 arm*:Linux:*:*)
875 eval $set_cc_for_build
876 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
877 | grep -q __ARM_EABI__
878 then
879 echo ${UNAME_MACHINE}-unknown-linux-gnu
880 else
881 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
882 fi
883 exit ;;
884 avr32*:Linux:*:*)
885 echo ${UNAME_MACHINE}-unknown-linux-gnu
886 exit ;;
887 cris:Linux:*:*)
888 echo cris-axis-linux-gnu
889 exit ;;
890 crisv32:Linux:*:*)
891 echo crisv32-axis-linux-gnu
892 exit ;;
893 frv:Linux:*:*)
894 echo frv-unknown-linux-gnu
895 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000896 i*86:Linux:*:*)
897 LIBC=gnu
898 eval $set_cc_for_build
899 sed 's/^ //' << EOF >$dummy.c
900 #ifdef __dietlibc__
901 LIBC=dietlibc
902 #endif
903EOF
904 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
905 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
906 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000907 ia64:Linux:*:*)
908 echo ${UNAME_MACHINE}-unknown-linux-gnu
909 exit ;;
910 m32r*:Linux:*:*)
911 echo ${UNAME_MACHINE}-unknown-linux-gnu
912 exit ;;
913 m68*:Linux:*:*)
914 echo ${UNAME_MACHINE}-unknown-linux-gnu
915 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000916 mips:Linux:*:* | mips64:Linux:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +0000917 eval $set_cc_for_build
918 sed 's/^ //' << EOF >$dummy.c
919 #undef CPU
Guido Vollbeding989630f2010-01-10 00:00:00 +0000920 #undef ${UNAME_MACHINE}
921 #undef ${UNAME_MACHINE}el
Guido Vollbeding5996a252009-06-27 00:00:00 +0000922 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
Guido Vollbeding989630f2010-01-10 00:00:00 +0000923 CPU=${UNAME_MACHINE}el
Guido Vollbeding5996a252009-06-27 00:00:00 +0000924 #else
925 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
Guido Vollbeding989630f2010-01-10 00:00:00 +0000926 CPU=${UNAME_MACHINE}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000927 #else
928 CPU=
929 #endif
930 #endif
931EOF
Guido Vollbeding989630f2010-01-10 00:00:00 +0000932 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
Guido Vollbeding5996a252009-06-27 00:00:00 +0000933 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
934 ;;
935 or32:Linux:*:*)
936 echo or32-unknown-linux-gnu
937 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000938 padre:Linux:*:*)
939 echo sparc-unknown-linux-gnu
940 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000941 parisc64:Linux:*:* | hppa64:Linux:*:*)
942 echo hppa64-unknown-linux-gnu
943 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000944 parisc:Linux:*:* | hppa:Linux:*:*)
945 # Look for CPU level
946 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
947 PA7*) echo hppa1.1-unknown-linux-gnu ;;
948 PA8*) echo hppa2.0-unknown-linux-gnu ;;
949 *) echo hppa-unknown-linux-gnu ;;
950 esac
951 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +0000952 ppc64:Linux:*:*)
953 echo powerpc64-unknown-linux-gnu
954 exit ;;
955 ppc:Linux:*:*)
956 echo powerpc-unknown-linux-gnu
Guido Vollbeding5996a252009-06-27 00:00:00 +0000957 exit ;;
958 s390:Linux:*:* | s390x:Linux:*:*)
959 echo ${UNAME_MACHINE}-ibm-linux
960 exit ;;
961 sh64*:Linux:*:*)
962 echo ${UNAME_MACHINE}-unknown-linux-gnu
963 exit ;;
964 sh*:Linux:*:*)
965 echo ${UNAME_MACHINE}-unknown-linux-gnu
966 exit ;;
967 sparc:Linux:*:* | sparc64:Linux:*:*)
968 echo ${UNAME_MACHINE}-unknown-linux-gnu
969 exit ;;
970 vax:Linux:*:*)
971 echo ${UNAME_MACHINE}-dec-linux-gnu
972 exit ;;
973 x86_64:Linux:*:*)
974 echo x86_64-unknown-linux-gnu
975 exit ;;
976 xtensa*:Linux:*:*)
977 echo ${UNAME_MACHINE}-unknown-linux-gnu
978 exit ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +0000979 i*86:DYNIX/ptx:4*:*)
980 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
981 # earlier versions are messed up and put the nodename in both
982 # sysname and nodename.
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000983 echo i386-sequent-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +0000984 exit ;;
985 i*86:UNIX_SV:4.2MP:2.*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +0000986 # Unixware is an offshoot of SVR4, but it has its own version
987 # number series starting with 2...
988 # I am not positive that other SVR4 systems won't match this,
989 # I just have to hope. -- rms.
990 # Use sysv4.2uw... so that sysv4* matches it.
991 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
Guido Vollbeding5996a252009-06-27 00:00:00 +0000992 exit ;;
993 i*86:OS/2:*:*)
994 # If we were able to find `uname', then EMX Unix compatibility
995 # is probably installed.
996 echo ${UNAME_MACHINE}-pc-os2-emx
997 exit ;;
998 i*86:XTS-300:*:STOP)
999 echo ${UNAME_MACHINE}-unknown-stop
1000 exit ;;
1001 i*86:atheos:*:*)
1002 echo ${UNAME_MACHINE}-unknown-atheos
1003 exit ;;
1004 i*86:syllable:*:*)
1005 echo ${UNAME_MACHINE}-pc-syllable
1006 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +00001007 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +00001008 echo i386-unknown-lynxos${UNAME_RELEASE}
1009 exit ;;
1010 i*86:*DOS:*:*)
1011 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1012 exit ;;
1013 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1014 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001015 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
Guido Vollbeding5996a252009-06-27 00:00:00 +00001016 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001017 else
Guido Vollbeding5996a252009-06-27 00:00:00 +00001018 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001019 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001020 exit ;;
1021 i*86:*:5:[678]*)
1022 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1023 case `/bin/uname -X | grep "^Machine"` in
1024 *486*) UNAME_MACHINE=i486 ;;
1025 *Pentium) UNAME_MACHINE=i586 ;;
1026 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1027 esac
1028 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1029 exit ;;
1030 i*86:*:3.2:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001031 if test -f /usr/options/cb.name; then
1032 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1033 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1034 elif /bin/uname -X 2>/dev/null >/dev/null ; then
Guido Vollbeding5996a252009-06-27 00:00:00 +00001035 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1036 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1037 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001038 && UNAME_MACHINE=i586
Guido Vollbeding5996a252009-06-27 00:00:00 +00001039 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1040 && UNAME_MACHINE=i686
1041 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1042 && UNAME_MACHINE=i686
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001043 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1044 else
1045 echo ${UNAME_MACHINE}-pc-sysv32
1046 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001047 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001048 pc:*:*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +00001049 # Left here for compatibility:
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001050 # uname -m prints for DJGPP always 'pc', but it prints nothing about
Guido Vollbeding5996a252009-06-27 00:00:00 +00001051 # the processor, so we play safe by assuming i586.
1052 # Note: whatever this is, it MUST be the same as what config.sub
1053 # prints for the "djgpp" host, or else GDB configury will decide that
1054 # this is a cross-build.
1055 echo i586-pc-msdosdjgpp
1056 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001057 Intel:Mach:3*:*)
1058 echo i386-pc-mach3
Guido Vollbeding5996a252009-06-27 00:00:00 +00001059 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001060 paragon:*:*:*)
1061 echo i860-intel-osf1
Guido Vollbeding5996a252009-06-27 00:00:00 +00001062 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001063 i860:*:4.*:*) # i860-SVR4
1064 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1065 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1066 else # Add other i860-SVR4 vendors below as they are discovered.
1067 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1068 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001069 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001070 mini*:CTIX:SYS*5:*)
1071 # "miniframe"
1072 echo m68010-convergent-sysv
Guido Vollbeding5996a252009-06-27 00:00:00 +00001073 exit ;;
1074 mc68k:UNIX:SYSTEM5:3.51m)
1075 echo m68k-convergent-sysv
1076 exit ;;
1077 M680?0:D-NIX:5.3:*)
1078 echo m68k-diab-dnix
1079 exit ;;
1080 M68*:*:R3V[5678]*:*)
1081 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1082 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)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001083 OS_REL=''
1084 test -r /etc/.relid \
1085 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1086 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
Guido Vollbeding5996a252009-06-27 00:00:00 +00001087 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001088 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
Guido Vollbeding5996a252009-06-27 00:00:00 +00001089 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001090 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1091 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
Guido Vollbeding5996a252009-06-27 00:00:00 +00001092 && { echo i486-ncr-sysv4; exit; } ;;
1093 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1094 OS_REL='.3'
1095 test -r /etc/.relid \
1096 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1101 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1102 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1103 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001104 echo m68k-unknown-lynxos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +00001105 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001106 mc68030:UNIX_System_V:4.*:*)
1107 echo m68k-atari-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +00001108 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001109 TSUNAMI:LynxOS:2.*:*)
1110 echo sparc-unknown-lynxos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +00001111 exit ;;
1112 rs6000:LynxOS:2.*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001113 echo rs6000-unknown-lynxos${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +00001114 exit ;;
Guido Vollbeding989630f2010-01-10 00:00:00 +00001115 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
Guido Vollbeding5996a252009-06-27 00:00:00 +00001116 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1117 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001118 SM[BE]S:UNIX_SV:*:*)
1119 echo mips-dde-sysv${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +00001120 exit ;;
1121 RM*:ReliantUNIX-*:*:*)
1122 echo mips-sni-sysv4
1123 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001124 RM*:SINIX-*:*:*)
1125 echo mips-sni-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +00001126 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001127 *:SINIX-*:*:*)
1128 if uname -p 2>/dev/null >/dev/null ; then
1129 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1130 echo ${UNAME_MACHINE}-sni-sysv4
1131 else
1132 echo ns32k-sni-sysv
1133 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001134 exit ;;
1135 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1136 # says <Richard.M.Bartel@ccMail.Census.GOV>
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001137 echo i586-unisys-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +00001138 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001139 *:UNIX_System_V:4*:FTX*)
1140 # From Gerald Hewes <hewes@openmarket.com>.
1141 # How about differentiating between stratus architectures? -djm
1142 echo hppa1.1-stratus-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +00001143 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001144 *:*:*:FTX*)
1145 # From seanf@swdc.stratus.com.
1146 echo i860-stratus-sysv4
Guido Vollbeding5996a252009-06-27 00:00:00 +00001147 exit ;;
1148 i*86:VOS:*:*)
1149 # From Paul.Green@stratus.com.
1150 echo ${UNAME_MACHINE}-stratus-vos
1151 exit ;;
1152 *:VOS:*:*)
1153 # From Paul.Green@stratus.com.
1154 echo hppa1.1-stratus-vos
1155 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001156 mc68*:A/UX:*:*)
1157 echo m68k-apple-aux${UNAME_RELEASE}
Guido Vollbeding5996a252009-06-27 00:00:00 +00001158 exit ;;
1159 news*:NEWS-OS:6*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001160 echo mips-sony-newsos6
Guido Vollbeding5996a252009-06-27 00:00:00 +00001161 exit ;;
1162 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001163 if [ -d /usr/nec ]; then
1164 echo mips-nec-sysv${UNAME_RELEASE}
1165 else
1166 echo mips-unknown-sysv${UNAME_RELEASE}
1167 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001168 exit ;;
1169 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1170 echo powerpc-be-beos
1171 exit ;;
1172 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1173 echo powerpc-apple-beos
1174 exit ;;
1175 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1176 echo i586-pc-beos
1177 exit ;;
1178 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1179 echo i586-pc-haiku
1180 exit ;;
1181 SX-4:SUPER-UX:*:*)
1182 echo sx4-nec-superux${UNAME_RELEASE}
1183 exit ;;
1184 SX-5:SUPER-UX:*:*)
1185 echo sx5-nec-superux${UNAME_RELEASE}
1186 exit ;;
1187 SX-6:SUPER-UX:*:*)
1188 echo sx6-nec-superux${UNAME_RELEASE}
1189 exit ;;
1190 SX-7:SUPER-UX:*:*)
1191 echo sx7-nec-superux${UNAME_RELEASE}
1192 exit ;;
1193 SX-8:SUPER-UX:*:*)
1194 echo sx8-nec-superux${UNAME_RELEASE}
1195 exit ;;
1196 SX-8R:SUPER-UX:*:*)
1197 echo sx8r-nec-superux${UNAME_RELEASE}
1198 exit ;;
1199 Power*:Rhapsody:*:*)
1200 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1201 exit ;;
1202 *:Rhapsody:*:*)
1203 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1204 exit ;;
1205 *:Darwin:*:*)
1206 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1207 case $UNAME_PROCESSOR in
Guido Vollbeding989630f2010-01-10 00:00:00 +00001208 i386)
1209 eval $set_cc_for_build
1210 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1211 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1212 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1213 grep IS_64BIT_ARCH >/dev/null
1214 then
1215 UNAME_PROCESSOR="x86_64"
1216 fi
1217 fi ;;
Guido Vollbeding5996a252009-06-27 00:00:00 +00001218 unknown) UNAME_PROCESSOR=powerpc ;;
1219 esac
1220 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1221 exit ;;
1222 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1223 UNAME_PROCESSOR=`uname -p`
1224 if test "$UNAME_PROCESSOR" = "x86"; then
1225 UNAME_PROCESSOR=i386
1226 UNAME_MACHINE=pc
1227 fi
1228 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1229 exit ;;
1230 *:QNX:*:4*)
1231 echo i386-pc-qnx
1232 exit ;;
1233 NSE-?:NONSTOP_KERNEL:*:*)
1234 echo nse-tandem-nsk${UNAME_RELEASE}
1235 exit ;;
1236 NSR-?:NONSTOP_KERNEL:*:*)
1237 echo nsr-tandem-nsk${UNAME_RELEASE}
1238 exit ;;
1239 *:NonStop-UX:*:*)
1240 echo mips-compaq-nonstopux
1241 exit ;;
1242 BS2000:POSIX*:*:*)
1243 echo bs2000-siemens-sysv
1244 exit ;;
1245 DS/*:UNIX_System_V:*:*)
1246 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1247 exit ;;
1248 *:Plan9:*:*)
1249 # "uname -m" is not consistent, so use $cputype instead. 386
1250 # is converted to i386 for consistency with other x86
1251 # operating systems.
1252 if test "$cputype" = "386"; then
1253 UNAME_MACHINE=i386
1254 else
1255 UNAME_MACHINE="$cputype"
1256 fi
1257 echo ${UNAME_MACHINE}-unknown-plan9
1258 exit ;;
1259 *:TOPS-10:*:*)
1260 echo pdp10-unknown-tops10
1261 exit ;;
1262 *:TENEX:*:*)
1263 echo pdp10-unknown-tenex
1264 exit ;;
1265 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1266 echo pdp10-dec-tops20
1267 exit ;;
1268 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1269 echo pdp10-xkl-tops20
1270 exit ;;
1271 *:TOPS-20:*:*)
1272 echo pdp10-unknown-tops20
1273 exit ;;
1274 *:ITS:*:*)
1275 echo pdp10-unknown-its
1276 exit ;;
1277 SEI:*:*:SEIUX)
1278 echo mips-sei-seiux${UNAME_RELEASE}
1279 exit ;;
1280 *:DragonFly:*:*)
1281 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1282 exit ;;
1283 *:*VMS:*:*)
1284 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1285 case "${UNAME_MACHINE}" in
1286 A*) echo alpha-dec-vms ; exit ;;
1287 I*) echo ia64-dec-vms ; exit ;;
1288 V*) echo vax-dec-vms ; exit ;;
1289 esac ;;
1290 *:XENIX:*:SysV)
1291 echo i386-pc-xenix
1292 exit ;;
1293 i*86:skyos:*:*)
1294 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1295 exit ;;
1296 i*86:rdos:*:*)
1297 echo ${UNAME_MACHINE}-pc-rdos
1298 exit ;;
1299 i*86:AROS:*:*)
1300 echo ${UNAME_MACHINE}-pc-aros
1301 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001302esac
1303
1304#echo '(No uname command or uname output not recognized.)' 1>&2
1305#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1306
Guido Vollbeding5996a252009-06-27 00:00:00 +00001307eval $set_cc_for_build
1308cat >$dummy.c <<EOF
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001309#ifdef _SEQUENT_
1310# include <sys/types.h>
1311# include <sys/utsname.h>
1312#endif
1313main ()
1314{
1315#if defined (sony)
1316#if defined (MIPSEB)
1317 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1318 I don't know.... */
1319 printf ("mips-sony-bsd\n"); exit (0);
1320#else
1321#include <sys/param.h>
1322 printf ("m68k-sony-newsos%s\n",
1323#ifdef NEWSOS4
1324 "4"
1325#else
1326 ""
1327#endif
1328 ); exit (0);
1329#endif
1330#endif
1331
1332#if defined (__arm) && defined (__acorn) && defined (__unix)
Guido Vollbeding5996a252009-06-27 00:00:00 +00001333 printf ("arm-acorn-riscix\n"); exit (0);
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001334#endif
1335
1336#if defined (hp300) && !defined (hpux)
1337 printf ("m68k-hp-bsd\n"); exit (0);
1338#endif
1339
1340#if defined (NeXT)
1341#if !defined (__ARCHITECTURE__)
1342#define __ARCHITECTURE__ "m68k"
1343#endif
1344 int version;
1345 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
Guido Vollbeding5996a252009-06-27 00:00:00 +00001346 if (version < 4)
1347 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1348 else
1349 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001350 exit (0);
1351#endif
1352
1353#if defined (MULTIMAX) || defined (n16)
1354#if defined (UMAXV)
1355 printf ("ns32k-encore-sysv\n"); exit (0);
1356#else
1357#if defined (CMU)
1358 printf ("ns32k-encore-mach\n"); exit (0);
1359#else
1360 printf ("ns32k-encore-bsd\n"); exit (0);
1361#endif
1362#endif
1363#endif
1364
1365#if defined (__386BSD__)
1366 printf ("i386-pc-bsd\n"); exit (0);
1367#endif
1368
1369#if defined (sequent)
1370#if defined (i386)
1371 printf ("i386-sequent-dynix\n"); exit (0);
1372#endif
1373#if defined (ns32000)
1374 printf ("ns32k-sequent-dynix\n"); exit (0);
1375#endif
1376#endif
1377
1378#if defined (_SEQUENT_)
1379 struct utsname un;
1380
1381 uname(&un);
1382
1383 if (strncmp(un.version, "V2", 2) == 0) {
1384 printf ("i386-sequent-ptx2\n"); exit (0);
1385 }
1386 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1387 printf ("i386-sequent-ptx1\n"); exit (0);
1388 }
1389 printf ("i386-sequent-ptx\n"); exit (0);
1390
1391#endif
1392
1393#if defined (vax)
Guido Vollbeding5996a252009-06-27 00:00:00 +00001394# if !defined (ultrix)
1395# include <sys/param.h>
1396# if defined (BSD)
1397# if BSD == 43
1398 printf ("vax-dec-bsd4.3\n"); exit (0);
1399# else
1400# if BSD == 199006
1401 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1402# else
1403 printf ("vax-dec-bsd\n"); exit (0);
1404# endif
1405# endif
1406# else
1407 printf ("vax-dec-bsd\n"); exit (0);
1408# endif
1409# else
1410 printf ("vax-dec-ultrix\n"); exit (0);
1411# endif
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001412#endif
1413
1414#if defined (alliant) && defined (i860)
1415 printf ("i860-alliant-bsd\n"); exit (0);
1416#endif
1417
1418 exit (1);
1419}
1420EOF
1421
Guido Vollbeding5996a252009-06-27 00:00:00 +00001422$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1423 { echo "$SYSTEM_NAME"; exit; }
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001424
1425# Apollos put the system type in the environment.
1426
Guido Vollbeding5996a252009-06-27 00:00:00 +00001427test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001428
1429# Convex versions that predate uname can use getsysinfo(1)
1430
1431if [ -x /usr/convex/getsysinfo ]
1432then
1433 case `getsysinfo -f cpu_type` in
1434 c1*)
1435 echo c1-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +00001436 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001437 c2*)
1438 if getsysinfo -f scalar_acc
1439 then echo c32-convex-bsd
1440 else echo c2-convex-bsd
1441 fi
Guido Vollbeding5996a252009-06-27 00:00:00 +00001442 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001443 c34*)
1444 echo c34-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +00001445 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001446 c38*)
1447 echo c38-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +00001448 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001449 c4*)
1450 echo c4-convex-bsd
Guido Vollbeding5996a252009-06-27 00:00:00 +00001451 exit ;;
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001452 esac
1453fi
1454
Guido Vollbeding5996a252009-06-27 00:00:00 +00001455cat >&2 <<EOF
1456$0: unable to guess system type
1457
1458This script, last modified $timestamp, has failed to recognize
1459the operating system you are using. It is advised that you
1460download the most up to date version of the config scripts from
1461
1462 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1463and
1464 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1465
1466If the version you run ($0) is already up to date, please
1467send the following data and any information you think might be
1468pertinent to <config-patches@gnu.org> in order to provide the needed
1469information to handle your system.
1470
1471config.guess timestamp = $timestamp
1472
1473uname -m = `(uname -m) 2>/dev/null || echo unknown`
1474uname -r = `(uname -r) 2>/dev/null || echo unknown`
1475uname -s = `(uname -s) 2>/dev/null || echo unknown`
1476uname -v = `(uname -v) 2>/dev/null || echo unknown`
1477
1478/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1479/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1480
1481hostinfo = `(hostinfo) 2>/dev/null`
1482/bin/universe = `(/bin/universe) 2>/dev/null`
1483/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1484/bin/arch = `(/bin/arch) 2>/dev/null`
1485/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1486/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1487
1488UNAME_MACHINE = ${UNAME_MACHINE}
1489UNAME_RELEASE = ${UNAME_RELEASE}
1490UNAME_SYSTEM = ${UNAME_SYSTEM}
1491UNAME_VERSION = ${UNAME_VERSION}
1492EOF
Thomas G. Lane5ead57a1998-03-27 00:00:00 +00001493
1494exit 1
Guido Vollbeding5996a252009-06-27 00:00:00 +00001495
1496# Local variables:
1497# eval: (add-hook 'write-file-hooks 'time-stamp)
1498# time-stamp-start: "timestamp='"
1499# time-stamp-format: "%:y-%02m-%02d"
1500# time-stamp-end: "'"
1501# End: