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