ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/config.guess
Revision: 1.3
Committed: 2001-09-18T17:16:47Z (22 years, 11 months ago) by cebix
Branch: MAIN
CVS Tags: nigel-build-12, nigel-build-13, snapshot-15012002
Changes since 1.2: +32 -21 lines
Log Message:
updated autoconf/automake helper files

File Contents

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