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