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