/[GiNaC]/config.guess
ViewVC logotype

Annotation of /config.guess

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.15 - (hide annotations)
Wed Jun 6 18:15:18 2001 UTC (12 years, 10 months ago) by kreckel
Branch: MAIN
CVS Tags: release_0-9-0
Changes since 1.14: +21 -32 lines
- config.*: updated from FSF.
- Removed cint subdir for good because the new separate package seems to
  work properly now (after some longish argument with makecint).

1 cbauer 1.2 #! /bin/sh
2     # Attempt to guess a canonical system name.
3 kreckel 1.13 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 cbauer 1.3 # Free Software Foundation, Inc.
5 kreckel 1.5
6 kreckel 1.15 timestamp='2001-06-05'
7 kreckel 1.5
8 cbauer 1.2 # 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 kreckel 1.4 # Please send patches to <config-patches@gnu.org>.
29 cbauer 1.2 #
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 kreckel 1.12 # don't specify an explicit build system type.
36 cbauer 1.2
37 kreckel 1.5 me=`echo "$0" | sed -e 's,.*/,,'`
38    
39     usage="\
40     Usage: $0 [OPTION]
41    
42 kreckel 1.12 Output the configuration name of the system \`$me' is run on.
43 kreckel 1.5
44     Operation modes:
45 kreckel 1.12 -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 kreckel 1.15 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56 kreckel 1.12 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 kreckel 1.5
61     help="
62     Try \`$me --help' for more information."
63    
64     # Parse command line
65     while test $# -gt 0 ; do
66 kreckel 1.12 case $1 in
67     --time-stamp | --time* | -t )
68     echo "$timestamp" ; exit 0 ;;
69     --version | -v )
70 kreckel 1.5 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 kreckel 1.12 echo "$me: invalid option $1$help" >&2
79 kreckel 1.5 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     fi
89    
90 cbauer 1.3
91 kreckel 1.12 dummy=dummy-$$
92 kreckel 1.13 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
93 kreckel 1.12
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 kreckel 1.13 rm -f $dummy.c $dummy.o $dummy.rel
107 kreckel 1.12 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 cbauer 1.3
115 cbauer 1.2 # 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 kreckel 1.12 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
124 cbauer 1.2 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 kreckel 1.4 *: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 kreckel 1.8 amiga) machine=m68k-unknown ;;
140 kreckel 1.4 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 kreckel 1.12 # 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 kreckel 1.4 # 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 cbauer 1.2 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 cbauer 1.3 cat <<EOF >$dummy.s
183 kreckel 1.4 .data
184     \$Lformat:
185     .byte 37,100,45,37,120,10,0 # "%d-%x\n"
186    
187     .text
188 cbauer 1.2 .globl main
189 kreckel 1.4 .align 4
190 cbauer 1.2 .ent main
191     main:
192 kreckel 1.4 .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 cbauer 1.2 .end main
206     EOF
207 cbauer 1.3 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
208 cbauer 1.2 if test "$?" = 0 ; then
209 kreckel 1.4 case `./$dummy` in
210     0-0)
211 cbauer 1.2 UNAME_MACHINE="alpha"
212     ;;
213 kreckel 1.4 1-0)
214 cbauer 1.2 UNAME_MACHINE="alphaev5"
215     ;;
216 kreckel 1.4 1-1)
217 cbauer 1.2 UNAME_MACHINE="alphaev56"
218     ;;
219 kreckel 1.4 1-101)
220 cbauer 1.2 UNAME_MACHINE="alphapca56"
221     ;;
222 kreckel 1.4 2-303)
223 cbauer 1.2 UNAME_MACHINE="alphaev6"
224     ;;
225 kreckel 1.4 2-307)
226     UNAME_MACHINE="alphaev67"
227     ;;
228 cbauer 1.2 esac
229     fi
230 cbauer 1.3 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 cbauer 1.2 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 kreckel 1.8 echo m68k-unknown-sysv4
244 cbauer 1.2 exit 0;;
245     amiga:OpenBSD:*:*)
246     echo m68k-unknown-openbsd${UNAME_RELEASE}
247     exit 0 ;;
248 cbauer 1.3 *:[Aa]miga[Oo][Ss]:*:*)
249     echo ${UNAME_MACHINE}-unknown-amigaos
250     exit 0 ;;
251 cbauer 1.2 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 kreckel 1.4 *:OS/390:*:*)
270     echo i370-ibm-openedition
271     exit 0 ;;
272 cbauer 1.2 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
273     echo arm-acorn-riscix${UNAME_RELEASE}
274     exit 0;;
275 kreckel 1.13 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
276 cbauer 1.2 echo hppa1.1-hitachi-hiuxmpp
277     exit 0;;
278 cbauer 1.3 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
279 cbauer 1.2 # 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 cbauer 1.3 NILE*:*:*:dcosx)
287 cbauer 1.2 echo pyramid-pyramid-svr4
288     exit 0 ;;
289 cbauer 1.3 sun4H:SunOS:5.*:*)
290     echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
291     exit 0 ;;
292 cbauer 1.2 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 cbauer 1.3 # The situation for MiNT is a little confusing. The machine name
335     # can be virtually everything (everything which is not
336 kreckel 1.4 # "atarist" or "atariste" at least should have a processor
337 cbauer 1.3 # > 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 cbauer 1.2 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 cbauer 1.3 2020:CLIX:*:* | 2430:CLIX:*:*)
385 cbauer 1.2 echo clipper-intergraph-clix${UNAME_RELEASE}
386     exit 0 ;;
387     mips:*:*:UMIPS | mips:*:*:RISCos)
388 cbauer 1.3 sed 's/^ //' << EOF >$dummy.c
389     #ifdef __cplusplus
390 kreckel 1.4 #include <stdio.h> /* for printf() prototype */
391 cbauer 1.3 int main (int argc, char *argv[]) {
392     #else
393     int main (argc, argv) int argc; char *argv[]; {
394     #endif
395 cbauer 1.2 #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 cbauer 1.3 $CC_FOR_BUILD $dummy.c -o $dummy \
410     && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
411 kreckel 1.14 && rm -f $dummy.c $dummy && exit 0
412 cbauer 1.3 rm -f $dummy.c $dummy
413 cbauer 1.2 echo mips-mips-riscos${UNAME_RELEASE}
414     exit 0 ;;
415 kreckel 1.14 Motorola:PowerMAX_OS:*:*)
416     echo powerpc-motorola-powermax
417     exit 0 ;;
418 cbauer 1.2 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 kreckel 1.4 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 cbauer 1.2 echo m88k-dg-dgux${UNAME_RELEASE}
439 kreckel 1.4 else
440     echo m88k-dg-dguxbcs${UNAME_RELEASE}
441     fi
442 cbauer 1.2 else
443 kreckel 1.4 echo i586-dg-dgux${UNAME_RELEASE}
444 cbauer 1.2 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 kreckel 1.14 i*86:AIX:*:*)
466 cbauer 1.2 echo i386-ibm-aix
467     exit 0 ;;
468 kreckel 1.14 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 cbauer 1.2 *:AIX:2:3)
477     if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
478 cbauer 1.3 sed 's/^ //' << EOF >$dummy.c
479 cbauer 1.2 #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 kreckel 1.14 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
490 cbauer 1.3 rm -f $dummy.c $dummy
491 cbauer 1.2 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 kreckel 1.14 *:AIX:*:[45])
499 cbauer 1.3 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
500 kreckel 1.14 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
501 cbauer 1.2 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 kreckel 1.14 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
509 cbauer 1.2 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 kreckel 1.4 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
519 cbauer 1.2 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 cbauer 1.3 9000/[34678]??:HP-UX:*:*)
534 kreckel 1.12 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
535 cbauer 1.2 case "${UNAME_MACHINE}" in
536     9000/31? ) HP_ARCH=m68000 ;;
537     9000/[34]?? ) HP_ARCH=m68k ;;
538 cbauer 1.3 9000/[678][0-9][0-9])
539 kreckel 1.12 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 cbauer 1.3 sed 's/^ //' << EOF >$dummy.c
557 kreckel 1.4
558     #define _HPUX_SOURCE
559 cbauer 1.3 #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 kreckel 1.4 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
590 kreckel 1.12 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
591 cbauer 1.3 rm -f $dummy.c $dummy
592 kreckel 1.12 fi ;;
593 cbauer 1.2 esac
594     echo ${HP_ARCH}-hp-hpux${HPUX_REV}
595     exit 0 ;;
596 kreckel 1.13 ia64:HP-UX:*:*)
597     HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
598     echo ia64-hp-hpux${HPUX_REV}
599     exit 0 ;;
600 cbauer 1.2 3050*:HI-UX:*:*)
601 cbauer 1.3 sed 's/^ //' << EOF >$dummy.c
602 cbauer 1.2 #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 kreckel 1.14 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
627 cbauer 1.3 rm -f $dummy.c $dummy
628 cbauer 1.2 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 cbauer 1.3 *9??*:MPE/iX:*:*)
637     echo hppa1.0-hp-mpeix
638     exit 0 ;;
639 cbauer 1.2 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 kreckel 1.14 i*86:OSF1:*:*)
646 cbauer 1.2 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 cbauer 1.3 hppa*:OpenBSD:*:*)
656     echo hppa-unknown-openbsd
657     exit 0 ;;
658 cbauer 1.2 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 kreckel 1.4 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
689 cbauer 1.2 exit 0 ;;
690 kreckel 1.12 CRAY*T3D:*:*:*)
691     echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
692     exit 0 ;;
693 cbauer 1.3 CRAY*T3E:*:*:*)
694 kreckel 1.12 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
695 kreckel 1.4 exit 0 ;;
696     CRAY*SV1:*:*:*)
697     echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
698 cbauer 1.3 exit 0 ;;
699 cbauer 1.2 CRAY-2:*:*:*)
700     echo cray2-cray-unicos
701     exit 0 ;;
702 kreckel 1.13 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
703     FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
704 cbauer 1.3 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
705 cbauer 1.2 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
706 kreckel 1.13 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
707 cbauer 1.2 exit 0 ;;
708     hp300:OpenBSD:*:*)
709     echo m68k-unknown-openbsd${UNAME_RELEASE}
710     exit 0 ;;
711 kreckel 1.14 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
712 cbauer 1.2 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
713     exit 0 ;;
714 cbauer 1.3 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 cbauer 1.2 *: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 cbauer 1.3 echo ${UNAME_MACHINE}-pc-cygwin
728 cbauer 1.2 exit 0 ;;
729     i*:MINGW*:*)
730 cbauer 1.3 echo ${UNAME_MACHINE}-pc-mingw32
731     exit 0 ;;
732 kreckel 1.9 i*:PW*:*)
733     echo ${UNAME_MACHINE}-pc-pw32
734     exit 0 ;;
735 cbauer 1.3 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 cbauer 1.2 exit 0 ;;
744     p*:CYGWIN*:*)
745 cbauer 1.3 echo powerpcle-unknown-cygwin
746 cbauer 1.2 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 kreckel 1.6 exit 0 ;;
753     i*86:Minix:*:*)
754     echo ${UNAME_MACHINE}-pc-minix
755 cbauer 1.2 exit 0 ;;
756 kreckel 1.14 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 cbauer 1.3 #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 kreckel 1.14 printf("unknown\n");
801 cbauer 1.3 #endif
802     return 0;
803     }
804     EOF
805 kreckel 1.14 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     .globl main
821     .align 4
822     .ent main
823     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     .end main
838     EOF
839     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 cbauer 1.3 if test "$?" = 0 ; then
853 kreckel 1.14 LIBC="libc1"
854 kreckel 1.4 fi
855 kreckel 1.14 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 kreckel 1.15 ld_supported_targets=`cd /; ld --help 2>&1 \
887     | sed -ne '/supported targets:/!d
888 kreckel 1.14 s/[ ][ ]*/ /g
889 kreckel 1.15 s/.*supported targets: *//
890 kreckel 1.14 s/ .*//
891     p'`
892 kreckel 1.15 case "$ld_supported_targets" in
893     elf32-i386)
894 kreckel 1.14 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
895     ;;
896 kreckel 1.15 a.out-i386-linux)
897     echo "${UNAME_MACHINE}-pc-linux-gnuaout"
898     exit 0 ;;
899     coff-i386)
900 kreckel 1.14 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
901 kreckel 1.15 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 kreckel 1.14 esac
908     # Determine whether the default compiler is a.out or elf
909     cat >$dummy.c <<EOF
910 cbauer 1.2 #include <features.h>
911 cbauer 1.3 #ifdef __cplusplus
912 kreckel 1.4 #include <stdio.h> /* for printf() prototype */
913 cbauer 1.3 int main (int argc, char *argv[]) {
914     #else
915     int main (argc, argv) int argc; char *argv[]; {
916     #endif
917 cbauer 1.2 #ifdef __ELF__
918     # ifdef __GLIBC__
919     # if __GLIBC__ >= 2
920 kreckel 1.15 printf ("%s-pc-linux-gnu\n", argv[1]);
921 cbauer 1.2 # else
922 kreckel 1.15 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
923 cbauer 1.2 # endif
924     # else
925 kreckel 1.15 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
926 cbauer 1.2 # endif
927     #else
928 kreckel 1.15 printf ("%s-pc-linux-gnuaout\n", argv[1]);
929 cbauer 1.2 #endif
930     return 0;
931     }
932     EOF
933 kreckel 1.14 $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 cbauer 1.2 # 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 kreckel 1.14 i*86:DYNIX/ptx:4*:*)
940 cbauer 1.2 echo i386-sequent-sysv4
941     exit 0 ;;
942 kreckel 1.14 i*86:UNIX_SV:4.2MP:2.*)
943 cbauer 1.2 # 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 kreckel 1.14 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
951 kreckel 1.4 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
952 cbauer 1.2 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
953 kreckel 1.4 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
954 cbauer 1.2 else
955 kreckel 1.4 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
956 cbauer 1.2 fi
957     exit 0 ;;
958 kreckel 1.14 i*86:*:5:7*)
959 kreckel 1.4 # 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 cbauer 1.3 exit 0 ;;
967 kreckel 1.14 i*86:*:3.2:*)
968 cbauer 1.2 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 cbauer 1.3 (/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 cbauer 1.2 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
981     else
982     echo ${UNAME_MACHINE}-pc-sysv32
983     fi
984     exit 0 ;;
985 kreckel 1.14 i*86:*DOS:*:*)
986 kreckel 1.4 echo ${UNAME_MACHINE}-pc-msdosdjgpp
987     exit 0 ;;
988 cbauer 1.2 pc:*:*:*)
989 kreckel 1.4 # Left here for compatibility:
990 cbauer 1.2 # 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 kreckel 1.10 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 cbauer 1.2 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 kreckel 1.14 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1025 cbauer 1.2 echo m68k-unknown-lynxos${UNAME_RELEASE}
1026     exit 0 ;;
1027     mc68030:UNIX_System_V:4.*:*)
1028     echo m68k-atari-sysv4
1029     exit 0 ;;
1030 kreckel 1.14 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1031 cbauer 1.2 echo i386-unknown-lynxos${UNAME_RELEASE}
1032     exit 0 ;;
1033     TSUNAMI:LynxOS:2.*:*)
1034     echo sparc-unknown-lynxos${UNAME_RELEASE}
1035     exit 0 ;;
1036 kreckel 1.13 rs6000:LynxOS:2.*:*)
1037 cbauer 1.2 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1038     exit 0 ;;
1039 kreckel 1.14 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1040 kreckel 1.13 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1041     exit 0 ;;
1042 cbauer 1.2 SM[BE]S:UNIX_SV:*:*)
1043     echo mips-dde-sysv${UNAME_RELEASE}
1044     exit 0 ;;
1045 cbauer 1.3 RM*:ReliantUNIX-*:*:*)
1046     echo mips-sni-sysv4
1047     exit 0 ;;
1048 cbauer 1.2 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 kreckel 1.9 news*:NEWS-OS:6*:*)
1076 cbauer 1.2 echo mips-sony-newsos6
1077     exit 0 ;;
1078 cbauer 1.3 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1079 cbauer 1.2 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 cbauer 1.3 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 kreckel 1.4 exit 0 ;;
1106     *: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 kreckel 1.9 NSR-[KW]:NONSTOP_KERNEL:*:*)
1119 kreckel 1.4 echo nsr-tandem-nsk${UNAME_RELEASE}
1120 kreckel 1.10 exit 0 ;;
1121     *:NonStop-UX:*:*)
1122     echo mips-compaq-nonstopux
1123 kreckel 1.4 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 kreckel 1.7 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 cbauer 1.3 exit 0 ;;
1141 kreckel 1.14 i*86:OS/2:*:*)
1142 kreckel 1.12 # 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 kreckel 1.13 *: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 cbauer 1.2 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 cbauer 1.3 cat >$dummy.c <<EOF
1170 cbauer 1.2 #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 cbauer 1.3 if (version < 4)
1208     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1209     else
1210     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1211 cbauer 1.2 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 kreckel 1.14 # 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 cbauer 1.2 #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 kreckel 1.14 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1284 cbauer 1.3 rm -f $dummy.c $dummy
1285 cbauer 1.2
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 kreckel 1.5 cat >&2 <<EOF
1317     $0: unable to guess system type
1318    
1319 kreckel 1.13 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 kreckel 1.5
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 kreckel 1.13 config.guess timestamp = $timestamp
1331 kreckel 1.5
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 cbauer 1.2
1353     exit 1
1354 kreckel 1.5
1355     # Local variables:
1356     # eval: (add-hook 'write-file-hooks 'time-stamp)
1357 kreckel 1.12 # time-stamp-start: "timestamp='"
1358 kreckel 1.5 # time-stamp-format: "%:y-%02m-%02d"
1359     # time-stamp-end: "'"
1360     # End:

Christian Bauer">Christian Bauer
ViewVC Help
Powered by ViewVC 1.1.17