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