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