Expand PMF_FN_* macros.
[netbsd-mini2440.git] / dist / libpcap / config.guess
blob4c5bde8a280682840a30687bd82e3da02650e3c7
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-10-16'
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <per@bothner.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me=`echo "$0" | sed -e 's,.*/,,'`
40 usage="\
41 Usage: $0 [OPTION]
43 Output the configuration name of the system \`$me' is run on.
45 Operation modes:
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
52 version="\
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
62 help="
63 Try \`$me --help' for more information."
65 # Parse command line
66 while test $# -gt 0 ; do
67 case $1 in
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
70 --version | -v )
71 echo "$version" ; exit 0 ;;
72 --help | --h* | -h )
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
75 shift; break ;;
76 - ) # Use stdin as input.
77 break ;;
78 -* )
79 echo "$me: invalid option $1$help" >&2
80 exit 1 ;;
81 * )
82 break ;;
83 esac
84 done
86 if test $# != 0; then
87 echo "$me: too many arguments$help" >&2
88 exit 1
91 trap 'exit 1' 1 2 15
93 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94 # compiler to aid in system detection is discouraged as it requires
95 # temporary files to be created and, as you can see below, it is a
96 # headache to deal with in a portable fashion.
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
101 # Portable tmp directory creation inspired by the Autoconf team.
103 set_cc_for_build='
104 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
105 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
106 : ${TMPDIR=/tmp} ;
107 { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
108 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
109 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
110 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
111 dummy=$tmp/dummy ;
112 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
113 case $CC_FOR_BUILD,$HOST_CC,$CC in
114 ,,) echo "int x;" > $dummy.c ;
115 for c in cc gcc c89 c99 ; do
116 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
117 CC_FOR_BUILD="$c"; break ;
118 fi ;
119 done ;
120 if test x"$CC_FOR_BUILD" = x ; then
121 CC_FOR_BUILD=no_compiler_found ;
124 ,,*) CC_FOR_BUILD=$CC ;;
125 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
126 esac ;'
128 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
129 # (ghazi@noc.rutgers.edu 1994-08-24)
130 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
131 PATH=$PATH:/.attbin ; export PATH
134 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
135 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
136 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
137 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
139 # Note: order is significant - the case branches are not exclusive.
141 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
142 *:NetBSD:*:*)
143 # NetBSD (nbsd) targets should (where applicable) match one or
144 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
145 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
146 # switched to ELF, *-*-netbsd* would select the old
147 # object file format. This provides both forward
148 # compatibility and a consistent mechanism for selecting the
149 # object file format.
151 # Note: NetBSD doesn't particularly care about the vendor
152 # portion of the name. We always set it to "unknown".
153 sysctl="sysctl -n hw.machine_arch"
154 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
155 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
156 case "${UNAME_MACHINE_ARCH}" in
157 armeb) machine=armeb-unknown ;;
158 arm*) machine=arm-unknown ;;
159 sh3el) machine=shl-unknown ;;
160 sh3eb) machine=sh-unknown ;;
161 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
162 esac
163 # The Operating System including object format, if it has switched
164 # to ELF recently, or will in the future.
165 case "${UNAME_MACHINE_ARCH}" in
166 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
167 eval $set_cc_for_build
168 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
169 | grep __ELF__ >/dev/null
170 then
171 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
172 # Return netbsd for either. FIX?
173 os=netbsd
174 else
175 os=netbsdelf
179 os=netbsd
181 esac
182 # The OS release
183 # Debian GNU/NetBSD machines have a different userland, and
184 # thus, need a distinct triplet. However, they do not need
185 # kernel version information, so it can be replaced with a
186 # suitable tag, in the style of linux-gnu.
187 case "${UNAME_VERSION}" in
188 Debian*)
189 release='-gnu'
192 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
194 esac
195 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
196 # contains redundant information, the shorter form:
197 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
198 echo "${machine}-${os}${release}"
199 exit 0 ;;
200 amiga:OpenBSD:*:*)
201 echo m68k-unknown-openbsd${UNAME_RELEASE}
202 exit 0 ;;
203 arc:OpenBSD:*:*)
204 echo mipsel-unknown-openbsd${UNAME_RELEASE}
205 exit 0 ;;
206 hp300:OpenBSD:*:*)
207 echo m68k-unknown-openbsd${UNAME_RELEASE}
208 exit 0 ;;
209 mac68k:OpenBSD:*:*)
210 echo m68k-unknown-openbsd${UNAME_RELEASE}
211 exit 0 ;;
212 macppc:OpenBSD:*:*)
213 echo powerpc-unknown-openbsd${UNAME_RELEASE}
214 exit 0 ;;
215 mvme68k:OpenBSD:*:*)
216 echo m68k-unknown-openbsd${UNAME_RELEASE}
217 exit 0 ;;
218 mvme88k:OpenBSD:*:*)
219 echo m88k-unknown-openbsd${UNAME_RELEASE}
220 exit 0 ;;
221 mvmeppc:OpenBSD:*:*)
222 echo powerpc-unknown-openbsd${UNAME_RELEASE}
223 exit 0 ;;
224 pegasos:OpenBSD:*:*)
225 echo powerpc-unknown-openbsd${UNAME_RELEASE}
226 exit 0 ;;
227 pmax:OpenBSD:*:*)
228 echo mipsel-unknown-openbsd${UNAME_RELEASE}
229 exit 0 ;;
230 sgi:OpenBSD:*:*)
231 echo mipseb-unknown-openbsd${UNAME_RELEASE}
232 exit 0 ;;
233 sun3:OpenBSD:*:*)
234 echo m68k-unknown-openbsd${UNAME_RELEASE}
235 exit 0 ;;
236 wgrisc:OpenBSD:*:*)
237 echo mipsel-unknown-openbsd${UNAME_RELEASE}
238 exit 0 ;;
239 *:OpenBSD:*:*)
240 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
241 exit 0 ;;
242 alpha:OSF1:*:*)
243 if test $UNAME_RELEASE = "V4.0"; then
244 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
246 # According to Compaq, /usr/sbin/psrinfo has been available on
247 # OSF/1 and Tru64 systems produced since 1995. I hope that
248 # covers most systems running today. This code pipes the CPU
249 # types through head -n 1, so we only detect the type of CPU 0.
250 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
251 case "$ALPHA_CPU_TYPE" in
252 "EV4 (21064)")
253 UNAME_MACHINE="alpha" ;;
254 "EV4.5 (21064)")
255 UNAME_MACHINE="alpha" ;;
256 "LCA4 (21066/21068)")
257 UNAME_MACHINE="alpha" ;;
258 "EV5 (21164)")
259 UNAME_MACHINE="alphaev5" ;;
260 "EV5.6 (21164A)")
261 UNAME_MACHINE="alphaev56" ;;
262 "EV5.6 (21164PC)")
263 UNAME_MACHINE="alphapca56" ;;
264 "EV5.7 (21164PC)")
265 UNAME_MACHINE="alphapca57" ;;
266 "EV6 (21264)")
267 UNAME_MACHINE="alphaev6" ;;
268 "EV6.7 (21264A)")
269 UNAME_MACHINE="alphaev67" ;;
270 "EV6.8CB (21264C)")
271 UNAME_MACHINE="alphaev68" ;;
272 "EV6.8AL (21264B)")
273 UNAME_MACHINE="alphaev68" ;;
274 "EV6.8CX (21264D)")
275 UNAME_MACHINE="alphaev68" ;;
276 "EV6.9A (21264/EV69A)")
277 UNAME_MACHINE="alphaev69" ;;
278 "EV7 (21364)")
279 UNAME_MACHINE="alphaev7" ;;
280 "EV7.9 (21364A)")
281 UNAME_MACHINE="alphaev79" ;;
282 esac
283 # A Vn.n version is a released version.
284 # A Tn.n version is a released field test version.
285 # A Xn.n version is an unreleased experimental baselevel.
286 # 1.2 uses "1.2" for uname -r.
287 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
288 exit 0 ;;
289 Alpha*:OpenVMS:*:*)
290 echo alpha-hp-vms
291 exit 0 ;;
292 Alpha\ *:Windows_NT*:*)
293 # How do we know it's Interix rather than the generic POSIX subsystem?
294 # Should we change UNAME_MACHINE based on the output of uname instead
295 # of the specific Alpha model?
296 echo alpha-pc-interix
297 exit 0 ;;
298 21064:Windows_NT:50:3)
299 echo alpha-dec-winnt3.5
300 exit 0 ;;
301 Amiga*:UNIX_System_V:4.0:*)
302 echo m68k-unknown-sysv4
303 exit 0;;
304 *:[Aa]miga[Oo][Ss]:*:*)
305 echo ${UNAME_MACHINE}-unknown-amigaos
306 exit 0 ;;
307 *:[Mm]orph[Oo][Ss]:*:*)
308 echo ${UNAME_MACHINE}-unknown-morphos
309 exit 0 ;;
310 *:OS/390:*:*)
311 echo i370-ibm-openedition
312 exit 0 ;;
313 *:OS400:*:*)
314 echo powerpc-ibm-os400
315 exit 0 ;;
316 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
317 echo arm-acorn-riscix${UNAME_RELEASE}
318 exit 0;;
319 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
320 echo hppa1.1-hitachi-hiuxmpp
321 exit 0;;
322 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
323 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
324 if test "`(/bin/universe) 2>/dev/null`" = att ; then
325 echo pyramid-pyramid-sysv3
326 else
327 echo pyramid-pyramid-bsd
329 exit 0 ;;
330 NILE*:*:*:dcosx)
331 echo pyramid-pyramid-svr4
332 exit 0 ;;
333 DRS?6000:unix:4.0:6*)
334 echo sparc-icl-nx6
335 exit 0 ;;
336 DRS?6000:UNIX_SV:4.2*:7*)
337 case `/usr/bin/uname -p` in
338 sparc) echo sparc-icl-nx7 && exit 0 ;;
339 esac ;;
340 sun4H:SunOS:5.*:*)
341 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
342 exit 0 ;;
343 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
344 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
345 exit 0 ;;
346 i86pc:SunOS:5.*:*)
347 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
348 exit 0 ;;
349 sun4*:SunOS:6*:*)
350 # According to config.sub, this is the proper way to canonicalize
351 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
352 # it's likely to be more like Solaris than SunOS4.
353 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354 exit 0 ;;
355 sun4*:SunOS:*:*)
356 case "`/usr/bin/arch -k`" in
357 Series*|S4*)
358 UNAME_RELEASE=`uname -v`
360 esac
361 # Japanese Language versions have a version number like `4.1.3-JL'.
362 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
363 exit 0 ;;
364 sun3*:SunOS:*:*)
365 echo m68k-sun-sunos${UNAME_RELEASE}
366 exit 0 ;;
367 sun*:*:4.2BSD:*)
368 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
369 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
370 case "`/bin/arch`" in
371 sun3)
372 echo m68k-sun-sunos${UNAME_RELEASE}
374 sun4)
375 echo sparc-sun-sunos${UNAME_RELEASE}
377 esac
378 exit 0 ;;
379 aushp:SunOS:*:*)
380 echo sparc-auspex-sunos${UNAME_RELEASE}
381 exit 0 ;;
382 # The situation for MiNT is a little confusing. The machine name
383 # can be virtually everything (everything which is not
384 # "atarist" or "atariste" at least should have a processor
385 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
386 # to the lowercase version "mint" (or "freemint"). Finally
387 # the system name "TOS" denotes a system which is actually not
388 # MiNT. But MiNT is downward compatible to TOS, so this should
389 # be no problem.
390 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
391 echo m68k-atari-mint${UNAME_RELEASE}
392 exit 0 ;;
393 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
394 echo m68k-atari-mint${UNAME_RELEASE}
395 exit 0 ;;
396 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
397 echo m68k-atari-mint${UNAME_RELEASE}
398 exit 0 ;;
399 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
400 echo m68k-milan-mint${UNAME_RELEASE}
401 exit 0 ;;
402 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
403 echo m68k-hades-mint${UNAME_RELEASE}
404 exit 0 ;;
405 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
406 echo m68k-unknown-mint${UNAME_RELEASE}
407 exit 0 ;;
408 powerpc:machten:*:*)
409 echo powerpc-apple-machten${UNAME_RELEASE}
410 exit 0 ;;
411 RISC*:Mach:*:*)
412 echo mips-dec-mach_bsd4.3
413 exit 0 ;;
414 RISC*:ULTRIX:*:*)
415 echo mips-dec-ultrix${UNAME_RELEASE}
416 exit 0 ;;
417 VAX*:ULTRIX*:*:*)
418 echo vax-dec-ultrix${UNAME_RELEASE}
419 exit 0 ;;
420 2020:CLIX:*:* | 2430:CLIX:*:*)
421 echo clipper-intergraph-clix${UNAME_RELEASE}
422 exit 0 ;;
423 mips:*:*:UMIPS | mips:*:*:RISCos)
424 eval $set_cc_for_build
425 sed 's/^ //' << EOF >$dummy.c
426 #ifdef __cplusplus
427 #include <stdio.h> /* for printf() prototype */
428 int main (int argc, char *argv[]) {
429 #else
430 int main (argc, argv) int argc; char *argv[]; {
431 #endif
432 #if defined (host_mips) && defined (MIPSEB)
433 #if defined (SYSTYPE_SYSV)
434 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
435 #endif
436 #if defined (SYSTYPE_SVR4)
437 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
438 #endif
439 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
440 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
441 #endif
442 #endif
443 exit (-1);
446 $CC_FOR_BUILD -o $dummy $dummy.c \
447 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
448 && exit 0
449 echo mips-mips-riscos${UNAME_RELEASE}
450 exit 0 ;;
451 Motorola:PowerMAX_OS:*:*)
452 echo powerpc-motorola-powermax
453 exit 0 ;;
454 Motorola:*:4.3:PL8-*)
455 echo powerpc-harris-powermax
456 exit 0 ;;
457 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
458 echo powerpc-harris-powermax
459 exit 0 ;;
460 Night_Hawk:Power_UNIX:*:*)
461 echo powerpc-harris-powerunix
462 exit 0 ;;
463 m88k:CX/UX:7*:*)
464 echo m88k-harris-cxux7
465 exit 0 ;;
466 m88k:*:4*:R4*)
467 echo m88k-motorola-sysv4
468 exit 0 ;;
469 m88k:*:3*:R3*)
470 echo m88k-motorola-sysv3
471 exit 0 ;;
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 0 ;;
488 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
489 echo m88k-dolphin-sysv3
490 exit 0 ;;
491 M88*:*:R3*:*)
492 # Delta 88k system running SVR3
493 echo m88k-motorola-sysv3
494 exit 0 ;;
495 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
496 echo m88k-tektronix-sysv3
497 exit 0 ;;
498 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
499 echo m68k-tektronix-bsd
500 exit 0 ;;
501 *:IRIX*:*:*)
502 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
503 exit 0 ;;
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 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
507 i*86:AIX:*:*)
508 echo i386-ibm-aix
509 exit 0 ;;
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 0 ;;
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 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
533 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 0 ;;
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 0 ;;
554 *:AIX:*:*)
555 echo rs6000-ibm-aix
556 exit 0 ;;
557 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
558 echo romp-ibm-bsd4.4
559 exit 0 ;;
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 0 ;; # report: romp-ibm BSD 4.3
563 *:BOSX:*:*)
564 echo rs6000-bull-bosx
565 exit 0 ;;
566 DPX/2?00:B.O.S.:*:*)
567 echo m68k-bull-sysv3
568 exit 0 ;;
569 9000/[34]??:4.3bsd:1.*:*)
570 echo m68k-hp-bsd
571 exit 0 ;;
572 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
573 echo m68k-hp-bsd4.4
574 exit 0 ;;
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 # avoid double evaluation of $set_cc_for_build
637 test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
638 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
639 then
640 HP_ARCH="hppa2.0w"
641 else
642 HP_ARCH="hppa64"
645 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
646 exit 0 ;;
647 ia64:HP-UX:*:*)
648 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
649 echo ia64-hp-hpux${HPUX_REV}
650 exit 0 ;;
651 3050*:HI-UX:*:*)
652 eval $set_cc_for_build
653 sed 's/^ //' << EOF >$dummy.c
654 #include <unistd.h>
656 main ()
658 long cpu = sysconf (_SC_CPU_VERSION);
659 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
660 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
661 results, however. */
662 if (CPU_IS_PA_RISC (cpu))
664 switch (cpu)
666 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
667 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
668 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
669 default: puts ("hppa-hitachi-hiuxwe2"); break;
672 else if (CPU_IS_HP_MC68K (cpu))
673 puts ("m68k-hitachi-hiuxwe2");
674 else puts ("unknown-hitachi-hiuxwe2");
675 exit (0);
678 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
679 echo unknown-hitachi-hiuxwe2
680 exit 0 ;;
681 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
682 echo hppa1.1-hp-bsd
683 exit 0 ;;
684 9000/8??:4.3bsd:*:*)
685 echo hppa1.0-hp-bsd
686 exit 0 ;;
687 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
688 echo hppa1.0-hp-mpeix
689 exit 0 ;;
690 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
691 echo hppa1.1-hp-osf
692 exit 0 ;;
693 hp8??:OSF1:*:*)
694 echo hppa1.0-hp-osf
695 exit 0 ;;
696 i*86:OSF1:*:*)
697 if [ -x /usr/sbin/sysversion ] ; then
698 echo ${UNAME_MACHINE}-unknown-osf1mk
699 else
700 echo ${UNAME_MACHINE}-unknown-osf1
702 exit 0 ;;
703 parisc*:Lites*:*:*)
704 echo hppa1.1-hp-lites
705 exit 0 ;;
706 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
707 echo c1-convex-bsd
708 exit 0 ;;
709 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
710 if getsysinfo -f scalar_acc
711 then echo c32-convex-bsd
712 else echo c2-convex-bsd
714 exit 0 ;;
715 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
716 echo c34-convex-bsd
717 exit 0 ;;
718 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
719 echo c38-convex-bsd
720 exit 0 ;;
721 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
722 echo c4-convex-bsd
723 exit 0 ;;
724 CRAY*Y-MP:*:*:*)
725 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
726 exit 0 ;;
727 CRAY*[A-Z]90:*:*:*)
728 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
729 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
730 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
731 -e 's/\.[^.]*$/.X/'
732 exit 0 ;;
733 CRAY*TS:*:*:*)
734 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
735 exit 0 ;;
736 CRAY*T3E:*:*:*)
737 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
738 exit 0 ;;
739 CRAY*SV1:*:*:*)
740 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
741 exit 0 ;;
742 *:UNICOS/mp:*:*)
743 echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
744 exit 0 ;;
745 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
746 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
747 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
748 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
749 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
750 exit 0 ;;
751 5000:UNIX_System_V:4.*:*)
752 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
753 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
754 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
755 exit 0 ;;
756 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
757 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
758 exit 0 ;;
759 sparc*:BSD/OS:*:*)
760 echo sparc-unknown-bsdi${UNAME_RELEASE}
761 exit 0 ;;
762 *:BSD/OS:*:*)
763 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
764 exit 0 ;;
765 *:FreeBSD:*:*)
766 # Determine whether the default compiler uses glibc.
767 eval $set_cc_for_build
768 sed 's/^ //' << EOF >$dummy.c
769 #include <features.h>
770 #if __GLIBC__ >= 2
771 LIBC=gnu
772 #else
773 LIBC=
774 #endif
776 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
777 # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
778 # FreeBSD's kernel, but not the complete OS.
779 case ${LIBC} in gnu) kernel_only='k' ;; esac
780 echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
781 exit 0 ;;
782 i*:CYGWIN*:*)
783 echo ${UNAME_MACHINE}-pc-cygwin
784 exit 0 ;;
785 i*:MINGW*:*)
786 echo ${UNAME_MACHINE}-pc-mingw32
787 exit 0 ;;
788 i*:PW*:*)
789 echo ${UNAME_MACHINE}-pc-pw32
790 exit 0 ;;
791 x86:Interix*:[34]*)
792 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
793 exit 0 ;;
794 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
795 echo i${UNAME_MACHINE}-pc-mks
796 exit 0 ;;
797 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
798 # How do we know it's Interix rather than the generic POSIX subsystem?
799 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
800 # UNAME_MACHINE based on the output of uname instead of i386?
801 echo i586-pc-interix
802 exit 0 ;;
803 i*:UWIN*:*)
804 echo ${UNAME_MACHINE}-pc-uwin
805 exit 0 ;;
806 p*:CYGWIN*:*)
807 echo powerpcle-unknown-cygwin
808 exit 0 ;;
809 prep*:SunOS:5.*:*)
810 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
811 exit 0 ;;
812 *:GNU:*:*)
813 # the GNU system
814 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
815 exit 0 ;;
816 *:GNU/*:*:*)
817 # other systems with GNU libc and userland
818 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
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
967 #ifdef __dietlibc__
968 LIBC=dietlibc
969 #endif
971 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
972 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
973 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
975 i*86:DYNIX/ptx:4*:*)
976 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
977 # earlier versions are messed up and put the nodename in both
978 # sysname and nodename.
979 echo i386-sequent-sysv4
980 exit 0 ;;
981 i*86:UNIX_SV:4.2MP:2.*)
982 # Unixware is an offshoot of SVR4, but it has its own version
983 # number series starting with 2...
984 # I am not positive that other SVR4 systems won't match this,
985 # I just have to hope. -- rms.
986 # Use sysv4.2uw... so that sysv4* matches it.
987 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
988 exit 0 ;;
989 i*86:OS/2:*:*)
990 # If we were able to find `uname', then EMX Unix compatibility
991 # is probably installed.
992 echo ${UNAME_MACHINE}-pc-os2-emx
993 exit 0 ;;
994 i*86:XTS-300:*:STOP)
995 echo ${UNAME_MACHINE}-unknown-stop
996 exit 0 ;;
997 i*86:atheos:*:*)
998 echo ${UNAME_MACHINE}-unknown-atheos
999 exit 0 ;;
1000 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1001 echo i386-unknown-lynxos${UNAME_RELEASE}
1002 exit 0 ;;
1003 i*86:*DOS:*:*)
1004 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1005 exit 0 ;;
1006 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1007 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1008 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1009 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1010 else
1011 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1013 exit 0 ;;
1014 i*86:*:5:[78]*)
1015 case `/bin/uname -X | grep "^Machine"` in
1016 *486*) UNAME_MACHINE=i486 ;;
1017 *Pentium) UNAME_MACHINE=i586 ;;
1018 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1019 esac
1020 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1021 exit 0 ;;
1022 i*86:*:3.2:*)
1023 if test -f /usr/options/cb.name; then
1024 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1025 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1026 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1027 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1028 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1029 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1030 && UNAME_MACHINE=i586
1031 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1032 && UNAME_MACHINE=i686
1033 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1034 && UNAME_MACHINE=i686
1035 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1036 else
1037 echo ${UNAME_MACHINE}-pc-sysv32
1039 exit 0 ;;
1040 pc:*:*:*)
1041 # Left here for compatibility:
1042 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1043 # the processor, so we play safe by assuming i386.
1044 echo i386-pc-msdosdjgpp
1045 exit 0 ;;
1046 Intel:Mach:3*:*)
1047 echo i386-pc-mach3
1048 exit 0 ;;
1049 paragon:*:*:*)
1050 echo i860-intel-osf1
1051 exit 0 ;;
1052 i860:*:4.*:*) # i860-SVR4
1053 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1054 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1055 else # Add other i860-SVR4 vendors below as they are discovered.
1056 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1058 exit 0 ;;
1059 mini*:CTIX:SYS*5:*)
1060 # "miniframe"
1061 echo m68010-convergent-sysv
1062 exit 0 ;;
1063 mc68k:UNIX:SYSTEM5:3.51m)
1064 echo m68k-convergent-sysv
1065 exit 0 ;;
1066 M680?0:D-NIX:5.3:*)
1067 echo m68k-diab-dnix
1068 exit 0 ;;
1069 M68*:*:R3V[567]*:*)
1070 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1071 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)
1072 OS_REL=''
1073 test -r /etc/.relid \
1074 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1075 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1076 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1077 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1078 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1079 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1080 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1081 && echo i486-ncr-sysv4 && exit 0 ;;
1082 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1083 echo m68k-unknown-lynxos${UNAME_RELEASE}
1084 exit 0 ;;
1085 mc68030:UNIX_System_V:4.*:*)
1086 echo m68k-atari-sysv4
1087 exit 0 ;;
1088 TSUNAMI:LynxOS:2.*:*)
1089 echo sparc-unknown-lynxos${UNAME_RELEASE}
1090 exit 0 ;;
1091 rs6000:LynxOS:2.*:*)
1092 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1093 exit 0 ;;
1094 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1095 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1096 exit 0 ;;
1097 SM[BE]S:UNIX_SV:*:*)
1098 echo mips-dde-sysv${UNAME_RELEASE}
1099 exit 0 ;;
1100 RM*:ReliantUNIX-*:*:*)
1101 echo mips-sni-sysv4
1102 exit 0 ;;
1103 RM*:SINIX-*:*:*)
1104 echo mips-sni-sysv4
1105 exit 0 ;;
1106 *:SINIX-*:*:*)
1107 if uname -p 2>/dev/null >/dev/null ; then
1108 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1109 echo ${UNAME_MACHINE}-sni-sysv4
1110 else
1111 echo ns32k-sni-sysv
1113 exit 0 ;;
1114 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1115 # says <Richard.M.Bartel@ccMail.Census.GOV>
1116 echo i586-unisys-sysv4
1117 exit 0 ;;
1118 *:UNIX_System_V:4*:FTX*)
1119 # From Gerald Hewes <hewes@openmarket.com>.
1120 # How about differentiating between stratus architectures? -djm
1121 echo hppa1.1-stratus-sysv4
1122 exit 0 ;;
1123 *:*:*:FTX*)
1124 # From seanf@swdc.stratus.com.
1125 echo i860-stratus-sysv4
1126 exit 0 ;;
1127 *:VOS:*:*)
1128 # From Paul.Green@stratus.com.
1129 echo hppa1.1-stratus-vos
1130 exit 0 ;;
1131 mc68*:A/UX:*:*)
1132 echo m68k-apple-aux${UNAME_RELEASE}
1133 exit 0 ;;
1134 news*:NEWS-OS:6*:*)
1135 echo mips-sony-newsos6
1136 exit 0 ;;
1137 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1138 if [ -d /usr/nec ]; then
1139 echo mips-nec-sysv${UNAME_RELEASE}
1140 else
1141 echo mips-unknown-sysv${UNAME_RELEASE}
1143 exit 0 ;;
1144 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1145 echo powerpc-be-beos
1146 exit 0 ;;
1147 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1148 echo powerpc-apple-beos
1149 exit 0 ;;
1150 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1151 echo i586-pc-beos
1152 exit 0 ;;
1153 SX-4:SUPER-UX:*:*)
1154 echo sx4-nec-superux${UNAME_RELEASE}
1155 exit 0 ;;
1156 SX-5:SUPER-UX:*:*)
1157 echo sx5-nec-superux${UNAME_RELEASE}
1158 exit 0 ;;
1159 SX-6:SUPER-UX:*:*)
1160 echo sx6-nec-superux${UNAME_RELEASE}
1161 exit 0 ;;
1162 Power*:Rhapsody:*:*)
1163 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1164 exit 0 ;;
1165 *:Rhapsody:*:*)
1166 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1167 exit 0 ;;
1168 *:Darwin:*:*)
1169 case `uname -p` in
1170 *86) UNAME_PROCESSOR=i686 ;;
1171 powerpc) UNAME_PROCESSOR=powerpc ;;
1172 esac
1173 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1174 exit 0 ;;
1175 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1176 UNAME_PROCESSOR=`uname -p`
1177 if test "$UNAME_PROCESSOR" = "x86"; then
1178 UNAME_PROCESSOR=i386
1179 UNAME_MACHINE=pc
1181 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1182 exit 0 ;;
1183 *:QNX:*:4*)
1184 echo i386-pc-qnx
1185 exit 0 ;;
1186 NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
1187 echo nsr-tandem-nsk${UNAME_RELEASE}
1188 exit 0 ;;
1189 *:NonStop-UX:*:*)
1190 echo mips-compaq-nonstopux
1191 exit 0 ;;
1192 BS2000:POSIX*:*:*)
1193 echo bs2000-siemens-sysv
1194 exit 0 ;;
1195 DS/*:UNIX_System_V:*:*)
1196 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1197 exit 0 ;;
1198 *:Plan9:*:*)
1199 # "uname -m" is not consistent, so use $cputype instead. 386
1200 # is converted to i386 for consistency with other x86
1201 # operating systems.
1202 if test "$cputype" = "386"; then
1203 UNAME_MACHINE=i386
1204 else
1205 UNAME_MACHINE="$cputype"
1207 echo ${UNAME_MACHINE}-unknown-plan9
1208 exit 0 ;;
1209 *:TOPS-10:*:*)
1210 echo pdp10-unknown-tops10
1211 exit 0 ;;
1212 *:TENEX:*:*)
1213 echo pdp10-unknown-tenex
1214 exit 0 ;;
1215 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1216 echo pdp10-dec-tops20
1217 exit 0 ;;
1218 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1219 echo pdp10-xkl-tops20
1220 exit 0 ;;
1221 *:TOPS-20:*:*)
1222 echo pdp10-unknown-tops20
1223 exit 0 ;;
1224 *:ITS:*:*)
1225 echo pdp10-unknown-its
1226 exit 0 ;;
1227 SEI:*:*:SEIUX)
1228 echo mips-sei-seiux${UNAME_RELEASE}
1229 exit 0 ;;
1230 *:DRAGONFLY:*:*)
1231 echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
1232 exit 0 ;;
1233 esac
1235 #echo '(No uname command or uname output not recognized.)' 1>&2
1236 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1238 eval $set_cc_for_build
1239 cat >$dummy.c <<EOF
1240 #ifdef _SEQUENT_
1241 # include <sys/types.h>
1242 # include <sys/utsname.h>
1243 #endif
1244 main ()
1246 #if defined (sony)
1247 #if defined (MIPSEB)
1248 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1249 I don't know.... */
1250 printf ("mips-sony-bsd\n"); exit (0);
1251 #else
1252 #include <sys/param.h>
1253 printf ("m68k-sony-newsos%s\n",
1254 #ifdef NEWSOS4
1256 #else
1258 #endif
1259 ); exit (0);
1260 #endif
1261 #endif
1263 #if defined (__arm) && defined (__acorn) && defined (__unix)
1264 printf ("arm-acorn-riscix"); exit (0);
1265 #endif
1267 #if defined (hp300) && !defined (hpux)
1268 printf ("m68k-hp-bsd\n"); exit (0);
1269 #endif
1271 #if defined (NeXT)
1272 #if !defined (__ARCHITECTURE__)
1273 #define __ARCHITECTURE__ "m68k"
1274 #endif
1275 int version;
1276 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1277 if (version < 4)
1278 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1279 else
1280 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1281 exit (0);
1282 #endif
1284 #if defined (MULTIMAX) || defined (n16)
1285 #if defined (UMAXV)
1286 printf ("ns32k-encore-sysv\n"); exit (0);
1287 #else
1288 #if defined (CMU)
1289 printf ("ns32k-encore-mach\n"); exit (0);
1290 #else
1291 printf ("ns32k-encore-bsd\n"); exit (0);
1292 #endif
1293 #endif
1294 #endif
1296 #if defined (__386BSD__)
1297 printf ("i386-pc-bsd\n"); exit (0);
1298 #endif
1300 #if defined (sequent)
1301 #if defined (i386)
1302 printf ("i386-sequent-dynix\n"); exit (0);
1303 #endif
1304 #if defined (ns32000)
1305 printf ("ns32k-sequent-dynix\n"); exit (0);
1306 #endif
1307 #endif
1309 #if defined (_SEQUENT_)
1310 struct utsname un;
1312 uname(&un);
1314 if (strncmp(un.version, "V2", 2) == 0) {
1315 printf ("i386-sequent-ptx2\n"); exit (0);
1317 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1318 printf ("i386-sequent-ptx1\n"); exit (0);
1320 printf ("i386-sequent-ptx\n"); exit (0);
1322 #endif
1324 #if defined (vax)
1325 # if !defined (ultrix)
1326 # include <sys/param.h>
1327 # if defined (BSD)
1328 # if BSD == 43
1329 printf ("vax-dec-bsd4.3\n"); exit (0);
1330 # else
1331 # if BSD == 199006
1332 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1333 # else
1334 printf ("vax-dec-bsd\n"); exit (0);
1335 # endif
1336 # endif
1337 # else
1338 printf ("vax-dec-bsd\n"); exit (0);
1339 # endif
1340 # else
1341 printf ("vax-dec-ultrix\n"); exit (0);
1342 # endif
1343 #endif
1345 #if defined (alliant) && defined (i860)
1346 printf ("i860-alliant-bsd\n"); exit (0);
1347 #endif
1349 exit (1);
1353 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1355 # Apollos put the system type in the environment.
1357 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1359 # Convex versions that predate uname can use getsysinfo(1)
1361 if [ -x /usr/convex/getsysinfo ]
1362 then
1363 case `getsysinfo -f cpu_type` in
1364 c1*)
1365 echo c1-convex-bsd
1366 exit 0 ;;
1367 c2*)
1368 if getsysinfo -f scalar_acc
1369 then echo c32-convex-bsd
1370 else echo c2-convex-bsd
1372 exit 0 ;;
1373 c34*)
1374 echo c34-convex-bsd
1375 exit 0 ;;
1376 c38*)
1377 echo c38-convex-bsd
1378 exit 0 ;;
1379 c4*)
1380 echo c4-convex-bsd
1381 exit 0 ;;
1382 esac
1385 cat >&2 <<EOF
1386 $0: unable to guess system type
1388 This script, last modified $timestamp, has failed to recognize
1389 the operating system you are using. It is advised that you
1390 download the most up to date version of the config scripts from
1392 ftp://ftp.gnu.org/pub/gnu/config/
1394 If the version you run ($0) is already up to date, please
1395 send the following data and any information you think might be
1396 pertinent to <config-patches@gnu.org> in order to provide the needed
1397 information to handle your system.
1399 config.guess timestamp = $timestamp
1401 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1402 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1403 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1404 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1406 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1407 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1409 hostinfo = `(hostinfo) 2>/dev/null`
1410 /bin/universe = `(/bin/universe) 2>/dev/null`
1411 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1412 /bin/arch = `(/bin/arch) 2>/dev/null`
1413 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1414 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1416 UNAME_MACHINE = ${UNAME_MACHINE}
1417 UNAME_RELEASE = ${UNAME_RELEASE}
1418 UNAME_SYSTEM = ${UNAME_SYSTEM}
1419 UNAME_VERSION = ${UNAME_VERSION}
1422 exit 1
1424 # Local variables:
1425 # eval: (add-hook 'write-file-hooks 'time-stamp)
1426 # time-stamp-start: "timestamp='"
1427 # time-stamp-format: "%:y-%02m-%02d"
1428 # time-stamp-end: "'"
1429 # End: