/[pcre]/code/trunk/config.guess
ViewVC logotype

Contents of /code/trunk/config.guess

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.5