source: trunk/third/rx/config.guess @ 10430

Revision 10430, 13.6 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10429, 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, 1993, 1994, 1995 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., 675 Mass Ave, Cambridge, MA 02139, 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:V*:*)
55        # After 1.2, OSF1 uses "V1.3" for uname -r.
56        echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'`
57        exit 0 ;;
58    alpha:OSF1:*:*)
59        # 1.2 uses "1.2" for uname -r.
60        echo alpha-dec-osf${UNAME_RELEASE}
61        exit 0 ;;
62    amiga:NetBSD:*:*)
63      echo m68k-cbm-netbsd${UNAME_RELEASE}
64      exit 0 ;;
65    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
66        echo arm-acorn-riscix${UNAME_RELEASE}
67        exit 0;;
68    Pyramid*:OSx*:*:*)
69        if test "`(/bin/universe) 2>/dev/null`" = att ; then
70                echo pyramid-pyramid-sysv3
71        else
72                echo pyramid-pyramid-bsd
73        fi
74        exit 0 ;;
75    sun4*:SunOS:5.*:*)
76        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
77        exit 0 ;;
78    sun4*:SunOS:6*:*)
79        # According to config.sub, this is the proper way to canonicalize
80        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
81        # it's likely to be more like Solaris than SunOS4.
82        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
83        exit 0 ;;
84    sun4*:SunOS:*:*)
85        case "`/usr/bin/arch -k`" in
86            Series*|S4*)
87                UNAME_RELEASE=`uname -v`
88                ;;
89        esac
90        # Japanese Language versions have a version number like `4.1.3-JL'.
91        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
92        exit 0 ;;
93    sun3*:SunOS:*:*)
94        echo m68k-sun-sunos${UNAME_RELEASE}
95        exit 0 ;;
96    RISC*:ULTRIX:*:*)
97        echo mips-dec-ultrix${UNAME_RELEASE}
98        exit 0 ;;
99    VAX*:ULTRIX*:*:*)
100        echo vax-dec-ultrix${UNAME_RELEASE}
101        exit 0 ;;
102    mips:*:5*:RISCos)
103        echo mips-mips-riscos${UNAME_RELEASE}
104        exit 0 ;;
105    m88k:CX/UX:7*:*)
106        echo m88k-harris-cxux7
107        exit 0 ;;
108    m88k:*:4*:R4*)
109        echo m88k-motorola-sysv4
110        exit 0 ;;
111    m88k:*:3*:R3*)
112        echo m88k-motorola-sysv3
113        exit 0 ;;
114    AViiON:dgux:*:*)
115        if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
116             -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
117                echo m88k-dg-dgux${UNAME_RELEASE}
118        else
119                echo m88k-dg-dguxbcs${UNAME_RELEASE}
120        fi
121        exit 0 ;;
122    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
123        echo m88k-dolphin-sysv3
124        exit 0 ;;
125    M88*:*:R3*:*)
126        # Delta 88k system running SVR3
127        echo m88k-motorola-sysv3
128        exit 0 ;;
129    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
130        echo m88k-tektronix-sysv3
131        exit 0 ;;
132    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
133        echo m68k-tektronix-bsd
134        exit 0 ;;
135    *:IRIX*:*:*)
136        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
137        exit 0 ;;
138   ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
139        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
140        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
141    i[34]86:AIX:*:*)
142        echo i386-ibm-aix
143        exit 0 ;;
144    *:AIX:2:3)
145        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
146                sed 's/^                //' << EOF >dummy.c
147                #include <sys/systemcfg.h>
148
149                main()
150                        {
151                        if (!__power_pc())
152                                exit(1);
153                        puts("powerpc-ibm-aix3.2.5");
154                        exit(0);
155                        }
156EOF
157                ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
158                rm -f dummy.c dummy
159                echo rs6000-ibm-aix3.2.5
160        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
161                echo rs6000-ibm-aix3.2.4
162        else
163                echo rs6000-ibm-aix3.2
164        fi
165        exit 0 ;;
166    *:AIX:*:4)
167        if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
168                IBM_ARCH=rs6000
169        else
170                IBM_ARCH=powerpc
171        fi
172        if grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then
173                IBM_REV=4.1
174        elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then
175                IBM_REV=4.1.1
176        else
177                IBM_REV=4.${UNAME_RELEASE}
178        fi
179        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
180        exit 0 ;;
181    *:AIX:*:*)
182        echo rs6000-ibm-aix
183        exit 0 ;;
184    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
185        echo romp-ibm-bsd4.4
186        exit 0 ;;
187    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
188        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
189        exit 0 ;;                           # report: romp-ibm BSD 4.3
190    *:BOSX:*:*)
191        echo rs6000-bull-bosx
192        exit 0 ;;
193    DPX/2?00:B.O.S.:*:*)
194        echo m68k-bull-sysv3
195        exit 0 ;;
196    9000/[34]??:4.3bsd:1.*:*)
197        echo m68k-hp-bsd
198        exit 0 ;;
199    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
200        echo m68k-hp-bsd4.4
201        exit 0 ;;
202    9000/[3478]??:HP-UX:*:*)
203        case "${UNAME_MACHINE}" in
204            9000/31? )            HP_ARCH=m68000 ;;
205            9000/[34]?? )         HP_ARCH=m68k ;;
206            9000/7?? | 9000/8?7 ) HP_ARCH=hppa1.1 ;;
207            9000/8?? )            HP_ARCH=hppa1.0 ;;
208        esac
209        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
210        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
211        exit 0 ;;
212    3050*:HI-UX:*:*)
213        sed 's/^        //' << EOF >dummy.c
214        #include <unistd.h>
215        int
216        main ()
217        {
218          long cpu = sysconf (_SC_CPU_VERSION);
219          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
220             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
221             results, however.  */
222          if (CPU_IS_PA_RISC (cpu))
223            {
224              switch (cpu)
225                {
226                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
227                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
228                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
229                  default: puts ("hppa-hitachi-hiuxwe2"); break;
230                }
231            }
232          else if (CPU_IS_HP_MC68K (cpu))
233            puts ("m68k-hitachi-hiuxwe2");
234          else puts ("unknown-hitachi-hiuxwe2");
235          exit (0);
236        }
237EOF
238        ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
239        rm -f dummy.c dummy
240        echo unknown-hitachi-hiuxwe2
241        exit 0 ;;
242    9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* )
243        echo hppa1.1-hp-bsd
244        exit 0 ;;
245    9000/8??:4.3bsd:*:*)
246        echo hppa1.0-hp-bsd
247        exit 0 ;;
248    hp7??:OSF1:*:* | hp8?7:OSF1:*:* )
249        echo hppa1.1-hp-osf
250        exit 0 ;;
251    hp8??:OSF1:*:*)
252        echo hppa1.0-hp-osf
253        exit 0 ;;
254    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
255        echo c1-convex-bsd
256        exit 0 ;;
257    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
258        if getsysinfo -f scalar_acc
259        then echo c32-convex-bsd
260        else echo c2-convex-bsd
261        fi
262        exit 0 ;;
263    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
264        echo c34-convex-bsd
265        exit 0 ;;
266    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
267        echo c38-convex-bsd
268        exit 0 ;;
269    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
270        echo c4-convex-bsd
271        exit 0 ;;
272    CRAY*X-MP:UNICOS:*:*)
273        echo xmp-cray-unicos
274        exit 0 ;;
275    CRAY*Y-MP:UNICOS:*:*)
276        echo ymp-cray-unicos
277        exit 0 ;;
278    CRAY-2:UNICOS:*:*)
279        echo cray2-cray-unicos
280        exit 0 ;;
281    hp3[0-9][05]:NetBSD:*:*)
282        echo m68k-hp-netbsd${UNAME_RELEASE}
283        exit 0 ;;
284    i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
285        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
286        exit 0 ;;
287    *:FreeBSD:*:*)
288        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
289        exit 0 ;;
290    *:NetBSD:*:*)
291        echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
292        exit 0 ;;
293    *:GNU:*:*)
294        echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
295        exit 0 ;;
296    *:Linux:*:*)
297        echo ${UNAME_MACHINE}-unknown-linux
298        exit 0 ;;
299# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
300# are messed up and put the nodename in both sysname and nodename.
301    i[34]86:DYNIX/ptx:4*:*)
302        echo i386-sequent-sysv4
303        exit 0 ;;
304    i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
305        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
306                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
307        else
308                echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
309        fi
310        exit 0 ;;
311    i[34]86:*:3.2:*)
312        if test -f /usr/options/cb.name; then
313                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
314                echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
315        elif /bin/uname -X 2>/dev/null >/dev/null ; then
316                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
317                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
318                echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
319        else
320                echo ${UNAME_MACHINE}-unknown-sysv32
321        fi
322        exit 0 ;;
323    Intel:Mach:3*:*)
324        echo i386-unknown-mach3
325        exit 0 ;;
326    paragon:*:*:*)
327        echo i860-intel-osf1
328        exit 0 ;;
329    i860:*:4.*:*) # i860-SVR4
330        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
331          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
332        else # Add other i860-SVR4 vendors below as they are discovered.
333          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
334        fi
335        exit 0 ;;
336    mini*:CTIX:SYS*5:*)
337        # "miniframe"
338        echo m68010-convergent-sysv
339        exit 0 ;;
340    M680[234]0:*:R3V[567]*:*)
341        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
342    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
343        uname -p 2>/dev/null | grep 86 >/dev/null \
344          && echo i486-ncr-sysv4.3 && exit 0 ;;
345    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
346        uname -p 2>/dev/null | grep 86 >/dev/null \
347          && echo i486-ncr-sysv4 && exit 0 ;;
348    m680[234]0:LynxOS:2.2*:*)
349        echo m68k-lynx-lynxos${UNAME_RELEASE}
350        exit 0 ;;
351    mc68030:UNIX_System_V:4.*:*)
352        echo m68k-atari-sysv4
353        exit 0 ;;
354    i[34]86:LynxOS:2.2*:*)
355        echo i386-lynx-lynxos${UNAME_RELEASE}
356        exit 0 ;;
357    TSUNAMI:LynxOS:2.2*:*)
358        echo sparc-lynx-lynxos${UNAME_RELEASE}
359        exit 0 ;;
360    rs6000:LynxOS:2.2*:*)
361        echo rs6000-lynx-lynxos${UNAME_RELEASE}
362        exit 0 ;;
363    RM*:SINIX-*:*:*)
364        echo mips-sni-sysv4
365        exit 0 ;;
366    *:SINIX-*:*:*)
367        if uname -p 2>/dev/null >/dev/null ; then
368                UNAME_MACHINE=`(uname -p) 2>/dev/null`
369                echo ${UNAME_MACHINE}-sni-sysv4
370        else
371                echo ns32k-sni-sysv
372        fi
373        exit 0 ;;
374esac
375
376#echo '(No uname command or uname output not recognized.)' 1>&2
377#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
378
379cat >dummy.c <<EOF
380main ()
381{
382#if defined (sony)
383#if defined (MIPSEB)
384  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
385     I don't know....  */
386  printf ("mips-sony-bsd\n"); exit (0);
387#else
388#include <sys/param.h>
389  printf ("m68k-sony-newsos%s\n",
390#ifdef NEWSOS4
391          "4"
392#else
393          ""
394#endif
395         ); exit (0);
396#endif
397#endif
398
399#if defined (__arm) && defined (__acorn) && defined (__unix)
400  printf ("arm-acorn-riscix"); exit (0);
401#endif
402
403#if defined (hp300) && !defined (hpux)
404  printf ("m68k-hp-bsd\n"); exit (0);
405#endif
406
407#if defined (NeXT)
408#if !defined (__ARCHITECTURE__)
409#define __ARCHITECTURE__ "m68k"
410#endif
411  int version;
412  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
413  printf ("%s-next-nextstep%s\n", __ARCHITECTURE__,  version==2 ? "2" : "3");
414  exit (0);
415#endif
416
417#if defined (MULTIMAX) || defined (n16)
418#if defined (UMAXV)
419  printf ("ns32k-encore-sysv\n"); exit (0);
420#else
421#if defined (CMU)
422  printf ("ns32k-encore-mach\n"); exit (0);
423#else
424  printf ("ns32k-encore-bsd\n"); exit (0);
425#endif
426#endif
427#endif
428
429#if defined (__386BSD__)
430  printf ("i386-unknown-bsd\n"); exit (0);
431#endif
432
433#if defined (sequent)
434#if defined (i386)
435  printf ("i386-sequent-dynix\n"); exit (0);
436#endif
437#if defined (ns32000)
438  printf ("ns32k-sequent-dynix\n"); exit (0);
439#endif
440#endif
441
442#if defined (_SEQUENT_)
443  printf ("i386-sequent-ptx\n"); exit (0);
444#endif
445
446#if defined (vax)
447#if !defined (ultrix)
448  printf ("vax-dec-bsd\n"); exit (0);
449#else
450  printf ("vax-dec-ultrix\n"); exit (0);
451#endif
452#endif
453
454#if defined (alliant) && defined (i860)
455  printf ("i860-alliant-bsd\n"); exit (0);
456#endif
457
458  exit (1);
459}
460EOF
461
462${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
463rm -f dummy.c dummy
464
465# Apollos put the system type in the environment.
466
467test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
468
469# Convex versions that predate uname can use getsysinfo(1)
470
471if [ -x /usr/convex/getsysinfo ]
472then
473    case `getsysinfo -f cpu_type` in
474    c1*)
475        echo c1-convex-bsd
476        exit 0 ;;
477    c2*)
478        if getsysinfo -f scalar_acc
479        then echo c32-convex-bsd
480        else echo c2-convex-bsd
481        fi
482        exit 0 ;;
483    c34*)
484        echo c34-convex-bsd
485        exit 0 ;;
486    c38*)
487        echo c38-convex-bsd
488        exit 0 ;;
489    c4*)
490        echo c4-convex-bsd
491        exit 0 ;;
492    esac
493fi
494
495#echo '(Unable to guess system type)' 1>&2
496
497exit 1
Note: See TracBrowser for help on using the repository browser.