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