source: trunk/third/gdbm/config.guess @ 15372

Revision 15372, 23.7 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15371, 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, 1997 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 i386-pc-cygwin32
482        exit 0 ;;
483    i*:MINGW*:*)
484        echo i386-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        # The BFD linker knows what the default object file format is, so
497        # first see if it will tell us.
498        ld_help_string=`ld --help 2>&1`
499        ld_supported_emulations=`echo $ld_help_string \
500                         | sed -ne '/supported emulations:/!d
501                                    s/[         ][      ]*/ /g
502                                    s/.*supported emulations: *//
503                                    s/ .*//
504                                    p'`
505        case "$ld_supported_emulations" in
506          i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
507          i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
508          sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
509          m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
510          elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
511        esac
512
513        if test "${UNAME_MACHINE}" = "alpha" ; then
514                sed 's/^        //'  <<EOF >dummy.s
515                .globl main
516                .ent main
517        main:
518                .frame \$30,0,\$26,0
519                .prologue 0
520                .long 0x47e03d80 # implver $0
521                lda \$2,259
522                .long 0x47e20c21 # amask $2,$1
523                srl \$1,8,\$2
524                sll \$2,2,\$2
525                sll \$0,3,\$0
526                addl \$1,\$0,\$0
527                addl \$2,\$0,\$0
528                ret \$31,(\$26),1
529                .end main
530EOF
531                LIBC=""
532                ${CC-cc} dummy.s -o dummy 2>/dev/null
533                if test "$?" = 0 ; then
534                        ./dummy
535                        case "$?" in
536                        7)
537                                UNAME_MACHINE="alpha"
538                                ;;
539                        15)
540                                UNAME_MACHINE="alphaev5"
541                                ;;
542                        14)
543                                UNAME_MACHINE="alphaev56"
544                                ;;
545                        10)
546                                UNAME_MACHINE="alphapca56"
547                                ;;
548                        16)
549                                UNAME_MACHINE="alphaev6"
550                                ;;
551                        esac   
552
553                        objdump --private-headers dummy | \
554                          grep ld.so.1 > /dev/null
555                        if test "$?" = 0 ; then
556                                LIBC="libc1"
557                        fi
558                fi     
559                rm -f dummy.s dummy
560                echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
561        elif test "${UNAME_MACHINE}" = "mips" ; then
562          cat >dummy.c <<EOF
563main(argc, argv)
564     int argc;
565     char *argv[];
566{
567#ifdef __MIPSEB__
568  printf ("%s-unknown-linux-gnu\n", argv[1]);
569#endif
570#ifdef __MIPSEL__
571  printf ("%sel-unknown-linux-gnu\n", argv[1]);
572#endif
573  return 0;
574}
575EOF
576          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
577          rm -f dummy.c dummy
578        else
579          # Either a pre-BFD a.out linker (linux-gnuoldld)
580          # or one that does not give us useful --help.
581          # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
582          # If ld does not provide *any* "supported emulations:"
583          # that means it is gnuoldld.
584          echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
585          test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
586
587          case "${UNAME_MACHINE}" in
588          i?86)
589            VENDOR=pc;
590            ;;
591          *)
592            VENDOR=unknown;
593            ;;
594          esac
595          # Determine whether the default compiler is a.out or elf
596          cat >dummy.c <<EOF
597#include <features.h>
598main(argc, argv)
599     int argc;
600     char *argv[];
601{
602#ifdef __ELF__
603# ifdef __GLIBC__
604#  if __GLIBC__ >= 2
605    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
606#  else
607    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
608#  endif
609# else
610   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
611# endif
612#else
613  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
614#endif
615  return 0;
616}
617EOF
618          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
619          rm -f dummy.c dummy
620        fi ;;
621# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
622# are messed up and put the nodename in both sysname and nodename.
623    i?86:DYNIX/ptx:4*:*)
624        echo i386-sequent-sysv4
625        exit 0 ;;
626    i?86:UNIX_SV:4.2MP:2.*)
627        # Unixware is an offshoot of SVR4, but it has its own version
628        # number series starting with 2...
629        # I am not positive that other SVR4 systems won't match this,
630        # I just have to hope.  -- rms.
631        # Use sysv4.2uw... so that sysv4* matches it.
632        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
633        exit 0 ;;
634    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
635        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
636                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
637        else
638                echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
639        fi
640        exit 0 ;;
641    i?86:*:3.2:*)
642        if test -f /usr/options/cb.name; then
643                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
644                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
645        elif /bin/uname -X 2>/dev/null >/dev/null ; then
646                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
647                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
648                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
649                        && UNAME_MACHINE=i586
650                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
651        else
652                echo ${UNAME_MACHINE}-pc-sysv32
653        fi
654        exit 0 ;;
655    pc:*:*:*)
656        # uname -m prints for DJGPP always 'pc', but it prints nothing about
657        # the processor, so we play safe by assuming i386.
658        echo i386-pc-msdosdjgpp
659        exit 0 ;;
660    Intel:Mach:3*:*)
661        echo i386-pc-mach3
662        exit 0 ;;
663    paragon:*:*:*)
664        echo i860-intel-osf1
665        exit 0 ;;
666    i860:*:4.*:*) # i860-SVR4
667        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
668          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
669        else # Add other i860-SVR4 vendors below as they are discovered.
670          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
671        fi
672        exit 0 ;;
673    mini*:CTIX:SYS*5:*)
674        # "miniframe"
675        echo m68010-convergent-sysv
676        exit 0 ;;
677    M68*:*:R3V[567]*:*)
678        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
679    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
680        OS_REL=''
681        test -r /etc/.relid \
682        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
683        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
684          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
685        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
686          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
687    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
688        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
689          && echo i486-ncr-sysv4 && exit 0 ;;
690    m68*:LynxOS:2.*:*)
691        echo m68k-unknown-lynxos${UNAME_RELEASE}
692        exit 0 ;;
693    mc68030:UNIX_System_V:4.*:*)
694        echo m68k-atari-sysv4
695        exit 0 ;;
696    i?86:LynxOS:2.*:*)
697        echo i386-unknown-lynxos${UNAME_RELEASE}
698        exit 0 ;;
699    TSUNAMI:LynxOS:2.*:*)
700        echo sparc-unknown-lynxos${UNAME_RELEASE}
701        exit 0 ;;
702    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
703        echo rs6000-unknown-lynxos${UNAME_RELEASE}
704        exit 0 ;;
705    SM[BE]S:UNIX_SV:*:*)
706        echo mips-dde-sysv${UNAME_RELEASE}
707        exit 0 ;;
708    RM*:SINIX-*:*:*)
709        echo mips-sni-sysv4
710        exit 0 ;;
711    *:SINIX-*:*:*)
712        if uname -p 2>/dev/null >/dev/null ; then
713                UNAME_MACHINE=`(uname -p) 2>/dev/null`
714                echo ${UNAME_MACHINE}-sni-sysv4
715        else
716                echo ns32k-sni-sysv
717        fi
718        exit 0 ;;
719    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
720                           # says <Richard.M.Bartel@ccMail.Census.GOV>
721        echo i586-unisys-sysv4
722        exit 0 ;;
723    *:UNIX_System_V:4*:FTX*)
724        # From Gerald Hewes <hewes@openmarket.com>.
725        # How about differentiating between stratus architectures? -djm
726        echo hppa1.1-stratus-sysv4
727        exit 0 ;;
728    *:*:*:FTX*)
729        # From seanf@swdc.stratus.com.
730        echo i860-stratus-sysv4
731        exit 0 ;;
732    mc68*:A/UX:*:*)
733        echo m68k-apple-aux${UNAME_RELEASE}
734        exit 0 ;;
735    news*:NEWS-OS:*:6*)
736        echo mips-sony-newsos6
737        exit 0 ;;
738    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
739        if [ -d /usr/nec ]; then
740                echo mips-nec-sysv${UNAME_RELEASE}
741        else
742                echo mips-unknown-sysv${UNAME_RELEASE}
743        fi
744        exit 0 ;;
745esac
746
747#echo '(No uname command or uname output not recognized.)' 1>&2
748#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
749
750cat >dummy.c <<EOF
751#ifdef _SEQUENT_
752# include <sys/types.h>
753# include <sys/utsname.h>
754#endif
755main ()
756{
757#if defined (sony)
758#if defined (MIPSEB)
759  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
760     I don't know....  */
761  printf ("mips-sony-bsd\n"); exit (0);
762#else
763#include <sys/param.h>
764  printf ("m68k-sony-newsos%s\n",
765#ifdef NEWSOS4
766          "4"
767#else
768          ""
769#endif
770         ); exit (0);
771#endif
772#endif
773
774#if defined (__arm) && defined (__acorn) && defined (__unix)
775  printf ("arm-acorn-riscix"); exit (0);
776#endif
777
778#if defined (hp300) && !defined (hpux)
779  printf ("m68k-hp-bsd\n"); exit (0);
780#endif
781
782#if defined (NeXT)
783#if !defined (__ARCHITECTURE__)
784#define __ARCHITECTURE__ "m68k"
785#endif
786  int version;
787  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
788  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
789  exit (0);
790#endif
791
792#if defined (MULTIMAX) || defined (n16)
793#if defined (UMAXV)
794  printf ("ns32k-encore-sysv\n"); exit (0);
795#else
796#if defined (CMU)
797  printf ("ns32k-encore-mach\n"); exit (0);
798#else
799  printf ("ns32k-encore-bsd\n"); exit (0);
800#endif
801#endif
802#endif
803
804#if defined (__386BSD__)
805  printf ("i386-pc-bsd\n"); exit (0);
806#endif
807
808#if defined (sequent)
809#if defined (i386)
810  printf ("i386-sequent-dynix\n"); exit (0);
811#endif
812#if defined (ns32000)
813  printf ("ns32k-sequent-dynix\n"); exit (0);
814#endif
815#endif
816
817#if defined (_SEQUENT_)
818    struct utsname un;
819
820    uname(&un);
821
822    if (strncmp(un.version, "V2", 2) == 0) {
823        printf ("i386-sequent-ptx2\n"); exit (0);
824    }
825    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
826        printf ("i386-sequent-ptx1\n"); exit (0);
827    }
828    printf ("i386-sequent-ptx\n"); exit (0);
829
830#endif
831
832#if defined (vax)
833#if !defined (ultrix)
834  printf ("vax-dec-bsd\n"); exit (0);
835#else
836  printf ("vax-dec-ultrix\n"); exit (0);
837#endif
838#endif
839
840#if defined (alliant) && defined (i860)
841  printf ("i860-alliant-bsd\n"); exit (0);
842#endif
843
844  exit (1);
845}
846EOF
847
848${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
849rm -f dummy.c dummy
850
851# Apollos put the system type in the environment.
852
853test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
854
855# Convex versions that predate uname can use getsysinfo(1)
856
857if [ -x /usr/convex/getsysinfo ]
858then
859    case `getsysinfo -f cpu_type` in
860    c1*)
861        echo c1-convex-bsd
862        exit 0 ;;
863    c2*)
864        if getsysinfo -f scalar_acc
865        then echo c32-convex-bsd
866        else echo c2-convex-bsd
867        fi
868        exit 0 ;;
869    c34*)
870        echo c34-convex-bsd
871        exit 0 ;;
872    c38*)
873        echo c38-convex-bsd
874        exit 0 ;;
875    c4*)
876        echo c4-convex-bsd
877        exit 0 ;;
878    esac
879fi
880
881#echo '(Unable to guess system type)' 1>&2
882
883exit 1
Note: See TracBrowser for help on using the repository browser.