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