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