]> git.saurik.com Git - wxWidgets.git/blob - config.guess
documented return value of Find[Absolute]ValidPath() correctly
[wxWidgets.git] / config.guess
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.
5
6 timestamp='2004-01-05'
7
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.
12 #
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.
17 #
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.
21 #
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.
26
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.
30 #
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.
34 #
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
37
38 me=`echo "$0" | sed -e 's,.*/,,'`
39
40 usage="\
41 Usage: $0 [OPTION]
42
43 Output the configuration name of the system \`$me' is run on.
44
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
49
50 Report bugs and patches to <config-patches@gnu.org>."
51
52 version="\
53 GNU config.guess ($timestamp)
54
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
58
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."
61
62 help="
63 Try \`$me --help' for more information."
64
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
85
86 if test $# != 0; then
87 echo "$me: too many arguments$help" >&2
88 exit 1
89 fi
90
91 trap 'exit 1' 1 2 15
92
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.
97
98 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99 # use `HOST_CC' if defined, but it is deprecated.
100
101 # Portable tmp directory creation inspired by the Autoconf team.
102
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 ;
122 fi
123 ;;
124 ,,*) CC_FOR_BUILD=$CC ;;
125 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
126 esac ;'
127
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
132 fi
133
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
138
139 # Note: order is significant - the case branches are not exclusive.
140
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.
150 #
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
176 fi
177 ;;
178 *)
179 os=netbsd
180 ;;
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'
190 ;;
191 *)
192 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
193 ;;
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}'`
245 fi
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
328 fi
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`
359 ;;
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}
373 ;;
374 sun4)
375 echo sparc-sun-sunos${UNAME_RELEASE}
376 ;;
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);
444 }
445 EOF
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}
483 fi
484 else
485 echo i586-dg-dgux${UNAME_RELEASE}
486 fi
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}
515 fi
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>
523
524 main()
525 {
526 if (!__power_pc())
527 exit(1);
528 puts("powerpc-ibm-aix3.2.5");
529 exit(0);
530 }
531 EOF
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
538 fi
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
546 fi
547 if [ -x /usr/bin/oslevel ] ; then
548 IBM_REV=`/usr/bin/oslevel`
549 else
550 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
551 fi
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
594 fi
595 if [ "${HP_ARCH}" = "" ]; then
596 eval $set_cc_for_build
597 sed 's/^ //' << EOF >$dummy.c
598
599 #define _HPUX_SOURCE
600 #include <stdlib.h>
601 #include <unistd.h>
602
603 int main ()
604 {
605 #if defined(_SC_KERNEL_BITS)
606 long bits = sysconf(_SC_KERNEL_BITS);
607 #endif
608 long cpu = sysconf (_SC_CPU_VERSION);
609
610 switch (cpu)
611 {
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)
617 {
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;
626 }
627 exit (0);
628 }
629 EOF
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"
643 fi
644 fi
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>
655 int
656 main ()
657 {
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))
663 {
664 switch (cpu)
665 {
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;
670 }
671 }
672 else if (CPU_IS_HP_MC68K (cpu))
673 puts ("m68k-hitachi-hiuxwe2");
674 else puts ("unknown-hitachi-hiuxwe2");
675 exit (0);
676 }
677 EOF
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
701 fi
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
713 fi
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
775 EOF
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
850 EOF
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
853 ;;
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
869 EOF
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
872 ;;
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/ .*//
929 p'`
930 case "$ld_supported_targets" in
931 elf32-i386)
932 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
933 ;;
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 ;;
940 "")
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
970 EOF
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
974 ;;
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:syllable:*:*)
1001 echo ${UNAME_MACHINE}-pc-syllable
1002 exit 0 ;;
1003 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1004 echo i386-unknown-lynxos${UNAME_RELEASE}
1005 exit 0 ;;
1006 i*86:*DOS:*:*)
1007 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1008 exit 0 ;;
1009 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1010 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1011 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1012 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1013 else
1014 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1015 fi
1016 exit 0 ;;
1017 i*86:*:5:[78]*)
1018 case `/bin/uname -X | grep "^Machine"` in
1019 *486*) UNAME_MACHINE=i486 ;;
1020 *Pentium) UNAME_MACHINE=i586 ;;
1021 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1022 esac
1023 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1024 exit 0 ;;
1025 i*86:*:3.2:*)
1026 if test -f /usr/options/cb.name; then
1027 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1028 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1029 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1030 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1031 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1032 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1033 && UNAME_MACHINE=i586
1034 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1035 && UNAME_MACHINE=i686
1036 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1037 && UNAME_MACHINE=i686
1038 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1039 else
1040 echo ${UNAME_MACHINE}-pc-sysv32
1041 fi
1042 exit 0 ;;
1043 pc:*:*:*)
1044 # Left here for compatibility:
1045 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1046 # the processor, so we play safe by assuming i386.
1047 echo i386-pc-msdosdjgpp
1048 exit 0 ;;
1049 Intel:Mach:3*:*)
1050 echo i386-pc-mach3
1051 exit 0 ;;
1052 paragon:*:*:*)
1053 echo i860-intel-osf1
1054 exit 0 ;;
1055 i860:*:4.*:*) # i860-SVR4
1056 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1057 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1058 else # Add other i860-SVR4 vendors below as they are discovered.
1059 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1060 fi
1061 exit 0 ;;
1062 mini*:CTIX:SYS*5:*)
1063 # "miniframe"
1064 echo m68010-convergent-sysv
1065 exit 0 ;;
1066 mc68k:UNIX:SYSTEM5:3.51m)
1067 echo m68k-convergent-sysv
1068 exit 0 ;;
1069 M680?0:D-NIX:5.3:*)
1070 echo m68k-diab-dnix
1071 exit 0 ;;
1072 M68*:*:R3V[567]*:*)
1073 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1074 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)
1075 OS_REL=''
1076 test -r /etc/.relid \
1077 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1078 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1079 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1080 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1081 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1082 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1083 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1084 && echo i486-ncr-sysv4 && exit 0 ;;
1085 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1086 echo m68k-unknown-lynxos${UNAME_RELEASE}
1087 exit 0 ;;
1088 mc68030:UNIX_System_V:4.*:*)
1089 echo m68k-atari-sysv4
1090 exit 0 ;;
1091 TSUNAMI:LynxOS:2.*:*)
1092 echo sparc-unknown-lynxos${UNAME_RELEASE}
1093 exit 0 ;;
1094 rs6000:LynxOS:2.*:*)
1095 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1096 exit 0 ;;
1097 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1098 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1099 exit 0 ;;
1100 SM[BE]S:UNIX_SV:*:*)
1101 echo mips-dde-sysv${UNAME_RELEASE}
1102 exit 0 ;;
1103 RM*:ReliantUNIX-*:*:*)
1104 echo mips-sni-sysv4
1105 exit 0 ;;
1106 RM*:SINIX-*:*:*)
1107 echo mips-sni-sysv4
1108 exit 0 ;;
1109 *:SINIX-*:*:*)
1110 if uname -p 2>/dev/null >/dev/null ; then
1111 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1112 echo ${UNAME_MACHINE}-sni-sysv4
1113 else
1114 echo ns32k-sni-sysv
1115 fi
1116 exit 0 ;;
1117 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1118 # says <Richard.M.Bartel@ccMail.Census.GOV>
1119 echo i586-unisys-sysv4
1120 exit 0 ;;
1121 *:UNIX_System_V:4*:FTX*)
1122 # From Gerald Hewes <hewes@openmarket.com>.
1123 # How about differentiating between stratus architectures? -djm
1124 echo hppa1.1-stratus-sysv4
1125 exit 0 ;;
1126 *:*:*:FTX*)
1127 # From seanf@swdc.stratus.com.
1128 echo i860-stratus-sysv4
1129 exit 0 ;;
1130 *:VOS:*:*)
1131 # From Paul.Green@stratus.com.
1132 echo hppa1.1-stratus-vos
1133 exit 0 ;;
1134 mc68*:A/UX:*:*)
1135 echo m68k-apple-aux${UNAME_RELEASE}
1136 exit 0 ;;
1137 news*:NEWS-OS:6*:*)
1138 echo mips-sony-newsos6
1139 exit 0 ;;
1140 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1141 if [ -d /usr/nec ]; then
1142 echo mips-nec-sysv${UNAME_RELEASE}
1143 else
1144 echo mips-unknown-sysv${UNAME_RELEASE}
1145 fi
1146 exit 0 ;;
1147 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1148 echo powerpc-be-beos
1149 exit 0 ;;
1150 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1151 echo powerpc-apple-beos
1152 exit 0 ;;
1153 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1154 echo i586-pc-beos
1155 exit 0 ;;
1156 SX-4:SUPER-UX:*:*)
1157 echo sx4-nec-superux${UNAME_RELEASE}
1158 exit 0 ;;
1159 SX-5:SUPER-UX:*:*)
1160 echo sx5-nec-superux${UNAME_RELEASE}
1161 exit 0 ;;
1162 SX-6:SUPER-UX:*:*)
1163 echo sx6-nec-superux${UNAME_RELEASE}
1164 exit 0 ;;
1165 Power*:Rhapsody:*:*)
1166 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1167 exit 0 ;;
1168 *:Rhapsody:*:*)
1169 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1170 exit 0 ;;
1171 *:Darwin:*:*)
1172 case `uname -p` in
1173 *86) UNAME_PROCESSOR=i686 ;;
1174 powerpc) UNAME_PROCESSOR=powerpc ;;
1175 esac
1176 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1177 exit 0 ;;
1178 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1179 UNAME_PROCESSOR=`uname -p`
1180 if test "$UNAME_PROCESSOR" = "x86"; then
1181 UNAME_PROCESSOR=i386
1182 UNAME_MACHINE=pc
1183 fi
1184 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1185 exit 0 ;;
1186 *:QNX:*:4*)
1187 echo i386-pc-qnx
1188 exit 0 ;;
1189 NSR-?:NONSTOP_KERNEL:*:*)
1190 echo nsr-tandem-nsk${UNAME_RELEASE}
1191 exit 0 ;;
1192 *:NonStop-UX:*:*)
1193 echo mips-compaq-nonstopux
1194 exit 0 ;;
1195 BS2000:POSIX*:*:*)
1196 echo bs2000-siemens-sysv
1197 exit 0 ;;
1198 DS/*:UNIX_System_V:*:*)
1199 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1200 exit 0 ;;
1201 *:Plan9:*:*)
1202 # "uname -m" is not consistent, so use $cputype instead. 386
1203 # is converted to i386 for consistency with other x86
1204 # operating systems.
1205 if test "$cputype" = "386"; then
1206 UNAME_MACHINE=i386
1207 else
1208 UNAME_MACHINE="$cputype"
1209 fi
1210 echo ${UNAME_MACHINE}-unknown-plan9
1211 exit 0 ;;
1212 *:TOPS-10:*:*)
1213 echo pdp10-unknown-tops10
1214 exit 0 ;;
1215 *:TENEX:*:*)
1216 echo pdp10-unknown-tenex
1217 exit 0 ;;
1218 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1219 echo pdp10-dec-tops20
1220 exit 0 ;;
1221 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1222 echo pdp10-xkl-tops20
1223 exit 0 ;;
1224 *:TOPS-20:*:*)
1225 echo pdp10-unknown-tops20
1226 exit 0 ;;
1227 *:ITS:*:*)
1228 echo pdp10-unknown-its
1229 exit 0 ;;
1230 SEI:*:*:SEIUX)
1231 echo mips-sei-seiux${UNAME_RELEASE}
1232 exit 0 ;;
1233 *:DRAGONFLY:*:*)
1234 echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
1235 exit 0 ;;
1236 esac
1237
1238 #echo '(No uname command or uname output not recognized.)' 1>&2
1239 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1240
1241 eval $set_cc_for_build
1242 cat >$dummy.c <<EOF
1243 #ifdef _SEQUENT_
1244 # include <sys/types.h>
1245 # include <sys/utsname.h>
1246 #endif
1247 main ()
1248 {
1249 #if defined (sony)
1250 #if defined (MIPSEB)
1251 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1252 I don't know.... */
1253 printf ("mips-sony-bsd\n"); exit (0);
1254 #else
1255 #include <sys/param.h>
1256 printf ("m68k-sony-newsos%s\n",
1257 #ifdef NEWSOS4
1258 "4"
1259 #else
1260 ""
1261 #endif
1262 ); exit (0);
1263 #endif
1264 #endif
1265
1266 #if defined (__arm) && defined (__acorn) && defined (__unix)
1267 printf ("arm-acorn-riscix"); exit (0);
1268 #endif
1269
1270 #if defined (hp300) && !defined (hpux)
1271 printf ("m68k-hp-bsd\n"); exit (0);
1272 #endif
1273
1274 #if defined (NeXT)
1275 #if !defined (__ARCHITECTURE__)
1276 #define __ARCHITECTURE__ "m68k"
1277 #endif
1278 int version;
1279 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1280 if (version < 4)
1281 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1282 else
1283 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1284 exit (0);
1285 #endif
1286
1287 #if defined (MULTIMAX) || defined (n16)
1288 #if defined (UMAXV)
1289 printf ("ns32k-encore-sysv\n"); exit (0);
1290 #else
1291 #if defined (CMU)
1292 printf ("ns32k-encore-mach\n"); exit (0);
1293 #else
1294 printf ("ns32k-encore-bsd\n"); exit (0);
1295 #endif
1296 #endif
1297 #endif
1298
1299 #if defined (__386BSD__)
1300 printf ("i386-pc-bsd\n"); exit (0);
1301 #endif
1302
1303 #if defined (sequent)
1304 #if defined (i386)
1305 printf ("i386-sequent-dynix\n"); exit (0);
1306 #endif
1307 #if defined (ns32000)
1308 printf ("ns32k-sequent-dynix\n"); exit (0);
1309 #endif
1310 #endif
1311
1312 #if defined (_SEQUENT_)
1313 struct utsname un;
1314
1315 uname(&un);
1316
1317 if (strncmp(un.version, "V2", 2) == 0) {
1318 printf ("i386-sequent-ptx2\n"); exit (0);
1319 }
1320 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1321 printf ("i386-sequent-ptx1\n"); exit (0);
1322 }
1323 printf ("i386-sequent-ptx\n"); exit (0);
1324
1325 #endif
1326
1327 #if defined (vax)
1328 # if !defined (ultrix)
1329 # include <sys/param.h>
1330 # if defined (BSD)
1331 # if BSD == 43
1332 printf ("vax-dec-bsd4.3\n"); exit (0);
1333 # else
1334 # if BSD == 199006
1335 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1336 # else
1337 printf ("vax-dec-bsd\n"); exit (0);
1338 # endif
1339 # endif
1340 # else
1341 printf ("vax-dec-bsd\n"); exit (0);
1342 # endif
1343 # else
1344 printf ("vax-dec-ultrix\n"); exit (0);
1345 # endif
1346 #endif
1347
1348 #if defined (alliant) && defined (i860)
1349 printf ("i860-alliant-bsd\n"); exit (0);
1350 #endif
1351
1352 exit (1);
1353 }
1354 EOF
1355
1356 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
1357
1358 # Apollos put the system type in the environment.
1359
1360 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1361
1362 # Convex versions that predate uname can use getsysinfo(1)
1363
1364 if [ -x /usr/convex/getsysinfo ]
1365 then
1366 case `getsysinfo -f cpu_type` in
1367 c1*)
1368 echo c1-convex-bsd
1369 exit 0 ;;
1370 c2*)
1371 if getsysinfo -f scalar_acc
1372 then echo c32-convex-bsd
1373 else echo c2-convex-bsd
1374 fi
1375 exit 0 ;;
1376 c34*)
1377 echo c34-convex-bsd
1378 exit 0 ;;
1379 c38*)
1380 echo c38-convex-bsd
1381 exit 0 ;;
1382 c4*)
1383 echo c4-convex-bsd
1384 exit 0 ;;
1385 esac
1386 fi
1387
1388 cat >&2 <<EOF
1389 $0: unable to guess system type
1390
1391 This script, last modified $timestamp, has failed to recognize
1392 the operating system you are using. It is advised that you
1393 download the most up to date version of the config scripts from
1394
1395 ftp://ftp.gnu.org/pub/gnu/config/
1396
1397 If the version you run ($0) is already up to date, please
1398 send the following data and any information you think might be
1399 pertinent to <config-patches@gnu.org> in order to provide the needed
1400 information to handle your system.
1401
1402 config.guess timestamp = $timestamp
1403
1404 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1405 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1406 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1407 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1408
1409 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1410 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1411
1412 hostinfo = `(hostinfo) 2>/dev/null`
1413 /bin/universe = `(/bin/universe) 2>/dev/null`
1414 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1415 /bin/arch = `(/bin/arch) 2>/dev/null`
1416 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1417 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1418
1419 UNAME_MACHINE = ${UNAME_MACHINE}
1420 UNAME_RELEASE = ${UNAME_RELEASE}
1421 UNAME_SYSTEM = ${UNAME_SYSTEM}
1422 UNAME_VERSION = ${UNAME_VERSION}
1423 EOF
1424
1425 exit 1
1426
1427 # Local variables:
1428 # eval: (add-hook 'write-file-hooks 'time-stamp)
1429 # time-stamp-start: "timestamp='"
1430 # time-stamp-format: "%:y-%02m-%02d"
1431 # time-stamp-end: "'"
1432 # End: