comparison config.guess @ 1:551433a01cab

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