xref: /openbsd/gnu/usr.bin/gcc/config.guess (revision 159b2798)
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., 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: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    21064:Windows_NT:50:3)
63	echo alpha-dec-winnt3.5
64	exit 0 ;;
65    amiga:NetBSD:*:*)
66      echo m68k-cbm-netbsd${UNAME_RELEASE}
67      exit 0 ;;
68    amiga:OpenBSD:*:*)
69      echo m68k-unknown-openbsd${UNAME_RELEASE}
70      exit 0 ;;
71    mvme68k:OpenBSD:*:*)
72      echo m68k-unknown-openbsd${UNAME_RELEASE}
73      exit 0 ;;
74    mvme88k:OpenBSD:*:*)
75      echo m88k-unknown-openbsd${UNAME_RELEASE}
76      exit 0 ;;
77    arm32:OpenBSD:*:*)
78      echo arm-unknown-openbsd${UNAME_RELEASE}
79      exit 0 ;;
80    arc:OpenBSD:*:*)
81      echo mipsle-unknown-openbsd${UNAME_RELEASE}
82      exit 0 ;;
83    pmax:OpenBSD:*:*)
84      echo mipsle-unknown-openbsd${UNAME_RELEASE}
85      exit 0 ;;
86    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
87	echo arm-acorn-riscix${UNAME_RELEASE}
88	exit 0;;
89    Pyramid*:OSx*:*:*)
90	if test "`(/bin/universe) 2>/dev/null`" = att ; then
91		echo pyramid-pyramid-sysv3
92	else
93		echo pyramid-pyramid-bsd
94	fi
95	exit 0 ;;
96    sun4*:SunOS:5.*:*)
97	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
98	exit 0 ;;
99    i86pc:SunOS:5.*:*)
100	echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
101	exit 0 ;;
102    sun4*:SunOS:6*:*)
103	# According to config.sub, this is the proper way to canonicalize
104	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
105	# it's likely to be more like Solaris than SunOS4.
106	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
107	exit 0 ;;
108    sun4*:SunOS:*:*)
109	case "`/usr/bin/arch -k`" in
110	    Series*|S4*)
111		UNAME_RELEASE=`uname -v`
112		;;
113	esac
114	# Japanese Language versions have a version number like `4.1.3-JL'.
115	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
116	exit 0 ;;
117    sun3*:SunOS:*:*)
118	echo m68k-sun-sunos${UNAME_RELEASE}
119	exit 0 ;;
120    atari*:NetBSD:*:*)
121	echo m68k-atari-netbsd${UNAME_RELEASE}
122	exit 0 ;;
123    atari*:OpenBSD:*:*)
124	echo m68k-unknown-openbsd${UNAME_RELEASE}
125	exit 0 ;;
126    sun3*:NetBSD:*:*)
127	echo m68k-sun-netbsd${UNAME_RELEASE}
128	exit 0 ;;
129    sun3*:OpenBSD:*:*)
130	echo m68k-unknown-openbsd${UNAME_RELEASE}
131	exit 0 ;;
132    mac68k:NetBSD:*:*)
133	echo m68k-apple-netbsd${UNAME_RELEASE}
134	exit 0 ;;
135    mac68k:OpenBSD:*:*)
136	echo m68k-unknown-openbsd${UNAME_RELEASE}
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:*:4*:UMIPS)
145	echo mips-mips-riscos4sysv
146	exit 0 ;;
147    mips:*:5*:RISCos)
148	echo mips-mips-riscos${UNAME_RELEASE}
149	exit 0 ;;
150    m88k:CX/UX:7*:*)
151	echo m88k-harris-cxux7
152	exit 0 ;;
153    m88k:*:4*:R4*)
154	echo m88k-motorola-sysv4
155	exit 0 ;;
156    m88k:*:3*:R3*)
157	echo m88k-motorola-sysv3
158	exit 0 ;;
159    AViiON:dgux:*:*)
160	if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
161	     -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
162		echo m88k-dg-dgux${UNAME_RELEASE}
163	else
164		echo m88k-dg-dguxbcs${UNAME_RELEASE}
165	fi
166 	exit 0 ;;
167    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
168	echo m88k-dolphin-sysv3
169	exit 0 ;;
170    M88*:*:R3*:*)
171	# Delta 88k system running SVR3
172	echo m88k-motorola-sysv3
173	exit 0 ;;
174    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
175	echo m88k-tektronix-sysv3
176	exit 0 ;;
177    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
178	echo m68k-tektronix-bsd
179	exit 0 ;;
180    *:IRIX*:*:*)
181	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
182	exit 0 ;;
183   ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
184	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
185	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
186    i[34]86:AIX:*:*)
187	echo i386-ibm-aix
188	exit 0 ;;
189    *:AIX:2:3)
190	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
191		sed 's/^		//' << EOF >dummy.c
192		#include <sys/systemcfg.h>
193
194		main()
195			{
196			if (!__power_pc())
197				exit(1);
198			puts("powerpc-ibm-aix3.2.5");
199			exit(0);
200			}
201EOF
202		${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
203		rm -f dummy.c dummy
204		echo rs6000-ibm-aix3.2.5
205	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
206		echo rs6000-ibm-aix3.2.4
207	else
208		echo rs6000-ibm-aix3.2
209	fi
210	exit 0 ;;
211    *:AIX:*:4)
212	if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
213		IBM_ARCH=rs6000
214	else
215		IBM_ARCH=powerpc
216	fi
217	if [ -x /usr/bin/oslevel ] ; then
218		IBM_REV=`/usr/bin/oslevel`
219	else
220		IBM_REV=4.${UNAME_RELEASE}
221	fi
222	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
223	exit 0 ;;
224    *:AIX:*:*)
225	echo rs6000-ibm-aix
226	exit 0 ;;
227    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
228	echo romp-ibm-bsd4.4
229	exit 0 ;;
230    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
231	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
232	exit 0 ;;                           # report: romp-ibm BSD 4.3
233    *:BOSX:*:*)
234	echo rs6000-bull-bosx
235	exit 0 ;;
236    DPX/2?00:B.O.S.:*:*)
237	echo m68k-bull-sysv3
238	exit 0 ;;
239    9000/[34]??:4.3bsd:1.*:*)
240	echo m68k-hp-bsd
241	exit 0 ;;
242    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
243	echo m68k-hp-bsd4.4
244	exit 0 ;;
245    9000/[3478]??:HP-UX:*:*)
246	case "${UNAME_MACHINE}" in
247	    9000/31? )            HP_ARCH=m68000 ;;
248	    9000/[34]?? )         HP_ARCH=m68k ;;
249	    9000/7?? | 9000/8?[79] ) HP_ARCH=hppa1.1 ;;
250	    9000/8?? )            HP_ARCH=hppa1.0 ;;
251	esac
252	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
253	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
254	exit 0 ;;
255    3050*:HI-UX:*:*)
256	sed 's/^	//' << EOF >dummy.c
257	#include <unistd.h>
258	int
259	main ()
260	{
261	  long cpu = sysconf (_SC_CPU_VERSION);
262	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
263	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
264	     results, however.  */
265	  if (CPU_IS_PA_RISC (cpu))
266	    {
267	      switch (cpu)
268		{
269		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
270		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
271		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
272		  default: puts ("hppa-hitachi-hiuxwe2"); break;
273		}
274	    }
275	  else if (CPU_IS_HP_MC68K (cpu))
276	    puts ("m68k-hitachi-hiuxwe2");
277	  else puts ("unknown-hitachi-hiuxwe2");
278	  exit (0);
279	}
280EOF
281	${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
282	rm -f dummy.c dummy
283	echo unknown-hitachi-hiuxwe2
284	exit 0 ;;
285    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
286	echo hppa1.1-hp-bsd
287	exit 0 ;;
288    9000/8??:4.3bsd:*:*)
289	echo hppa1.0-hp-bsd
290	exit 0 ;;
291    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
292	echo hppa1.1-hp-osf
293	exit 0 ;;
294    hp8??:OSF1:*:*)
295	echo hppa1.0-hp-osf
296	exit 0 ;;
297    parisc*:Lites*:*:*)
298	echo hppa1.1-hp-lites
299	exit 0 ;;
300    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
301	echo c1-convex-bsd
302        exit 0 ;;
303    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
304	if getsysinfo -f scalar_acc
305	then echo c32-convex-bsd
306	else echo c2-convex-bsd
307	fi
308        exit 0 ;;
309    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
310	echo c34-convex-bsd
311        exit 0 ;;
312    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
313	echo c38-convex-bsd
314        exit 0 ;;
315    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
316	echo c4-convex-bsd
317        exit 0 ;;
318    CRAY*X-MP:*:*:*)
319	echo xmp-cray-unicos
320        exit 0 ;;
321    CRAY*Y-MP:*:*:*)
322	echo ymp-cray-unicos${UNAME_RELEASE}
323	exit 0 ;;
324    CRAY*C90:*:*:*)
325	echo c90-cray-unicos${UNAME_RELEASE}
326	exit 0 ;;
327    CRAY-2:*:*:*)
328	echo cray2-cray-unicos
329        exit 0 ;;
330    hp3[0-9][05]:NetBSD:*:*)
331	echo m68k-hp-netbsd${UNAME_RELEASE}
332	exit 0 ;;
333    hp3[0-9][05]:OpenBSD:*:*)
334	echo m68k-unknown-openbsd${UNAME_RELEASE}
335	exit 0 ;;
336    i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
337	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
338	exit 0 ;;
339    *:FreeBSD:*:*)
340	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
341	exit 0 ;;
342    *:NetBSD:*:*)
343	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
344	exit 0 ;;
345    *:OpenBSD:*:*)
346	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
347	exit 0 ;;
348    *:GNU:*:*)
349	echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
350	exit 0 ;;
351    *:Linux:*:*)
352	# The BFD linker knows what the default object file format is, so
353	# first see if it will tell us.
354	ld_help_string=`ld --help 2>&1`
355	if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
356	  echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
357	elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
358	  echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
359	elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
360	  echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
361	elif test "${UNAME_MACHINE}" = "alpha" ; then
362	  echo alpha-unknown-linux ; exit 0
363	else
364	  # Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
365	  # useful --help.  Gcc wants to distinguish between linuxoldld and linuxaout.
366	  test ! -d /usr/lib/ldscripts/. \
367	    && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
368	  # Determine whether the default compiler is a.out or elf
369	  cat >dummy.c <<EOF
370main(argc, argv)
371int argc;
372char *argv[];
373{
374#ifdef __ELF__
375  printf ("%s-unknown-linux\n", argv[1]);
376#else
377  printf ("%s-unknown-linuxaout\n", argv[1]);
378#endif
379  return 0;
380}
381EOF
382	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
383	  rm -f dummy.c dummy
384	fi ;;
385# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
386# are messed up and put the nodename in both sysname and nodename.
387    i[34]86:DYNIX/ptx:4*:*)
388	echo i386-sequent-sysv4
389	exit 0 ;;
390    i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
391	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
392		echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
393	else
394		echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
395	fi
396	exit 0 ;;
397    i[34]86:*:3.2:*)
398	if test -f /usr/options/cb.name; then
399		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
400		echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
401	elif /bin/uname -X 2>/dev/null >/dev/null ; then
402		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
403		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
404		echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
405	else
406		echo ${UNAME_MACHINE}-unknown-sysv32
407	fi
408	exit 0 ;;
409    Intel:Mach:3*:*)
410	echo i386-unknown-mach3
411	exit 0 ;;
412    paragon:*:*:*)
413	echo i860-intel-osf1
414	exit 0 ;;
415    i860:*:4.*:*) # i860-SVR4
416	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
417	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
418	else # Add other i860-SVR4 vendors below as they are discovered.
419	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
420	fi
421	exit 0 ;;
422    mini*:CTIX:SYS*5:*)
423	# "miniframe"
424	echo m68010-convergent-sysv
425	exit 0 ;;
426    M680[234]0:*:R3V[567]*:*)
427	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
428    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
429        uname -p 2>/dev/null | grep 86 >/dev/null \
430          && echo i486-ncr-sysv4.3 && exit 0 ;;
431    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
432        uname -p 2>/dev/null | grep 86 >/dev/null \
433          && echo i486-ncr-sysv4 && exit 0 ;;
434    m680[234]0:LynxOS:2.[23]*:*)
435	echo m68k-lynx-lynxos${UNAME_RELEASE}
436	exit 0 ;;
437    mc68030:UNIX_System_V:4.*:*)
438	echo m68k-atari-sysv4
439	exit 0 ;;
440    i[34]86:LynxOS:2.[23]*:*)
441	echo i386-lynx-lynxos${UNAME_RELEASE}
442	exit 0 ;;
443    TSUNAMI:LynxOS:2.[23]*:*)
444	echo sparc-lynx-lynxos${UNAME_RELEASE}
445	exit 0 ;;
446    rs6000:LynxOS:2.[23]*:*)
447	echo rs6000-lynx-lynxos${UNAME_RELEASE}
448	exit 0 ;;
449    RM*:SINIX-*:*:*)
450	echo mips-sni-sysv4
451	exit 0 ;;
452    *:SINIX-*:*:*)
453	if uname -p 2>/dev/null >/dev/null ; then
454		UNAME_MACHINE=`(uname -p) 2>/dev/null`
455		echo ${UNAME_MACHINE}-sni-sysv4
456	else
457		echo ns32k-sni-sysv
458	fi
459	exit 0 ;;
460esac
461
462#echo '(No uname command or uname output not recognized.)' 1>&2
463#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
464
465cat >dummy.c <<EOF
466#ifdef _SEQUENT_
467# include <sys/types.h>
468# include <sys/utsname.h>
469#endif
470main ()
471{
472#if defined (sony)
473#if defined (MIPSEB)
474  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
475     I don't know....  */
476  printf ("mips-sony-bsd\n"); exit (0);
477#else
478#include <sys/param.h>
479  printf ("m68k-sony-newsos%s\n",
480#ifdef NEWSOS4
481          "4"
482#else
483	  ""
484#endif
485         ); exit (0);
486#endif
487#endif
488
489#if defined (__arm) && defined (__acorn) && defined (__unix)
490  printf ("arm-acorn-riscix"); exit (0);
491#endif
492
493#if defined (hp300) && !defined (hpux)
494  printf ("m68k-hp-bsd\n"); exit (0);
495#endif
496
497#if defined (NeXT)
498#if !defined (__ARCHITECTURE__)
499#define __ARCHITECTURE__ "m68k"
500#endif
501  int version;
502  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
503  printf ("%s-next-nextstep%s\n", __ARCHITECTURE__,  version==2 ? "2" : "3");
504  exit (0);
505#endif
506
507#if defined (MULTIMAX) || defined (n16)
508#if defined (UMAXV)
509  printf ("ns32k-encore-sysv\n"); exit (0);
510#else
511#if defined (CMU)
512  printf ("ns32k-encore-mach\n"); exit (0);
513#else
514  printf ("ns32k-encore-bsd\n"); exit (0);
515#endif
516#endif
517#endif
518
519#if defined (__386BSD__)
520  printf ("i386-unknown-bsd\n"); exit (0);
521#endif
522
523#if defined (sequent)
524#if defined (i386)
525  printf ("i386-sequent-dynix\n"); exit (0);
526#endif
527#if defined (ns32000)
528  printf ("ns32k-sequent-dynix\n"); exit (0);
529#endif
530#endif
531
532#if defined (_SEQUENT_)
533    struct utsname un;
534
535    uname(&un);
536
537    if (strncmp(un.version, "V2", 2) == 0) {
538	printf ("i386-sequent-ptx2\n"); exit (0);
539    }
540    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
541	printf ("i386-sequent-ptx1\n"); exit (0);
542    }
543    printf ("i386-sequent-ptx\n"); exit (0);
544
545#endif
546
547#if defined (vax)
548#if !defined (ultrix)
549  printf ("vax-dec-bsd\n"); exit (0);
550#else
551  printf ("vax-dec-ultrix\n"); exit (0);
552#endif
553#endif
554
555#if defined (alliant) && defined (i860)
556  printf ("i860-alliant-bsd\n"); exit (0);
557#endif
558
559  exit (1);
560}
561EOF
562
563${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
564rm -f dummy.c dummy
565
566# Apollos put the system type in the environment.
567
568test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
569
570# Convex versions that predate uname can use getsysinfo(1)
571
572if [ -x /usr/convex/getsysinfo ]
573then
574    case `getsysinfo -f cpu_type` in
575    c1*)
576	echo c1-convex-bsd
577	exit 0 ;;
578    c2*)
579	if getsysinfo -f scalar_acc
580	then echo c32-convex-bsd
581	else echo c2-convex-bsd
582	fi
583	exit 0 ;;
584    c34*)
585	echo c34-convex-bsd
586	exit 0 ;;
587    c38*)
588	echo c38-convex-bsd
589	exit 0 ;;
590    c4*)
591	echo c4-convex-bsd
592	exit 0 ;;
593    esac
594fi
595
596#echo '(Unable to guess system type)' 1>&2
597
598exit 1
599