source: rtems/config.guess @ 9fbba98

4.104.114.84.95
Last change on this file since 9fbba98 was 254b4450, checked in by Joel Sherrill <joel.sherrill@…>, on 04/01/97 at 23:07:52

This set of changes is the build of what was required to convert to
GNU autoconf. This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process. With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@…) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted. This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots. These will
be resolved.

  • Property mode set to 100755
File size: 19.9 KB
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 93, 94, 95, 1996 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        # A Vn.n version is a released version.
56        # A Tn.n version is a released field test version.
57        # A Xn.n version is an unreleased experimental baselevel.
58        # 1.2 uses "1.2" for uname -r.
59        echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
60        exit 0 ;;
61    21064:Windows_NT:50:3)
62        echo alpha-dec-winnt3.5
63        exit 0 ;;
64    Amiga*:UNIX_System_V:4.0:*)
65        echo m68k-cbm-sysv4
66        exit 0;;
67    amiga:NetBSD:*:*)
68      echo m68k-cbm-netbsd${UNAME_RELEASE}
69      exit 0 ;;
70    amiga:OpenBSD:*:*)
71      echo m68k-cbm-openbsd${UNAME_RELEASE}
72      exit 0 ;;
73    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
74        echo arm-acorn-riscix${UNAME_RELEASE}
75        exit 0;;
76    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
77        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
78        if test "`(/bin/universe) 2>/dev/null`" = att ; then
79                echo pyramid-pyramid-sysv3
80        else
81                echo pyramid-pyramid-bsd
82        fi
83        exit 0 ;;
84    NILE:*:*:dcosx)
85        echo pyramid-pyramid-svr4
86        exit 0 ;;
87    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
88        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
89        exit 0 ;;
90    i86pc:SunOS:5.*:*)
91        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
92        exit 0 ;;
93    sun4*:SunOS:6*:*)
94        # According to config.sub, this is the proper way to canonicalize
95        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
96        # it's likely to be more like Solaris than SunOS4.
97        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
98        exit 0 ;;
99    sun4*:SunOS:*:*)
100        case "`/usr/bin/arch -k`" in
101            Series*|S4*)
102                UNAME_RELEASE=`uname -v`
103                ;;
104        esac
105        # Japanese Language versions have a version number like `4.1.3-JL'.
106        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
107        exit 0 ;;
108    sun3*:SunOS:*:*)
109        echo m68k-sun-sunos${UNAME_RELEASE}
110        exit 0 ;;
111    aushp:SunOS:*:*)
112        echo sparc-auspex-sunos${UNAME_RELEASE}
113        exit 0 ;;
114    atari*:NetBSD:*:*)
115        echo m68k-atari-netbsd${UNAME_RELEASE}
116        exit 0 ;;
117    atari*:OpenBSD:*:*)
118        echo m68k-atari-openbsd${UNAME_RELEASE}
119        exit 0 ;;
120    sun3*:NetBSD:*:*)
121        echo m68k-sun-netbsd${UNAME_RELEASE}
122        exit 0 ;;
123    sun3*:OpenBSD:*:*)
124        echo m68k-sun-openbsd${UNAME_RELEASE}
125        exit 0 ;;
126    mac68k:NetBSD:*:*)
127        echo m68k-apple-netbsd${UNAME_RELEASE}
128        exit 0 ;;
129    mac68k:OpenBSD:*:*)
130        echo m68k-apple-openbsd${UNAME_RELEASE}
131        exit 0 ;;
132    powerpc:machten:*:*)
133        echo powerpc-apple-machten${UNAME_RELEASE}
134        exit 0 ;;
135    RISC*:Mach:*:*)
136        echo mips-dec-mach_bsd4.3
137        exit 0 ;;
138    RISC*:ULTRIX:*:*)
139        echo mips-dec-ultrix${UNAME_RELEASE}
140        exit 0 ;;
141    VAX*:ULTRIX*:*:*)
142        echo vax-dec-ultrix${UNAME_RELEASE}
143        exit 0 ;;
144    mips:*:*:UMIPS | mips:*:*:RISCos)
145        sed 's/^        //' << EOF >dummy.c
146        int main (argc, argv) int argc; char **argv; {
147        #if defined (host_mips) && defined (MIPSEB)
148        #if defined (SYSTYPE_SYSV)
149          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
150        #endif
151        #if defined (SYSTYPE_SVR4)
152          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
153        #endif
154        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
155          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
156        #endif
157        #endif
158          exit (-1);
159        }
160EOF
161        ${CC-cc} dummy.c -o dummy \
162          && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
163          && rm dummy.c dummy && exit 0
164        rm -f dummy.c dummy
165        echo mips-mips-riscos${UNAME_RELEASE}
166        exit 0 ;;
167    Night_Hawk:Power_UNIX:*:*)
168        echo powerpc-harris-powerunix
169        exit 0 ;;
170    m88k:CX/UX:7*:*)
171        echo m88k-harris-cxux7
172        exit 0 ;;
173    m88k:*:4*:R4*)
174        echo m88k-motorola-sysv4
175        exit 0 ;;
176    m88k:*:3*:R3*)
177        echo m88k-motorola-sysv3
178        exit 0 ;;
179    AViiON:dgux:*:*)
180        # DG/UX returns AViiON for all architectures
181        UNAME_PROCESSOR=`/usr/bin/uname -p`
182        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
183        if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
184             -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
185                echo m88k-dg-dgux${UNAME_RELEASE}
186        else
187                echo m88k-dg-dguxbcs${UNAME_RELEASE}
188        fi
189        else echo i586-dg-dgux${UNAME_RELEASE}
190        fi
191        exit 0 ;;
192    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
193        echo m88k-dolphin-sysv3
194        exit 0 ;;
195    M88*:*:R3*:*)
196        # Delta 88k system running SVR3
197        echo m88k-motorola-sysv3
198        exit 0 ;;
199    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
200        echo m88k-tektronix-sysv3
201        exit 0 ;;
202    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
203        echo m68k-tektronix-bsd
204        exit 0 ;;
205    *:IRIX*:*:*)
206        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
207        exit 0 ;;
208    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
209        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
210        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
211    i?86:AIX:*:*)
212        echo i386-ibm-aix
213        exit 0 ;;
214    *:AIX:2:3)
215        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
216                sed 's/^                //' << EOF >dummy.c
217                #include <sys/systemcfg.h>
218
219                main()
220                        {
221                        if (!__power_pc())
222                                exit(1);
223                        puts("powerpc-ibm-aix3.2.5");
224                        exit(0);
225                        }
226EOF
227                ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
228                rm -f dummy.c dummy
229                echo rs6000-ibm-aix3.2.5
230        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
231                echo rs6000-ibm-aix3.2.4
232        else
233                echo rs6000-ibm-aix3.2
234        fi
235        exit 0 ;;
236    *:AIX:*:4)
237        if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
238                IBM_ARCH=rs6000
239        else
240                IBM_ARCH=powerpc
241        fi
242        if [ -x /usr/bin/oslevel ] ; then
243                IBM_REV=`/usr/bin/oslevel`
244        else
245                IBM_REV=4.${UNAME_RELEASE}
246        fi
247        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
248        exit 0 ;;
249    *:AIX:*:*)
250        echo rs6000-ibm-aix
251        exit 0 ;;
252    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
253        echo romp-ibm-bsd4.4
254        exit 0 ;;
255    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
256        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
257        exit 0 ;;                           # report: romp-ibm BSD 4.3
258    *:BOSX:*:*)
259        echo rs6000-bull-bosx
260        exit 0 ;;
261    DPX/2?00:B.O.S.:*:*)
262        echo m68k-bull-sysv3
263        exit 0 ;;
264    9000/[34]??:4.3bsd:1.*:*)
265        echo m68k-hp-bsd
266        exit 0 ;;
267    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
268        echo m68k-hp-bsd4.4
269        exit 0 ;;
270    9000/[3478]??:HP-UX:*:*)
271        case "${UNAME_MACHINE}" in
272            9000/31? )            HP_ARCH=m68000 ;;
273            9000/[34]?? )         HP_ARCH=m68k ;;
274            9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
275            9000/8?? )            HP_ARCH=hppa1.0 ;;
276        esac
277        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
278        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
279        exit 0 ;;
280    3050*:HI-UX:*:*)
281        sed 's/^        //' << EOF >dummy.c
282        #include <unistd.h>
283        int
284        main ()
285        {
286          long cpu = sysconf (_SC_CPU_VERSION);
287          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
288             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
289             results, however.  */
290          if (CPU_IS_PA_RISC (cpu))
291            {
292              switch (cpu)
293                {
294                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
295                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
296                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
297                  default: puts ("hppa-hitachi-hiuxwe2"); break;
298                }
299            }
300          else if (CPU_IS_HP_MC68K (cpu))
301            puts ("m68k-hitachi-hiuxwe2");
302          else puts ("unknown-hitachi-hiuxwe2");
303          exit (0);
304        }
305EOF
306        ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
307        rm -f dummy.c dummy
308        echo unknown-hitachi-hiuxwe2
309        exit 0 ;;
310    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
311        echo hppa1.1-hp-bsd
312        exit 0 ;;
313    9000/8??:4.3bsd:*:*)
314        echo hppa1.0-hp-bsd
315        exit 0 ;;
316    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
317        echo hppa1.1-hp-osf
318        exit 0 ;;
319    hp8??:OSF1:*:*)
320        echo hppa1.0-hp-osf
321        exit 0 ;;
322    i?86:OSF1:*:*)
323        if [ -x /usr/sbin/sysversion ] ; then
324            echo ${UNAME_MACHINE}-unknown-osf1mk
325        else
326            echo ${UNAME_MACHINE}-unknown-osf1
327        fi
328        exit 0 ;;
329    parisc*:Lites*:*:*)
330        echo hppa1.1-hp-lites
331        exit 0 ;;
332    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
333        echo c1-convex-bsd
334        exit 0 ;;
335    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
336        if getsysinfo -f scalar_acc
337        then echo c32-convex-bsd
338        else echo c2-convex-bsd
339        fi
340        exit 0 ;;
341    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
342        echo c34-convex-bsd
343        exit 0 ;;
344    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
345        echo c38-convex-bsd
346        exit 0 ;;
347    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
348        echo c4-convex-bsd
349        exit 0 ;;
350    CRAY*X-MP:*:*:*)
351        echo xmp-cray-unicos
352        exit 0 ;;
353    CRAY*Y-MP:*:*:*)
354        echo ymp-cray-unicos${UNAME_RELEASE}
355        exit 0 ;;
356    CRAY*[A-Z]90:*:*:*)
357        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
358        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
359              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
360        exit 0 ;;
361    CRAY*TS:*:*:*)
362        echo t90-cray-unicos${UNAME_RELEASE}
363        exit 0 ;;
364    CRAY-2:*:*:*)
365        echo cray2-cray-unicos
366        exit 0 ;;
367    F300:UNIX_System_V:*:*)
368        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
369        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
370        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
371        exit 0 ;;
372    F301:UNIX_System_V:*:*)
373       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
374       exit 0 ;;
375    hp3[0-9][05]:NetBSD:*:*)
376        echo m68k-hp-netbsd${UNAME_RELEASE}
377        exit 0 ;;
378    hp3[0-9][05]:OpenBSD:*:*)
379        echo m68k-hp-openbsd${UNAME_RELEASE}
380        exit 0 ;;
381    i?86:BSD/386:*:* | *:BSD/OS:*:*)
382        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
383        exit 0 ;;
384    *:FreeBSD:*:*)
385        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
386        exit 0 ;;
387    *:NetBSD:*:*)
388        echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
389        exit 0 ;;
390    *:OpenBSD:*:*)
391        echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
392        exit 0 ;;
393    i*:CYGWIN*:*)
394        echo i386-pc-cygwin32
395        exit 0 ;;
396    p*:CYGWIN*:*)
397        echo powerpcle-unknown-cygwin32
398        exit 0 ;;
399    prep*:SunOS:5.*:*)
400        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
401        exit 0 ;;
402    *:GNU:*:*)
403        echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
404        exit 0 ;;
405    *:Linux:*:*)
406        # The BFD linker knows what the default object file format is, so
407        # first see if it will tell us.
408        ld_help_string=`ld --help 2>&1`
409        if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
410          echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0
411        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
412          echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0
413        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
414          echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0
415        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
416          echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0
417        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
418          echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0
419        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
420          echo "powerpc-unknown-linux-gnu" ; exit 0
421        elif test "${UNAME_MACHINE}" = "alpha" ; then
422          echo alpha-unknown-linux-gnu ; exit 0
423        elif test "${UNAME_MACHINE}" = "sparc" ; then
424          echo sparc-unknown-linux-gnu ; exit 0
425        else
426          # Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us
427          # useful --help.  Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout.
428          test ! -d /usr/lib/ldscripts/. \
429            && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
430          # Determine whether the default compiler is a.out or elf
431          cat >dummy.c <<EOF
432main(argc, argv)
433int argc;
434char *argv[];
435{
436#ifdef __ELF__
437  printf ("%s-pc-linux-gnu\n", argv[1]);
438#else
439  printf ("%s-pc-linux-gnuaout\n", argv[1]);
440#endif
441  return 0;
442}
443EOF
444          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
445          rm -f dummy.c dummy
446        fi ;;
447# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
448# are messed up and put the nodename in both sysname and nodename.
449    i?86:DYNIX/ptx:4*:*)
450        echo i386-sequent-sysv4
451        exit 0 ;;
452    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
453        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
454                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
455        else
456                echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
457        fi
458        exit 0 ;;
459    i?86:*:3.2:*)
460        if test -f /usr/options/cb.name; then
461                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
462                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
463        elif /bin/uname -X 2>/dev/null >/dev/null ; then
464                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
465                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
466                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
467                        && UNAME_MACHINE=i586
468                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
469        else
470                echo ${UNAME_MACHINE}-pc-sysv32
471        fi
472        exit 0 ;;
473    Intel:Mach:3*:*)
474        echo i386-pc-mach3
475        exit 0 ;;
476    paragon:*:*:*)
477        echo i860-intel-osf1
478        exit 0 ;;
479    i860:*:4.*:*) # i860-SVR4
480        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
481          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
482        else # Add other i860-SVR4 vendors below as they are discovered.
483          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
484        fi
485        exit 0 ;;
486    mini*:CTIX:SYS*5:*)
487        # "miniframe"
488        echo m68010-convergent-sysv
489        exit 0 ;;
490    M68*:*:R3V[567]*:*)
491        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
492    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
493        OS_REL=''
494        test -r /etc/.relid \
495        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
496        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
497          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
498        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
499          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
500    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
501        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
502          && echo i486-ncr-sysv4 && exit 0 ;;
503    m68*:LynxOS:2.*:*)
504        echo m68k-unknown-lynxos${UNAME_RELEASE}
505        exit 0 ;;
506    mc68030:UNIX_System_V:4.*:*)
507        echo m68k-atari-sysv4
508        exit 0 ;;
509    i?86:LynxOS:2.*:*)
510        echo i386-unknown-lynxos${UNAME_RELEASE}
511        exit 0 ;;
512    TSUNAMI:LynxOS:2.*:*)
513        echo sparc-unknown-lynxos${UNAME_RELEASE}
514        exit 0 ;;
515    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
516        echo rs6000-unknown-lynxos${UNAME_RELEASE}
517        exit 0 ;;
518    SM[BE]S:UNIX_SV:*:*)
519        echo mips-dde-sysv${UNAME_RELEASE}
520        exit 0 ;;
521    RM*:SINIX-*:*:*)
522        echo mips-sni-sysv4
523        exit 0 ;;
524    *:SINIX-*:*:*)
525        if uname -p 2>/dev/null >/dev/null ; then
526                UNAME_MACHINE=`(uname -p) 2>/dev/null`
527                echo ${UNAME_MACHINE}-sni-sysv4
528        else
529                echo ns32k-sni-sysv
530        fi
531        exit 0 ;;
532    *:UNIX_System_V:4*:FTX*)
533        # From Gerald Hewes <hewes@openmarket.com>.
534        # How about differentiating between stratus architectures? -djm
535        echo hppa1.1-stratus-sysv4
536        exit 0 ;;
537    *:*:*:FTX*)
538        # From seanf@swdc.stratus.com.
539        echo i860-stratus-sysv4
540        exit 0 ;;
541    mc68*:A/UX:*:*)
542        echo m68k-apple-aux${UNAME_RELEASE}
543        exit 0 ;;
544    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
545        if [ -d /usr/nec ]; then
546                echo mips-nec-sysv${UNAME_RELEASE}
547        else
548                echo mips-unknown-sysv${UNAME_RELEASE}
549        fi
550        exit 0 ;;
551    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
552                           # says <Richard.M.Bartel@ccMail.Census.GOV>
553        echo i586-unisys-sysv4
554        exit 0 ;;
555esac
556
557#echo '(No uname command or uname output not recognized.)' 1>&2
558#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
559
560cat >dummy.c <<EOF
561#ifdef _SEQUENT_
562# include <sys/types.h>
563# include <sys/utsname.h>
564#endif
565main ()
566{
567#if defined (sony)
568#if defined (MIPSEB)
569  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
570     I don't know....  */
571  printf ("mips-sony-bsd\n"); exit (0);
572#else
573#include <sys/param.h>
574  printf ("m68k-sony-newsos%s\n",
575#ifdef NEWSOS4
576          "4"
577#else
578          ""
579#endif
580         ); exit (0);
581#endif
582#endif
583
584#if defined (__arm) && defined (__acorn) && defined (__unix)
585  printf ("arm-acorn-riscix"); exit (0);
586#endif
587
588#if defined (hp300) && !defined (hpux)
589  printf ("m68k-hp-bsd\n"); exit (0);
590#endif
591
592#if defined (NeXT)
593#if !defined (__ARCHITECTURE__)
594#define __ARCHITECTURE__ "m68k"
595#endif
596  int version;
597  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
598  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
599  exit (0);
600#endif
601
602#if defined (MULTIMAX) || defined (n16)
603#if defined (UMAXV)
604  printf ("ns32k-encore-sysv\n"); exit (0);
605#else
606#if defined (CMU)
607  printf ("ns32k-encore-mach\n"); exit (0);
608#else
609  printf ("ns32k-encore-bsd\n"); exit (0);
610#endif
611#endif
612#endif
613
614#if defined (__386BSD__)
615  printf ("i386-pc-bsd\n"); exit (0);
616#endif
617
618#if defined (sequent)
619#if defined (i386)
620  printf ("i386-sequent-dynix\n"); exit (0);
621#endif
622#if defined (ns32000)
623  printf ("ns32k-sequent-dynix\n"); exit (0);
624#endif
625#endif
626
627#if defined (_SEQUENT_)
628    struct utsname un;
629
630    uname(&un);
631
632    if (strncmp(un.version, "V2", 2) == 0) {
633        printf ("i386-sequent-ptx2\n"); exit (0);
634    }
635    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
636        printf ("i386-sequent-ptx1\n"); exit (0);
637    }
638    printf ("i386-sequent-ptx\n"); exit (0);
639
640#endif
641
642#if defined (vax)
643#if !defined (ultrix)
644  printf ("vax-dec-bsd\n"); exit (0);
645#else
646  printf ("vax-dec-ultrix\n"); exit (0);
647#endif
648#endif
649
650#if defined (alliant) && defined (i860)
651  printf ("i860-alliant-bsd\n"); exit (0);
652#endif
653
654  exit (1);
655}
656EOF
657
658${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
659rm -f dummy.c dummy
660
661# Apollos put the system type in the environment.
662
663test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
664
665# Convex versions that predate uname can use getsysinfo(1)
666
667if [ -x /usr/convex/getsysinfo ]
668then
669    case `getsysinfo -f cpu_type` in
670    c1*)
671        echo c1-convex-bsd
672        exit 0 ;;
673    c2*)
674        if getsysinfo -f scalar_acc
675        then echo c32-convex-bsd
676        else echo c2-convex-bsd
677        fi
678        exit 0 ;;
679    c34*)
680        echo c34-convex-bsd
681        exit 0 ;;
682    c38*)
683        echo c38-convex-bsd
684        exit 0 ;;
685    c4*)
686        echo c4-convex-bsd
687        exit 0 ;;
688    esac
689fi
690
691#echo '(Unable to guess system type)' 1>&2
692
693exit 1
Note: See TracBrowser for help on using the repository browser.