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