source: trunk/third/gcc/config.guess @ 11288

Revision 11288, 24.0 KB checked in by ghudson, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r11287, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
4#
5# This file is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License as published by
7# the Free Software Foundation; either version 2 of the License, or
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful, but
11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
16# along with this program; if not, write to the Free Software
17# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18#
19# As a special exception to the GNU General Public License, if you
20# distribute this file as part of a program that contains a
21# configuration script generated by Autoconf, you may include it under
22# the same distribution terms that you use for the rest of that program.
23
24# Written by Per Bothner <bothner@cygnus.com>.
25# The master version of this file is at the FSF in /home/gd/gnu/lib.
26#
27# This script attempts to guess a canonical system name similar to
28# config.sub.  If it succeeds, it prints the system name on stdout, and
29# exits with 0.  Otherwise, it exits with 1.
30#
31# The plan is that this can be called by configure scripts if you
32# don't specify an explicit system type (host/target name).
33#
34# Only a few systems have been added to this list; please add others
35# (but try to keep the structure clean).
36#
37
38# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
39# (ghazi@noc.rutgers.edu 8/24/94.)
40if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
41        PATH=$PATH:/.attbin ; export PATH
42fi
43
44UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
45UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
46UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
47UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
48
49trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
50
51# Note: order is significant - the case branches are not exclusive.
52
53case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
54    alpha:OSF1:*:*)
55        if test $UNAME_RELEASE = "V4.0"; then
56                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
57        fi
58        # A Vn.n version is a released version.
59        # A Tn.n version is a released field test version.
60        # A Xn.n version is an unreleased experimental baselevel.
61        # 1.2 uses "1.2" for uname -r.
62        cat <<EOF >dummy.s
63        .globl main
64        .ent main
65main:
66        .frame \$30,0,\$26,0
67        .prologue 0
68        .long 0x47e03d80 # implver $0
69        lda \$2,259
70        .long 0x47e20c21 # amask $2,$1
71        srl \$1,8,\$2
72        sll \$2,2,\$2
73        sll \$0,3,\$0
74        addl \$1,\$0,\$0
75        addl \$2,\$0,\$0
76        ret \$31,(\$26),1
77        .end main
78EOF
79        ${CC-cc} dummy.s -o dummy 2>/dev/null
80        if test "$?" = 0 ; then
81                ./dummy
82                case "$?" in
83                        7)
84                                UNAME_MACHINE="alpha"
85                                ;;
86                        15)
87                                UNAME_MACHINE="alphaev5"
88                                ;;
89                        14)
90                                UNAME_MACHINE="alphaev56"
91                                ;;
92                        10)
93                                UNAME_MACHINE="alphapca56"
94                                ;;
95                        16)
96                                UNAME_MACHINE="alphaev6"
97                                ;;
98                esac
99        fi
100        rm -f dummy.s dummy
101        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
102        exit 0 ;;
103    21064:Windows_NT:50:3)
104        echo alpha-dec-winnt3.5
105        exit 0 ;;
106    Amiga*:UNIX_System_V:4.0:*)
107        echo m68k-cbm-sysv4
108        exit 0;;
109    amiga:NetBSD:*:*)
110      echo m68k-cbm-netbsd${UNAME_RELEASE}
111      exit 0 ;;
112    amiga:OpenBSD:*:*)
113        echo m68k-unknown-openbsd${UNAME_RELEASE}
114        exit 0 ;;
115    arc64:OpenBSD:*:*)
116        echo mips64el-unknown-openbsd${UNAME_RELEASE}
117        exit 0 ;;
118    arc:OpenBSD:*:*)
119        echo mipsel-unknown-openbsd${UNAME_RELEASE}
120        exit 0 ;;
121    hkmips:OpenBSD:*:*)
122        echo mips-unknown-openbsd${UNAME_RELEASE}
123        exit 0 ;;
124    pmax:OpenBSD:*:*)
125        echo mipsel-unknown-openbsd${UNAME_RELEASE}
126        exit 0 ;;
127    sgi:OpenBSD:*:*)
128        echo mips-unknown-openbsd${UNAME_RELEASE}
129        exit 0 ;;
130    wgrisc:OpenBSD:*:*)
131        echo mipsel-unknown-openbsd${UNAME_RELEASE}
132        exit 0 ;;
133    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
134        echo arm-acorn-riscix${UNAME_RELEASE}
135        exit 0;;
136    arm32:NetBSD:*:*)
137        echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
138        exit 0 ;;
139    SR2?01:HI-UX/MPP:*:*)
140        echo hppa1.1-hitachi-hiuxmpp
141        exit 0;;
142    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
143        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
144        if test "`(/bin/universe) 2>/dev/null`" = att ; then
145                echo pyramid-pyramid-sysv3
146        else
147                echo pyramid-pyramid-bsd
148        fi
149        exit 0 ;;
150    NILE:*:*:dcosx)
151        echo pyramid-pyramid-svr4
152        exit 0 ;;
153    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
154        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
155        exit 0 ;;
156    i86pc:SunOS:5.*:*)
157        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
158        exit 0 ;;
159    sun4*:SunOS:6*:*)
160        # According to config.sub, this is the proper way to canonicalize
161        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
162        # it's likely to be more like Solaris than SunOS4.
163        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
164        exit 0 ;;
165    sun4*:SunOS:*:*)
166        case "`/usr/bin/arch -k`" in
167            Series*|S4*)
168                UNAME_RELEASE=`uname -v`
169                ;;
170        esac
171        # Japanese Language versions have a version number like `4.1.3-JL'.
172        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
173        exit 0 ;;
174    sun3*:SunOS:*:*)
175        echo m68k-sun-sunos${UNAME_RELEASE}
176        exit 0 ;;
177    sun*:*:4.2BSD:*)
178        UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
179        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
180        case "`/bin/arch`" in
181            sun3)
182                echo m68k-sun-sunos${UNAME_RELEASE}
183                ;;
184            sun4)
185                echo sparc-sun-sunos${UNAME_RELEASE}
186                ;;
187        esac
188        exit 0 ;;
189    aushp:SunOS:*:*)
190        echo sparc-auspex-sunos${UNAME_RELEASE}
191        exit 0 ;;
192    atari*:NetBSD:*:*)
193        echo m68k-atari-netbsd${UNAME_RELEASE}
194        exit 0 ;;
195    atari*:OpenBSD:*:*)
196        echo m68k-unknown-openbsd${UNAME_RELEASE}
197        exit 0 ;;
198    sun3*:NetBSD:*:*)
199        echo m68k-sun-netbsd${UNAME_RELEASE}
200        exit 0 ;;
201    sun3*:OpenBSD:*:*)
202        echo m68k-unknown-openbsd${UNAME_RELEASE}
203        exit 0 ;;
204    mac68k:NetBSD:*:*)
205        echo m68k-apple-netbsd${UNAME_RELEASE}
206        exit 0 ;;
207    mac68k:OpenBSD:*:*)
208        echo m68k-unknown-openbsd${UNAME_RELEASE}
209        exit 0 ;;
210    mvme68k:OpenBSD:*:*)
211        echo m68k-unknown-openbsd${UNAME_RELEASE}
212        exit 0 ;;
213    mvme88k:OpenBSD:*:*)
214        echo m88k-unknown-openbsd${UNAME_RELEASE}
215        exit 0 ;;
216    powerpc:machten:*:*)
217        echo powerpc-apple-machten${UNAME_RELEASE}
218        exit 0 ;;
219    RISC*:Mach:*:*)
220        echo mips-dec-mach_bsd4.3
221        exit 0 ;;
222    RISC*:ULTRIX:*:*)
223        echo mips-dec-ultrix${UNAME_RELEASE}
224        exit 0 ;;
225    VAX*:ULTRIX*:*:*)
226        echo vax-dec-ultrix${UNAME_RELEASE}
227        exit 0 ;;
228    2020:CLIX:*:*)
229        echo clipper-intergraph-clix${UNAME_RELEASE}
230        exit 0 ;;
231    mips:*:*:UMIPS | mips:*:*:RISCos)
232        sed 's/^        //' << EOF >dummy.c
233        int main (argc, argv) int argc; char **argv; {
234        #if defined (host_mips) && defined (MIPSEB)
235        #if defined (SYSTYPE_SYSV)
236          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
237        #endif
238        #if defined (SYSTYPE_SVR4)
239          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
240        #endif
241        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
242          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
243        #endif
244        #endif
245          exit (-1);
246        }
247EOF
248        ${CC-cc} dummy.c -o dummy \
249          && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
250          && rm dummy.c dummy && exit 0
251        rm -f dummy.c dummy
252        echo mips-mips-riscos${UNAME_RELEASE}
253        exit 0 ;;
254    Night_Hawk:Power_UNIX:*:*)
255        echo powerpc-harris-powerunix
256        exit 0 ;;
257    m88k:CX/UX:7*:*)
258        echo m88k-harris-cxux7
259        exit 0 ;;
260    m88k:*:4*:R4*)
261        echo m88k-motorola-sysv4
262        exit 0 ;;
263    m88k:*:3*:R3*)
264        echo m88k-motorola-sysv3
265        exit 0 ;;
266    AViiON:dgux:*:*)
267        # DG/UX returns AViiON for all architectures
268        UNAME_PROCESSOR=`/usr/bin/uname -p`
269        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
270        if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
271             -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
272                echo m88k-dg-dgux${UNAME_RELEASE}
273        else
274                echo m88k-dg-dguxbcs${UNAME_RELEASE}
275        fi
276        else echo i586-dg-dgux${UNAME_RELEASE}
277        fi
278        exit 0 ;;
279    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
280        echo m88k-dolphin-sysv3
281        exit 0 ;;
282    M88*:*:R3*:*)
283        # Delta 88k system running SVR3
284        echo m88k-motorola-sysv3
285        exit 0 ;;
286    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
287        echo m88k-tektronix-sysv3
288        exit 0 ;;
289    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
290        echo m68k-tektronix-bsd
291        exit 0 ;;
292    *:IRIX*:*:*)
293        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
294        exit 0 ;;
295    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
296        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
297        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
298    i?86:AIX:*:*)
299        echo i386-ibm-aix
300        exit 0 ;;
301    *:AIX:2:3)
302        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
303                sed 's/^                //' << EOF >dummy.c
304                #include <sys/systemcfg.h>
305
306                main()
307                        {
308                        if (!__power_pc())
309                                exit(1);
310                        puts("powerpc-ibm-aix3.2.5");
311                        exit(0);
312                        }
313EOF
314                ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
315                rm -f dummy.c dummy
316                echo rs6000-ibm-aix3.2.5
317        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
318                echo rs6000-ibm-aix3.2.4
319        else
320                echo rs6000-ibm-aix3.2
321        fi
322        exit 0 ;;
323    *:AIX:*:4)
324        if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
325                IBM_ARCH=rs6000
326        else
327                IBM_ARCH=powerpc
328        fi
329        if [ -x /usr/bin/oslevel ] ; then
330                IBM_REV=`/usr/bin/oslevel`
331        else
332                IBM_REV=4.${UNAME_RELEASE}
333        fi
334        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
335        exit 0 ;;
336    *:AIX:*:*)
337        echo rs6000-ibm-aix
338        exit 0 ;;
339    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
340        echo romp-ibm-bsd4.4
341        exit 0 ;;
342    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
343        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
344        exit 0 ;;                           # report: romp-ibm BSD 4.3
345    *:BOSX:*:*)
346        echo rs6000-bull-bosx
347        exit 0 ;;
348    DPX/2?00:B.O.S.:*:*)
349        echo m68k-bull-sysv3
350        exit 0 ;;
351    9000/[34]??:4.3bsd:1.*:*)
352        echo m68k-hp-bsd
353        exit 0 ;;
354    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
355        echo m68k-hp-bsd4.4
356        exit 0 ;;
357    9000/[3478]??:HP-UX:*:*)
358        case "${UNAME_MACHINE}" in
359            9000/31? )            HP_ARCH=m68000 ;;
360            9000/[34]?? )         HP_ARCH=m68k ;;
361            9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
362            9000/8?? )            HP_ARCH=hppa1.0 ;;
363        esac
364        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
365        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
366        exit 0 ;;
367    3050*:HI-UX:*:*)
368        sed 's/^        //' << EOF >dummy.c
369        #include <unistd.h>
370        int
371        main ()
372        {
373          long cpu = sysconf (_SC_CPU_VERSION);
374          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
375             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
376             results, however.  */
377          if (CPU_IS_PA_RISC (cpu))
378            {
379              switch (cpu)
380                {
381                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
382                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
383                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
384                  default: puts ("hppa-hitachi-hiuxwe2"); break;
385                }
386            }
387          else if (CPU_IS_HP_MC68K (cpu))
388            puts ("m68k-hitachi-hiuxwe2");
389          else puts ("unknown-hitachi-hiuxwe2");
390          exit (0);
391        }
392EOF
393        ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
394        rm -f dummy.c dummy
395        echo unknown-hitachi-hiuxwe2
396        exit 0 ;;
397    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
398        echo hppa1.1-hp-bsd
399        exit 0 ;;
400    9000/8??:4.3bsd:*:*)
401        echo hppa1.0-hp-bsd
402        exit 0 ;;
403    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
404        echo hppa1.1-hp-osf
405        exit 0 ;;
406    hp8??:OSF1:*:*)
407        echo hppa1.0-hp-osf
408        exit 0 ;;
409    i?86:OSF1:*:*)
410        if [ -x /usr/sbin/sysversion ] ; then
411            echo ${UNAME_MACHINE}-unknown-osf1mk
412        else
413            echo ${UNAME_MACHINE}-unknown-osf1
414        fi
415        exit 0 ;;
416    parisc*:Lites*:*:*)
417        echo hppa1.1-hp-lites
418        exit 0 ;;
419    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
420        echo c1-convex-bsd
421        exit 0 ;;
422    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
423        if getsysinfo -f scalar_acc
424        then echo c32-convex-bsd
425        else echo c2-convex-bsd
426        fi
427        exit 0 ;;
428    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
429        echo c34-convex-bsd
430        exit 0 ;;
431    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
432        echo c38-convex-bsd
433        exit 0 ;;
434    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
435        echo c4-convex-bsd
436        exit 0 ;;
437    CRAY*X-MP:*:*:*)
438        echo xmp-cray-unicos
439        exit 0 ;;
440    CRAY*Y-MP:*:*:*)
441        echo ymp-cray-unicos${UNAME_RELEASE}
442        exit 0 ;;
443    CRAY*[A-Z]90:*:*:*)
444        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
445        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
446              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
447        exit 0 ;;
448    CRAY*TS:*:*:*)
449        echo t90-cray-unicos${UNAME_RELEASE}
450        exit 0 ;;
451    CRAY-2:*:*:*)
452        echo cray2-cray-unicos
453        exit 0 ;;
454    F300:UNIX_System_V:*:*)
455        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
456        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
457        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
458        exit 0 ;;
459    F301:UNIX_System_V:*:*)
460       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
461       exit 0 ;;
462    hp3[0-9][05]:NetBSD:*:*)
463        echo m68k-hp-netbsd${UNAME_RELEASE}
464        exit 0 ;;
465    hp300:OpenBSD:*:*)
466        echo m68k-unknown-openbsd${UNAME_RELEASE}
467        exit 0 ;;
468    i?86:BSD/386:*:* | *:BSD/OS:*:*)
469        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
470        exit 0 ;;
471    *:FreeBSD:*:*)
472        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
473        exit 0 ;;
474    *:NetBSD:*:*)
475        echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
476        exit 0 ;;
477    *:OpenBSD:*:*)
478        echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
479        exit 0 ;;
480    i*:CYGWIN*:*)
481        echo ${UNAME_MACHINE}-pc-cygwin32
482        exit 0 ;;
483    i*:MINGW*:*)
484        echo ${UNAME_MACHINE}-pc-mingw32
485        exit 0 ;;
486    p*:CYGWIN*:*)
487        echo powerpcle-unknown-cygwin32
488        exit 0 ;;
489    prep*:SunOS:5.*:*)
490        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
491        exit 0 ;;
492    *:GNU:*:*)
493        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
494        exit 0 ;;
495    *:Linux:*:*)
496        # uname on the ARM produces all sorts of strangeness, and we need to
497        # filter it out.
498        case "$UNAME_MACHINE" in
499          arm* | sa110*)              UNAME_MACHINE="arm" ;;
500        esac
501
502        # The BFD linker knows what the default object file format is, so
503        # first see if it will tell us.
504        ld_help_string=`ld --help 2>&1`
505        ld_supported_emulations=`echo $ld_help_string \
506                         | sed -ne '/supported emulations:/!d
507                                    s/[         ][      ]*/ /g
508                                    s/.*supported emulations: *//
509                                    s/ .*//
510                                    p'`
511        case "$ld_supported_emulations" in
512          i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
513          i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
514          sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
515          armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
516          m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
517          elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
518        esac
519
520        if test "${UNAME_MACHINE}" = "alpha" ; then
521                sed 's/^        //'  <<EOF >dummy.s
522                .globl main
523                .ent main
524        main:
525                .frame \$30,0,\$26,0
526                .prologue 0
527                .long 0x47e03d80 # implver $0
528                lda \$2,259
529                .long 0x47e20c21 # amask $2,$1
530                srl \$1,8,\$2
531                sll \$2,2,\$2
532                sll \$0,3,\$0
533                addl \$1,\$0,\$0
534                addl \$2,\$0,\$0
535                ret \$31,(\$26),1
536                .end main
537EOF
538                LIBC=""
539                ${CC-cc} dummy.s -o dummy 2>/dev/null
540                if test "$?" = 0 ; then
541                        ./dummy
542                        case "$?" in
543                        7)
544                                UNAME_MACHINE="alpha"
545                                ;;
546                        15)
547                                UNAME_MACHINE="alphaev5"
548                                ;;
549                        14)
550                                UNAME_MACHINE="alphaev56"
551                                ;;
552                        10)
553                                UNAME_MACHINE="alphapca56"
554                                ;;
555                        16)
556                                UNAME_MACHINE="alphaev6"
557                                ;;
558                        esac   
559
560                        objdump --private-headers dummy | \
561                          grep ld.so.1 > /dev/null
562                        if test "$?" = 0 ; then
563                                LIBC="libc1"
564                        fi
565                fi     
566                rm -f dummy.s dummy
567                echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
568        elif test "${UNAME_MACHINE}" = "mips" ; then
569          cat >dummy.c <<EOF
570main(argc, argv)
571     int argc;
572     char *argv[];
573{
574#ifdef __MIPSEB__
575  printf ("%s-unknown-linux-gnu\n", argv[1]);
576#endif
577#ifdef __MIPSEL__
578  printf ("%sel-unknown-linux-gnu\n", argv[1]);
579#endif
580  return 0;
581}
582EOF
583          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
584          rm -f dummy.c dummy
585        else
586          # Either a pre-BFD a.out linker (linux-gnuoldld)
587          # or one that does not give us useful --help.
588          # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
589          # If ld does not provide *any* "supported emulations:"
590          # that means it is gnuoldld.
591          echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
592          test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
593
594          case "${UNAME_MACHINE}" in
595          i?86)
596            VENDOR=pc;
597            ;;
598          *)
599            VENDOR=unknown;
600            ;;
601          esac
602          # Determine whether the default compiler is a.out or elf
603          cat >dummy.c <<EOF
604#include <features.h>
605main(argc, argv)
606     int argc;
607     char *argv[];
608{
609#ifdef __ELF__
610# ifdef __GLIBC__
611#  if __GLIBC__ >= 2
612    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
613#  else
614    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
615#  endif
616# else
617   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
618# endif
619#else
620  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
621#endif
622  return 0;
623}
624EOF
625          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
626          rm -f dummy.c dummy
627        fi ;;
628# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
629# are messed up and put the nodename in both sysname and nodename.
630    i?86:DYNIX/ptx:4*:*)
631        echo i386-sequent-sysv4
632        exit 0 ;;
633    i?86:UNIX_SV:4.2MP:2.*)
634        # Unixware is an offshoot of SVR4, but it has its own version
635        # number series starting with 2...
636        # I am not positive that other SVR4 systems won't match this,
637        # I just have to hope.  -- rms.
638        # Use sysv4.2uw... so that sysv4* matches it.
639        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
640        exit 0 ;;
641    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
642        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
643                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
644        else
645                echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
646        fi
647        exit 0 ;;
648    i?86:*:3.2:*)
649        if test -f /usr/options/cb.name; then
650                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
651                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
652        elif /bin/uname -X 2>/dev/null >/dev/null ; then
653                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
654                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
655                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
656                        && UNAME_MACHINE=i586
657                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
658        else
659                echo ${UNAME_MACHINE}-pc-sysv32
660        fi
661        exit 0 ;;
662    pc:*:*:*)
663        # uname -m prints for DJGPP always 'pc', but it prints nothing about
664        # the processor, so we play safe by assuming i386.
665        echo i386-pc-msdosdjgpp
666        exit 0 ;;
667    Intel:Mach:3*:*)
668        echo i386-pc-mach3
669        exit 0 ;;
670    paragon:*:*:*)
671        echo i860-intel-osf1
672        exit 0 ;;
673    i860:*:4.*:*) # i860-SVR4
674        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
675          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
676        else # Add other i860-SVR4 vendors below as they are discovered.
677          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
678        fi
679        exit 0 ;;
680    mini*:CTIX:SYS*5:*)
681        # "miniframe"
682        echo m68010-convergent-sysv
683        exit 0 ;;
684    M68*:*:R3V[567]*:*)
685        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
686    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
687        OS_REL=''
688        test -r /etc/.relid \
689        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
690        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
691          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
692        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
693          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
694    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
695        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
696          && echo i486-ncr-sysv4 && exit 0 ;;
697    m68*:LynxOS:2.*:*)
698        echo m68k-unknown-lynxos${UNAME_RELEASE}
699        exit 0 ;;
700    mc68030:UNIX_System_V:4.*:*)
701        echo m68k-atari-sysv4
702        exit 0 ;;
703    i?86:LynxOS:2.*:*)
704        echo i386-unknown-lynxos${UNAME_RELEASE}
705        exit 0 ;;
706    TSUNAMI:LynxOS:2.*:*)
707        echo sparc-unknown-lynxos${UNAME_RELEASE}
708        exit 0 ;;
709    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
710        echo rs6000-unknown-lynxos${UNAME_RELEASE}
711        exit 0 ;;
712    SM[BE]S:UNIX_SV:*:*)
713        echo mips-dde-sysv${UNAME_RELEASE}
714        exit 0 ;;
715    RM*:SINIX-*:*:*)
716        echo mips-sni-sysv4
717        exit 0 ;;
718    *:SINIX-*:*:*)
719        if uname -p 2>/dev/null >/dev/null ; then
720                UNAME_MACHINE=`(uname -p) 2>/dev/null`
721                echo ${UNAME_MACHINE}-sni-sysv4
722        else
723                echo ns32k-sni-sysv
724        fi
725        exit 0 ;;
726    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
727                           # says <Richard.M.Bartel@ccMail.Census.GOV>
728        echo i586-unisys-sysv4
729        exit 0 ;;
730    *:UNIX_System_V:4*:FTX*)
731        # From Gerald Hewes <hewes@openmarket.com>.
732        # How about differentiating between stratus architectures? -djm
733        echo hppa1.1-stratus-sysv4
734        exit 0 ;;
735    *:*:*:FTX*)
736        # From seanf@swdc.stratus.com.
737        echo i860-stratus-sysv4
738        exit 0 ;;
739    mc68*:A/UX:*:*)
740        echo m68k-apple-aux${UNAME_RELEASE}
741        exit 0 ;;
742    news*:NEWS-OS:*:6*)
743        echo mips-sony-newsos6
744        exit 0 ;;
745    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
746        if [ -d /usr/nec ]; then
747                echo mips-nec-sysv${UNAME_RELEASE}
748        else
749                echo mips-unknown-sysv${UNAME_RELEASE}
750        fi
751        exit 0 ;;
752esac
753
754#echo '(No uname command or uname output not recognized.)' 1>&2
755#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
756
757cat >dummy.c <<EOF
758#ifdef _SEQUENT_
759# include <sys/types.h>
760# include <sys/utsname.h>
761#endif
762main ()
763{
764#if defined (sony)
765#if defined (MIPSEB)
766  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
767     I don't know....  */
768  printf ("mips-sony-bsd\n"); exit (0);
769#else
770#include <sys/param.h>
771  printf ("m68k-sony-newsos%s\n",
772#ifdef NEWSOS4
773          "4"
774#else
775          ""
776#endif
777         ); exit (0);
778#endif
779#endif
780
781#if defined (__arm) && defined (__acorn) && defined (__unix)
782  printf ("arm-acorn-riscix"); exit (0);
783#endif
784
785#if defined (hp300) && !defined (hpux)
786  printf ("m68k-hp-bsd\n"); exit (0);
787#endif
788
789#if defined (NeXT)
790#if !defined (__ARCHITECTURE__)
791#define __ARCHITECTURE__ "m68k"
792#endif
793  int version;
794  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
795  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
796  exit (0);
797#endif
798
799#if defined (MULTIMAX) || defined (n16)
800#if defined (UMAXV)
801  printf ("ns32k-encore-sysv\n"); exit (0);
802#else
803#if defined (CMU)
804  printf ("ns32k-encore-mach\n"); exit (0);
805#else
806  printf ("ns32k-encore-bsd\n"); exit (0);
807#endif
808#endif
809#endif
810
811#if defined (__386BSD__)
812  printf ("i386-pc-bsd\n"); exit (0);
813#endif
814
815#if defined (sequent)
816#if defined (i386)
817  printf ("i386-sequent-dynix\n"); exit (0);
818#endif
819#if defined (ns32000)
820  printf ("ns32k-sequent-dynix\n"); exit (0);
821#endif
822#endif
823
824#if defined (_SEQUENT_)
825    struct utsname un;
826
827    uname(&un);
828
829    if (strncmp(un.version, "V2", 2) == 0) {
830        printf ("i386-sequent-ptx2\n"); exit (0);
831    }
832    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
833        printf ("i386-sequent-ptx1\n"); exit (0);
834    }
835    printf ("i386-sequent-ptx\n"); exit (0);
836
837#endif
838
839#if defined (vax)
840#if !defined (ultrix)
841  printf ("vax-dec-bsd\n"); exit (0);
842#else
843  printf ("vax-dec-ultrix\n"); exit (0);
844#endif
845#endif
846
847#if defined (alliant) && defined (i860)
848  printf ("i860-alliant-bsd\n"); exit (0);
849#endif
850
851  exit (1);
852}
853EOF
854
855${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
856rm -f dummy.c dummy
857
858# Apollos put the system type in the environment.
859
860test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
861
862# Convex versions that predate uname can use getsysinfo(1)
863
864if [ -x /usr/convex/getsysinfo ]
865then
866    case `getsysinfo -f cpu_type` in
867    c1*)
868        echo c1-convex-bsd
869        exit 0 ;;
870    c2*)
871        if getsysinfo -f scalar_acc
872        then echo c32-convex-bsd
873        else echo c2-convex-bsd
874        fi
875        exit 0 ;;
876    c34*)
877        echo c34-convex-bsd
878        exit 0 ;;
879    c38*)
880        echo c38-convex-bsd
881        exit 0 ;;
882    c4*)
883        echo c4-convex-bsd
884        exit 0 ;;
885    esac
886fi
887
888#echo '(Unable to guess system type)' 1>&2
889
890exit 1
Note: See TracBrowser for help on using the repository browser.