ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/config.guess
Revision: 1.2
Committed: 2001-06-19T08:29:07Z (23 years, 5 months ago) by gbeauche
Branch: MAIN
Changes since 1.1: +524 -251 lines
Log Message:
- config.guess: import CVS version 1.195
- config.sub: import CVS version 1.212
As a side effect, it now recognizes MacOS X

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     timestamp='2001-06-05'
7    
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     Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56     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     ld_supported_targets=`cd /; ld --help 2>&1 \
887     | sed -ne '/supported targets:/!d
888     s/[ ][ ]*/ /g
889     s/.*supported targets: *//
890     s/ .*//
891     p'`
892     case "$ld_supported_targets" in
893     elf32-i386)
894     TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
895     ;;
896     a.out-i386-linux)
897     echo "${UNAME_MACHINE}-pc-linux-gnuaout"
898     exit 0 ;;
899     coff-i386)
900     echo "${UNAME_MACHINE}-pc-linux-gnucoff"
901     exit 0 ;;
902     "")
903     # Either a pre-BFD a.out linker (linux-gnuoldld) or
904     # one that does not give us useful --help.
905     echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
906     exit 0 ;;
907     esac
908     # Determine whether the default compiler is a.out or elf
909     cat >$dummy.c <<EOF
910 gbeauche 1.1 #include <features.h>
911     #ifdef __cplusplus
912 gbeauche 1.2 #include <stdio.h> /* for printf() prototype */
913 gbeauche 1.1 int main (int argc, char *argv[]) {
914     #else
915     int main (argc, argv) int argc; char *argv[]; {
916     #endif
917     #ifdef __ELF__
918     # ifdef __GLIBC__
919     # if __GLIBC__ >= 2
920 gbeauche 1.2 printf ("%s-pc-linux-gnu\n", argv[1]);
921 gbeauche 1.1 # else
922 gbeauche 1.2 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
923 gbeauche 1.1 # endif
924     # else
925 gbeauche 1.2 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
926 gbeauche 1.1 # endif
927     #else
928 gbeauche 1.2 printf ("%s-pc-linux-gnuaout\n", argv[1]);
929 gbeauche 1.1 #endif
930     return 0;
931     }
932     EOF
933 gbeauche 1.2 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
934     rm -f $dummy.c $dummy
935     test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
936     ;;
937 gbeauche 1.1 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
938     # are messed up and put the nodename in both sysname and nodename.
939 gbeauche 1.2 i*86:DYNIX/ptx:4*:*)
940 gbeauche 1.1 echo i386-sequent-sysv4
941     exit 0 ;;
942 gbeauche 1.2 i*86:UNIX_SV:4.2MP:2.*)
943 gbeauche 1.1 # Unixware is an offshoot of SVR4, but it has its own version
944     # number series starting with 2...
945     # I am not positive that other SVR4 systems won't match this,
946     # I just have to hope. -- rms.
947     # Use sysv4.2uw... so that sysv4* matches it.
948     echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
949     exit 0 ;;
950 gbeauche 1.2 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
951     UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
952 gbeauche 1.1 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
953 gbeauche 1.2 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
954 gbeauche 1.1 else
955 gbeauche 1.2 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
956 gbeauche 1.1 fi
957     exit 0 ;;
958 gbeauche 1.2 i*86:*:5:7*)
959     # Fixed at (any) Pentium or better
960     UNAME_MACHINE=i586
961     if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
962     echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
963     else
964     echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
965     fi
966 gbeauche 1.1 exit 0 ;;
967 gbeauche 1.2 i*86:*:3.2:*)
968 gbeauche 1.1 if test -f /usr/options/cb.name; then
969     UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
970     echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
971     elif /bin/uname -X 2>/dev/null >/dev/null ; then
972     UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
973     (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
974     (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
975     && UNAME_MACHINE=i586
976     (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
977     && UNAME_MACHINE=i686
978     (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
979     && UNAME_MACHINE=i686
980     echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
981     else
982     echo ${UNAME_MACHINE}-pc-sysv32
983     fi
984     exit 0 ;;
985 gbeauche 1.2 i*86:*DOS:*:*)
986     echo ${UNAME_MACHINE}-pc-msdosdjgpp
987     exit 0 ;;
988 gbeauche 1.1 pc:*:*:*)
989 gbeauche 1.2 # Left here for compatibility:
990 gbeauche 1.1 # uname -m prints for DJGPP always 'pc', but it prints nothing about
991     # the processor, so we play safe by assuming i386.
992     echo i386-pc-msdosdjgpp
993     exit 0 ;;
994     Intel:Mach:3*:*)
995     echo i386-pc-mach3
996     exit 0 ;;
997     paragon:*:*:*)
998     echo i860-intel-osf1
999     exit 0 ;;
1000     i860:*:4.*:*) # i860-SVR4
1001     if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1002     echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1003     else # Add other i860-SVR4 vendors below as they are discovered.
1004     echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1005     fi
1006     exit 0 ;;
1007     mini*:CTIX:SYS*5:*)
1008     # "miniframe"
1009     echo m68010-convergent-sysv
1010     exit 0 ;;
1011     M68*:*:R3V[567]*:*)
1012     test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1013 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)
1014 gbeauche 1.1 OS_REL=''
1015     test -r /etc/.relid \
1016     && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1017     /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1018     && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1019     /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1020     && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1021     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1022     /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1023     && echo i486-ncr-sysv4 && exit 0 ;;
1024 gbeauche 1.2 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1025 gbeauche 1.1 echo m68k-unknown-lynxos${UNAME_RELEASE}
1026     exit 0 ;;
1027     mc68030:UNIX_System_V:4.*:*)
1028     echo m68k-atari-sysv4
1029     exit 0 ;;
1030 gbeauche 1.2 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1031 gbeauche 1.1 echo i386-unknown-lynxos${UNAME_RELEASE}
1032     exit 0 ;;
1033     TSUNAMI:LynxOS:2.*:*)
1034     echo sparc-unknown-lynxos${UNAME_RELEASE}
1035     exit 0 ;;
1036 gbeauche 1.2 rs6000:LynxOS:2.*:*)
1037 gbeauche 1.1 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1038     exit 0 ;;
1039 gbeauche 1.2 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1040     echo powerpc-unknown-lynxos${UNAME_RELEASE}
1041     exit 0 ;;
1042 gbeauche 1.1 SM[BE]S:UNIX_SV:*:*)
1043     echo mips-dde-sysv${UNAME_RELEASE}
1044     exit 0 ;;
1045     RM*:ReliantUNIX-*:*:*)
1046     echo mips-sni-sysv4
1047     exit 0 ;;
1048     RM*:SINIX-*:*:*)
1049     echo mips-sni-sysv4
1050     exit 0 ;;
1051     *:SINIX-*:*:*)
1052     if uname -p 2>/dev/null >/dev/null ; then
1053     UNAME_MACHINE=`(uname -p) 2>/dev/null`
1054     echo ${UNAME_MACHINE}-sni-sysv4
1055     else
1056     echo ns32k-sni-sysv
1057     fi
1058     exit 0 ;;
1059     PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1060     # says <Richard.M.Bartel@ccMail.Census.GOV>
1061     echo i586-unisys-sysv4
1062     exit 0 ;;
1063     *:UNIX_System_V:4*:FTX*)
1064     # From Gerald Hewes <hewes@openmarket.com>.
1065     # How about differentiating between stratus architectures? -djm
1066     echo hppa1.1-stratus-sysv4
1067     exit 0 ;;
1068     *:*:*:FTX*)
1069     # From seanf@swdc.stratus.com.
1070     echo i860-stratus-sysv4
1071     exit 0 ;;
1072     mc68*:A/UX:*:*)
1073     echo m68k-apple-aux${UNAME_RELEASE}
1074     exit 0 ;;
1075 gbeauche 1.2 news*:NEWS-OS:6*:*)
1076 gbeauche 1.1 echo mips-sony-newsos6
1077     exit 0 ;;
1078     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1079     if [ -d /usr/nec ]; then
1080     echo mips-nec-sysv${UNAME_RELEASE}
1081     else
1082     echo mips-unknown-sysv${UNAME_RELEASE}
1083     fi
1084     exit 0 ;;
1085     BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1086     echo powerpc-be-beos
1087     exit 0 ;;
1088     BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1089     echo powerpc-apple-beos
1090     exit 0 ;;
1091     BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1092     echo i586-pc-beos
1093     exit 0 ;;
1094     SX-4:SUPER-UX:*:*)
1095     echo sx4-nec-superux${UNAME_RELEASE}
1096     exit 0 ;;
1097     SX-5:SUPER-UX:*:*)
1098     echo sx5-nec-superux${UNAME_RELEASE}
1099     exit 0 ;;
1100     Power*:Rhapsody:*:*)
1101     echo powerpc-apple-rhapsody${UNAME_RELEASE}
1102     exit 0 ;;
1103     *:Rhapsody:*:*)
1104     echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1105     exit 0 ;;
1106 gbeauche 1.2 *:Darwin:*:*)
1107     echo `uname -p`-apple-darwin${UNAME_RELEASE}
1108     exit 0 ;;
1109     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1110     if test "${UNAME_MACHINE}" = "x86pc"; then
1111     UNAME_MACHINE=pc
1112     fi
1113     echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1114     exit 0 ;;
1115     *:QNX:*:4*)
1116     echo i386-pc-qnx
1117     exit 0 ;;
1118     NSR-[KW]:NONSTOP_KERNEL:*:*)
1119     echo nsr-tandem-nsk${UNAME_RELEASE}
1120     exit 0 ;;
1121     *:NonStop-UX:*:*)
1122     echo mips-compaq-nonstopux
1123     exit 0 ;;
1124     BS2000:POSIX*:*:*)
1125     echo bs2000-siemens-sysv
1126     exit 0 ;;
1127     DS/*:UNIX_System_V:*:*)
1128     echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1129     exit 0 ;;
1130     *:Plan9:*:*)
1131     # "uname -m" is not consistent, so use $cputype instead. 386
1132     # is converted to i386 for consistency with other x86
1133     # operating systems.
1134     if test "$cputype" = "386"; then
1135     UNAME_MACHINE=i386
1136     else
1137     UNAME_MACHINE="$cputype"
1138     fi
1139     echo ${UNAME_MACHINE}-unknown-plan9
1140     exit 0 ;;
1141     i*86:OS/2:*:*)
1142     # If we were able to find `uname', then EMX Unix compatibility
1143     # is probably installed.
1144     echo ${UNAME_MACHINE}-pc-os2-emx
1145     exit 0 ;;
1146     *:TOPS-10:*:*)
1147     echo pdp10-unknown-tops10
1148     exit 0 ;;
1149     *:TENEX:*:*)
1150     echo pdp10-unknown-tenex
1151     exit 0 ;;
1152     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1153     echo pdp10-dec-tops20
1154     exit 0 ;;
1155     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1156     echo pdp10-xkl-tops20
1157     exit 0 ;;
1158     *:TOPS-20:*:*)
1159     echo pdp10-unknown-tops20
1160     exit 0 ;;
1161     *:ITS:*:*)
1162     echo pdp10-unknown-its
1163     exit 0 ;;
1164 gbeauche 1.1 esac
1165    
1166     #echo '(No uname command or uname output not recognized.)' 1>&2
1167     #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1168    
1169     cat >$dummy.c <<EOF
1170     #ifdef _SEQUENT_
1171     # include <sys/types.h>
1172     # include <sys/utsname.h>
1173     #endif
1174     main ()
1175     {
1176     #if defined (sony)
1177     #if defined (MIPSEB)
1178     /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1179     I don't know.... */
1180     printf ("mips-sony-bsd\n"); exit (0);
1181     #else
1182     #include <sys/param.h>
1183     printf ("m68k-sony-newsos%s\n",
1184     #ifdef NEWSOS4
1185     "4"
1186     #else
1187     ""
1188     #endif
1189     ); exit (0);
1190     #endif
1191     #endif
1192    
1193     #if defined (__arm) && defined (__acorn) && defined (__unix)
1194     printf ("arm-acorn-riscix"); exit (0);
1195     #endif
1196    
1197     #if defined (hp300) && !defined (hpux)
1198     printf ("m68k-hp-bsd\n"); exit (0);
1199     #endif
1200    
1201     #if defined (NeXT)
1202     #if !defined (__ARCHITECTURE__)
1203     #define __ARCHITECTURE__ "m68k"
1204     #endif
1205     int version;
1206     version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1207     if (version < 4)
1208     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1209     else
1210     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1211     exit (0);
1212     #endif
1213    
1214     #if defined (MULTIMAX) || defined (n16)
1215     #if defined (UMAXV)
1216     printf ("ns32k-encore-sysv\n"); exit (0);
1217     #else
1218     #if defined (CMU)
1219     printf ("ns32k-encore-mach\n"); exit (0);
1220     #else
1221     printf ("ns32k-encore-bsd\n"); exit (0);
1222     #endif
1223     #endif
1224     #endif
1225    
1226     #if defined (__386BSD__)
1227     printf ("i386-pc-bsd\n"); exit (0);
1228     #endif
1229    
1230     #if defined (sequent)
1231     #if defined (i386)
1232     printf ("i386-sequent-dynix\n"); exit (0);
1233     #endif
1234     #if defined (ns32000)
1235     printf ("ns32k-sequent-dynix\n"); exit (0);
1236     #endif
1237     #endif
1238    
1239     #if defined (_SEQUENT_)
1240     struct utsname un;
1241    
1242     uname(&un);
1243    
1244     if (strncmp(un.version, "V2", 2) == 0) {
1245     printf ("i386-sequent-ptx2\n"); exit (0);
1246     }
1247     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1248     printf ("i386-sequent-ptx1\n"); exit (0);
1249     }
1250     printf ("i386-sequent-ptx\n"); exit (0);
1251    
1252     #endif
1253    
1254     #if defined (vax)
1255 gbeauche 1.2 # if !defined (ultrix)
1256     # include <sys/param.h>
1257     # if defined (BSD)
1258     # if BSD == 43
1259     printf ("vax-dec-bsd4.3\n"); exit (0);
1260     # else
1261     # if BSD == 199006
1262     printf ("vax-dec-bsd4.3reno\n"); exit (0);
1263     # else
1264     printf ("vax-dec-bsd\n"); exit (0);
1265     # endif
1266     # endif
1267     # else
1268     printf ("vax-dec-bsd\n"); exit (0);
1269     # endif
1270     # else
1271     printf ("vax-dec-ultrix\n"); exit (0);
1272     # endif
1273 gbeauche 1.1 #endif
1274    
1275     #if defined (alliant) && defined (i860)
1276     printf ("i860-alliant-bsd\n"); exit (0);
1277     #endif
1278    
1279     exit (1);
1280     }
1281     EOF
1282    
1283 gbeauche 1.2 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1284 gbeauche 1.1 rm -f $dummy.c $dummy
1285    
1286     # Apollos put the system type in the environment.
1287    
1288     test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1289    
1290     # Convex versions that predate uname can use getsysinfo(1)
1291    
1292     if [ -x /usr/convex/getsysinfo ]
1293     then
1294     case `getsysinfo -f cpu_type` in
1295     c1*)
1296     echo c1-convex-bsd
1297     exit 0 ;;
1298     c2*)
1299     if getsysinfo -f scalar_acc
1300     then echo c32-convex-bsd
1301     else echo c2-convex-bsd
1302     fi
1303     exit 0 ;;
1304     c34*)
1305     echo c34-convex-bsd
1306     exit 0 ;;
1307     c38*)
1308     echo c38-convex-bsd
1309     exit 0 ;;
1310     c4*)
1311     echo c4-convex-bsd
1312     exit 0 ;;
1313     esac
1314     fi
1315    
1316 gbeauche 1.2 cat >&2 <<EOF
1317     $0: unable to guess system type
1318    
1319     This script, last modified $timestamp, has failed to recognize
1320     the operating system you are using. It is advised that you
1321     download the most up to date version of the config scripts from
1322    
1323     ftp://ftp.gnu.org/pub/gnu/config/
1324    
1325     If the version you run ($0) is already up to date, please
1326     send the following data and any information you think might be
1327     pertinent to <config-patches@gnu.org> in order to provide the needed
1328     information to handle your system.
1329    
1330     config.guess timestamp = $timestamp
1331    
1332     uname -m = `(uname -m) 2>/dev/null || echo unknown`
1333     uname -r = `(uname -r) 2>/dev/null || echo unknown`
1334     uname -s = `(uname -s) 2>/dev/null || echo unknown`
1335     uname -v = `(uname -v) 2>/dev/null || echo unknown`
1336    
1337     /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1338     /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1339    
1340     hostinfo = `(hostinfo) 2>/dev/null`
1341     /bin/universe = `(/bin/universe) 2>/dev/null`
1342     /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1343     /bin/arch = `(/bin/arch) 2>/dev/null`
1344     /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1345     /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1346    
1347     UNAME_MACHINE = ${UNAME_MACHINE}
1348     UNAME_RELEASE = ${UNAME_RELEASE}
1349     UNAME_SYSTEM = ${UNAME_SYSTEM}
1350     UNAME_VERSION = ${UNAME_VERSION}
1351     EOF
1352 gbeauche 1.1
1353     exit 1
1354 gbeauche 1.2
1355     # Local variables:
1356     # eval: (add-hook 'write-file-hooks 'time-stamp)
1357     # time-stamp-start: "timestamp='"
1358     # time-stamp-format: "%:y-%02m-%02d"
1359     # time-stamp-end: "'"
1360     # End: