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