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