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