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