Initial creation of sourceware repository
[deliverable/binutils-gdb.git] / readline / support / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 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.)
40 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
41 PATH=$PATH:/.attbin ; export PATH
42 elif (test -f /usr/5bin/uname) >/dev/null 2>&1 ; then
43 PATH=$PATH:/usr/5bin
44 fi
45
46 UNAME=`(uname) 2>/dev/null` || UNAME=unknown
47 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
48 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
49 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
50 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
51
52 RELEASE=`expr "$UNAME_RELEASE" : '[^0-9]*\([0-9]*\)'` # 4
53 case "$RELEASE" in
54 "") RELEASE=0 ;;
55 *) RELEASE=`expr "$RELEASE" + 0` ;;
56 esac
57 REL_LEVEL=`expr "$UNAME_RELEASE" : '[^0-9]*[0-9]*.\([0-9]*\)'` # 1
58 REL_SUBLEVEL=`expr "$UNAME_RELEASE" : '[^0-9]*[0-9]*.[0-9]*.\([0-9]*\)'` # 2
59
60 trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
61
62 # Some versions of i386 SVR4.2 make `uname' equivalent to `uname -n', which
63 # is contrary to all other versions of uname
64 if [ -n "$UNAME" ] && [ "$UNAME_S" != "$UNAME" ] && [ "$UNAME_S" = UNIX_SV ]; then
65 UNAME=UNIX_SV
66 fi
67
68 # Note: order is significant - the case branches are not exclusive.
69
70 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
71 # Begin cases added for Bash
72 alpha:NetBSD:*:*)
73 echo alpha-dec-netbsd${UNAME_RELEASE}
74 exit 0 ;;
75 alpha:OpenBSD:*:*)
76 echo alpha-dec-openbsd${UNAME_RELEASE}
77 exit 0 ;;
78 i?86:NetBSD:*:*)
79 echo ${UNAME_MACHINE}-pc-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
80 exit 0 ;;
81 i?86:OpenBSD:*:*)
82 echo ${UNAME_MACHINE}-pc-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
83 exit 0 ;;
84 i?86:FreeBSD:*:*)
85 echo ${UNAME_MACHINE}-pc-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
86 exit 0 ;;
87 sparc:NetBSD:*:*)
88 echo sparc-unknown-netbsd${UNAME_RELEASE}
89 exit 0 ;;
90 sparc:OpenBSD:*:*)
91 echo sparc-unknown-openbsd${UNAME_RELEASE}
92 exit 0 ;;
93 vax:NetBSD:*:*)
94 echo vax-dec-netbsd${UNAME_RELEASE}
95 exit 0 ;;
96 vax:OpenBSD:*:*)
97 echo vax-dec-openbsd${UNAME_RELEASE}
98 exit 0 ;;
99 mac68k:machten:*:*)
100 echo mac68k-apple-machten${UNAME_RELEASE}
101 exit 0 ;;
102 concurrent*:*:*:*)
103 if test "`(/bin/universe) 2>/dev/null`" = att ; then
104 echo concurrent-concurrent-sysv3
105 else
106 echo concurrent-concurrent-bsd
107 fi
108 exit 0 ;;
109 ppc*:SunOS:5.*:*)
110 echo ppc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
111 exit 0 ;;
112 sparc:UNIX_SV:4.*:*)
113 echo sparc-unknown-sysv${UNAME_RELEASE}
114 exit 0 ;;
115 mips:UNIX_SV:4.*:*)
116 echo mips-mips-sysv${UNAME_RELEASE}
117 exit 0 ;;
118 mips:OSF*1:*:*)
119 echo mips-mips-osf1
120 exit 0 ;;
121 mips:4.4BSD:*:*)
122 echo mips-mips-bsd4.4
123 exit 0 ;;
124 MIServer-S:SMP_DC.OSx:*:dcosx)
125 echo mips-pyramid-sysv4
126 exit 0 ;;
127 news*:NEWS*:*:*)
128 echo mips-sony-newsos${UNAME_RELEASE}
129 exit 0 ;;
130 i?86:NEXTSTEP:*:*)
131 echo i386-next-nextstep${RELEASE}
132 exit 0 ;;
133 *680?0:NEXTSTEP:*:*)
134 echo m68k-next-nextstep${RELEASE}
135 exit 0 ;;
136 *370:AIX:*:*)
137 echo ibm370-ibm-aix
138 exit 0 ;;
139 ksr1:OSF*1:*:*)
140 echo ksr1-ksr-osf1
141 exit 0 ;;
142 esa:OSF*1:*:* | ESA:OSF*:*:*)
143 echo esa-ibm-osf1
144 exit 0 ;;
145 DNP*:DNIX:*:*)
146 echo m68k-dnix-sysv
147 exit 0 ;;
148 *3b2*:*:*:*)
149 echo we32k-att-sysv3
150 exit 0 ;;
151 *:QNX:*:42*)
152 echo i386-qssl-qnx`echo ${UNAME_VERSION}`
153 exit 0 ;;
154 # end cases added for Bash
155 alpha:OSF1:*:*)
156 if test $UNAME_RELEASE = "V4.0"; then
157 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
158 fi
159 # A Vn.n version is a released version.
160 # A Tn.n version is a released field test version.
161 # A Xn.n version is an unreleased experimental baselevel.
162 # 1.2 uses "1.2" for uname -r.
163 cat <<EOF >dummy.s
164 .globl main
165 .ent main
166 main:
167 .frame \$30,0,\$26,0
168 .prologue 0
169 .long 0x47e03d80 # implver $0
170 lda \$2,259
171 .long 0x47e20c21 # amask $2,$1
172 srl \$1,8,\$2
173 sll \$2,2,\$2
174 sll \$0,3,\$0
175 addl \$1,\$0,\$0
176 addl \$2,\$0,\$0
177 ret \$31,(\$26),1
178 .end main
179 EOF
180 ${CC-cc} dummy.s -o dummy 2>/dev/null
181 if test "$?" = 0 ; then
182 ./dummy
183 case "$?" in
184 7)
185 UNAME_MACHINE="alpha"
186 ;;
187 15)
188 UNAME_MACHINE="alphaev5"
189 ;;
190 14)
191 UNAME_MACHINE="alphaev56"
192 ;;
193 10)
194 UNAME_MACHINE="alphapca56"
195 ;;
196 16)
197 UNAME_MACHINE="alphaev6"
198 ;;
199 esac
200 fi
201 rm -f dummy.s dummy
202 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
203 exit 0 ;;
204 21064:Windows_NT:50:3)
205 echo alpha-dec-winnt3.5
206 exit 0 ;;
207 Amiga*:UNIX_System_V:4.0:*)
208 echo m68k-cbm-sysv4
209 exit 0;;
210 amiga:NetBSD:*:*)
211 echo m68k-cbm-netbsd${UNAME_RELEASE}
212 exit 0 ;;
213 amiga:OpenBSD:*:*)
214 echo m68k-cbm-openbsd${UNAME_RELEASE}
215 exit 0 ;;
216 arc64:OpenBSD:*:*)
217 echo mips64el-unknown-openbsd${UNAME_RELEASE}
218 exit 0 ;;
219 arc:OpenBSD:*:*)
220 echo mipsel-unknown-openbsd${UNAME_RELEASE}
221 exit 0 ;;
222 hkmips:OpenBSD:*:*)
223 echo mips-unknown-openbsd${UNAME_RELEASE}
224 exit 0 ;;
225 pmax:OpenBSD:*:*)
226 echo mipsel-unknown-openbsd${UNAME_RELEASE}
227 exit 0 ;;
228 sgi:OpenBSD:*:*)
229 echo mips-unknown-openbsd${UNAME_RELEASE}
230 exit 0 ;;
231 wgrisc:OpenBSD:*:*)
232 echo mipsel-unknown-openbsd${UNAME_RELEASE}
233 exit 0 ;;
234 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
235 echo arm-acorn-riscix${UNAME_RELEASE}
236 exit 0;;
237 arm32:NetBSD:*:*)
238 echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
239 exit 0 ;;
240 SR2?01:HI-UX/MPP:*:*)
241 echo hppa1.1-hitachi-hiuxmpp
242 exit 0;;
243 Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
244 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
245 if test "`(/bin/universe) 2>/dev/null`" = att ; then
246 echo pyramid-pyramid-sysv3
247 else
248 echo pyramid-pyramid-bsd
249 fi
250 exit 0 ;;
251 NILE:*:*:dcosx)
252 echo pyramid-pyramid-svr4
253 exit 0 ;;
254 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
255 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
256 exit 0 ;;
257 i86pc:SunOS:5.*:*)
258 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
259 exit 0 ;;
260 sun4*:SunOS:6*:*)
261 # According to config.sub, this is the proper way to canonicalize
262 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
263 # it's likely to be more like Solaris than SunOS4.
264 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
265 exit 0 ;;
266 sun4*:SunOS:*:*)
267 case "`/usr/bin/arch -k`" in
268 Series*|S4*)
269 UNAME_RELEASE=`uname -v`
270 ;;
271 esac
272 # Japanese Language versions have a version number like `4.1.3-JL'.
273 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
274 exit 0 ;;
275 sun3*:SunOS:*:*|sun:SunOS:*:*)
276 echo m68k-sun-sunos${UNAME_RELEASE}
277 exit 0 ;;
278 sun*:*:4.2BSD:*)
279 UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
280 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
281 case "`/bin/arch`" in
282 sun3)
283 echo m68k-sun-sunos${UNAME_RELEASE}
284 ;;
285 sun4)
286 echo sparc-sun-sunos${UNAME_RELEASE}
287 ;;
288 esac
289 exit 0 ;;
290 aushp:SunOS:*:*)
291 echo sparc-auspex-sunos${UNAME_RELEASE}
292 exit 0 ;;
293 atari*:NetBSD:*:*)
294 echo m68k-atari-netbsd${UNAME_RELEASE}
295 exit 0 ;;
296 atari*:OpenBSD:*:*)
297 echo m68k-atari-openbsd${UNAME_RELEASE}
298 exit 0 ;;
299 sun3*:NetBSD:*:*)
300 echo m68k-sun-netbsd${UNAME_RELEASE}
301 exit 0 ;;
302 sun3*:OpenBSD:*:*)
303 echo m68k-sun-openbsd${UNAME_RELEASE}
304 exit 0 ;;
305 mac68k:NetBSD:*:*)
306 echo m68k-apple-netbsd${UNAME_RELEASE}
307 exit 0 ;;
308 mac68k:OpenBSD:*:*)
309 echo m68k-apple-openbsd${UNAME_RELEASE}
310 exit 0 ;;
311 mvme68k:OpenBSD:*:*)
312 echo m68k-unknown-openbsd${UNAME_RELEASE}
313 exit 0 ;;
314 mvme88k:OpenBSD:*:*)
315 echo m88k-unknown-openbsd${UNAME_RELEASE}
316 exit 0 ;;
317 Power?Macintosh:Rhapsody:*:*)
318 echo powerpc-apple-nextstep${UNAME_RELEASE}
319 exit 0 ;;
320 *:Rhapsody:*:*)
321 echo ${UNAME_MACHINE}-unknown-nextstep${UNAME_RELEASE}
322 exit 0 ;;
323 powerpc:machten:*:*)
324 echo powerpc-apple-machten${UNAME_RELEASE}
325 exit 0 ;;
326 RISC*:Mach:*:*)
327 echo mips-dec-mach_bsd4.3
328 exit 0 ;;
329 RISC*:ULTRIX:*:*)
330 echo mips-dec-ultrix${UNAME_RELEASE}
331 exit 0 ;;
332 VAX*:ULTRIX*:*:*)
333 echo vax-dec-ultrix${UNAME_RELEASE}
334 exit 0 ;;
335 2020:CLIX:*:*)
336 echo clipper-intergraph-clix${UNAME_RELEASE}
337 exit 0 ;;
338 mips:*:*:UMIPS | mips:*:*:RISCos)
339 sed 's/^ //' << EOF >dummy.c
340 int main (argc, argv) int argc; char **argv; {
341 #if defined (host_mips) && defined (MIPSEB)
342 #if defined (SYSTYPE_SYSV)
343 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
344 #endif
345 #if defined (SYSTYPE_SVR4)
346 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
347 #endif
348 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
349 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
350 #endif
351 #endif
352 exit (-1);
353 }
354 EOF
355 ${CC-cc} dummy.c -o dummy \
356 && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
357 && rm dummy.c dummy && exit 0
358 rm -f dummy.c dummy
359 echo mips-mips-riscos${UNAME_RELEASE}
360 exit 0 ;;
361 Night_Hawk:Power_UNIX:*:*)
362 echo powerpc-harris-powerunix
363 exit 0 ;;
364 m88k:CX/UX:7*:*)
365 echo m88k-harris-cxux7
366 exit 0 ;;
367 m88k:*:4*:R4*)
368 echo m88k-motorola-sysv4
369 exit 0 ;;
370 m88k:*:3*:R3*)
371 echo m88k-motorola-sysv3
372 exit 0 ;;
373 AViiON:dgux:*:*)
374 # DG/UX returns AViiON for all architectures
375 UNAME_PROCESSOR=`/usr/bin/uname -p`
376 if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
377 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
378 -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
379 echo m88k-dg-dgux${UNAME_RELEASE}
380 else
381 echo m88k-dg-dguxbcs${UNAME_RELEASE}
382 fi
383 else echo i586-dg-dgux${UNAME_RELEASE}
384 fi
385 exit 0 ;;
386 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
387 echo m88k-dolphin-sysv3
388 exit 0 ;;
389 M88*:*:R3*:*)
390 # Delta 88k system running SVR3
391 echo m88k-motorola-sysv3
392 exit 0 ;;
393 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
394 echo m88k-tektronix-sysv3
395 exit 0 ;;
396 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
397 echo m68k-tektronix-bsd
398 exit 0 ;;
399 *:IRIX*:*:*)
400 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
401 exit 0 ;;
402 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
403 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
404 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
405 i?86:AIX:*:*)
406 echo i386-ibm-aix
407 exit 0 ;;
408 *:AIX:2:3)
409 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
410 sed 's/^ //' << EOF >dummy.c
411 #include <sys/systemcfg.h>
412
413 main()
414 {
415 if (!__power_pc())
416 exit(1);
417 puts("powerpc-ibm-aix3.2.5");
418 exit(0);
419 }
420 EOF
421 ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
422 rm -f dummy.c dummy
423 echo rs6000-ibm-aix3.2.5
424 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
425 echo rs6000-ibm-aix3.2.4
426 else
427 echo rs6000-ibm-aix3.2
428 fi
429 exit 0 ;;
430 *:AIX:*:4)
431 if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
432 IBM_ARCH=rs6000
433 else
434 IBM_ARCH=powerpc
435 fi
436 if [ -x /usr/bin/oslevel ] ; then
437 IBM_REV=`/usr/bin/oslevel`
438 elif grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then
439 IBM_REV=4.1
440 elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then
441 IBM_REV=4.1.1
442 else
443 IBM_REV=4.${UNAME_RELEASE}
444 fi
445 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
446 exit 0 ;;
447 *:AIX:*:*)
448 echo rs6000-ibm-aix
449 exit 0 ;;
450 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
451 echo romp-ibm-bsd4.4
452 exit 0 ;;
453 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
454 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
455 exit 0 ;; # report: romp-ibm BSD 4.3
456 *:BOSX:*:*)
457 echo rs6000-bull-bosx
458 exit 0 ;;
459 DPX/2?00:B.O.S.:*:*)
460 echo m68k-bull-sysv3
461 exit 0 ;;
462 9000/[34]??:4.3bsd:1.*:*)
463 echo m68k-hp-bsd
464 exit 0 ;;
465 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
466 echo m68k-hp-bsd4.4
467 exit 0 ;;
468 9000/[34678]??:HP-UX:*:*)
469 case "${UNAME_MACHINE}" in
470 9000/31? ) HP_ARCH=m68000 ;;
471 9000/[34]?? ) HP_ARCH=m68k ;;
472 9000/78? | 9000/80[24] | 9000/8[67]1 | 9000/8[78]9 | 9000/893 )
473 HP_ARCH=hppa2.0 ;;
474 9000/7?? | 9000/8?[13679] | 9000/892 )
475 HP_ARCH=hppa1.1 ;;
476 9000/[68]?? ) HP_ARCH=hppa1.0 ;;
477 esac
478 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
479 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
480 exit 0 ;;
481 3050*:HI-UX:*:*)
482 sed 's/^ //' << EOF >dummy.c
483 #include <unistd.h>
484 int
485 main ()
486 {
487 long cpu = sysconf (_SC_CPU_VERSION);
488 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
489 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
490 results, however. */
491 if (CPU_IS_PA_RISC (cpu))
492 {
493 switch (cpu)
494 {
495 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
496 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
497 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
498 default: puts ("hppa-hitachi-hiuxwe2"); break;
499 }
500 }
501 else if (CPU_IS_HP_MC68K (cpu))
502 puts ("m68k-hitachi-hiuxwe2");
503 else puts ("unknown-hitachi-hiuxwe2");
504 exit (0);
505 }
506 EOF
507 ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
508 rm -f dummy.c dummy
509 echo unknown-hitachi-hiuxwe2
510 exit 0 ;;
511 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
512 echo hppa1.1-hp-bsd
513 exit 0 ;;
514 9000/8??:4.3bsd:*:*)
515 echo hppa1.0-hp-bsd
516 exit 0 ;;
517 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
518 echo hppa1.1-hp-osf
519 exit 0 ;;
520 hp8??:OSF1:*:*)
521 echo hppa1.0-hp-osf
522 exit 0 ;;
523 i?86:OSF1:*:*)
524 if [ -x /usr/sbin/sysversion ] ; then
525 echo ${UNAME_MACHINE}-pc-osf1mk
526 else
527 echo ${UNAME_MACHINE}-pc-osf1
528 fi
529 exit 0 ;;
530 parisc*:Lites*:*:*)
531 echo hppa1.1-hp-lites
532 exit 0 ;;
533 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
534 echo c1-convex-bsd
535 exit 0 ;;
536 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
537 if getsysinfo -f scalar_acc
538 then echo c32-convex-bsd
539 else echo c2-convex-bsd
540 fi
541 exit 0 ;;
542 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
543 echo c34-convex-bsd
544 exit 0 ;;
545 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
546 echo c38-convex-bsd
547 exit 0 ;;
548 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
549 echo c4-convex-bsd
550 exit 0 ;;
551 CRAY*X-MP:*:*:*)
552 echo xmp-cray-unicos
553 exit 0 ;;
554 CRAY*Y-MP:*:*:*)
555 echo ymp-cray-unicos${UNAME_RELEASE}
556 exit 0 ;;
557 CRAY*[A-Z]90:*:*:*)
558 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
559 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
560 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
561 exit 0 ;;
562 CRAY*TS:*:*:*)
563 echo t90-cray-unicos${UNAME_RELEASE}
564 exit 0 ;;
565 CRAY-2:*:*:*)
566 echo cray2-cray-unicos
567 exit 0 ;;
568 F300:UNIX_System_V:*:*)
569 FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
570 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
571 echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
572 exit 0 ;;
573 F301:UNIX_System_V:*:*)
574 echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
575 exit 0 ;;
576 hp3[0-9][05]:NetBSD:*:*)
577 echo m68k-hp-netbsd${UNAME_RELEASE}
578 exit 0 ;;
579 hp3[0-9][05]:OpenBSD:*:*)
580 echo m68k-hp-openbsd${UNAME_RELEASE}
581 exit 0 ;;
582 i?86:BSD/386:*:* | *:BSD/OS:*:*)
583 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
584 exit 0 ;;
585 *:FreeBSD:*:*)
586 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
587 exit 0 ;;
588 *:NetBSD:*:*)
589 echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
590 exit 0 ;;
591 *:OpenBSD:*:*)
592 echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
593 exit 0 ;;
594 i*:CYGWIN*:*)
595 echo i386-pc-cygwin32
596 exit 0 ;;
597 i*:MINGW*:*)
598 echo i386-pc-mingw32
599 exit 0 ;;
600 p*:CYGWIN*:*)
601 echo powerpcle-unknown-cygwin32
602 exit 0 ;;
603 prep*:SunOS:5.*:*)
604 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
605 exit 0 ;;
606 *:GNU:*:*)
607 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
608 exit 0 ;;
609 *:Linux:*:*)
610 # The BFD linker knows what the default object file format is, so
611 # first see if it will tell us.
612 ld_help_string=`ld --help 2>&1`
613 ld_supported_emulations=`echo $ld_help_string \
614 | sed -ne '/supported emulations:/!d
615 s/[ ][ ]*/ /g
616 s/.*supported emulations: *//
617 s/ .*//
618 p'`
619 case "$ld_supported_emulations" in
620 i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
621 i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
622 sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
623 m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
624 elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
625 esac
626
627 if test "${UNAME_MACHINE}" = "alpha" ; then
628 sed 's/^ //' <<EOF >dummy.s
629 .globl main
630 .ent main
631 main:
632 .frame \$30,0,\$26,0
633 .prologue 0
634 .long 0x47e03d80 # implver $0
635 lda \$2,259
636 .long 0x47e20c21 # amask $2,$1
637 srl \$1,8,\$2
638 sll \$2,2,\$2
639 sll \$0,3,\$0
640 addl \$1,\$0,\$0
641 addl \$2,\$0,\$0
642 ret \$31,(\$26),1
643 .end main
644 EOF
645 LIBC=""
646 ${CC-cc} dummy.s -o dummy 2>/dev/null
647 if test "$?" = 0 ; then
648 ./dummy
649 case "$?" in
650 7)
651 UNAME_MACHINE="alpha"
652 ;;
653 15)
654 UNAME_MACHINE="alphaev5"
655 ;;
656 14)
657 UNAME_MACHINE="alphaev56"
658 ;;
659 10)
660 UNAME_MACHINE="alphapca56"
661 ;;
662 16)
663 UNAME_MACHINE="alphaev6"
664 ;;
665 esac
666
667 objdump --private-headers dummy | \
668 grep ld.so.1 > /dev/null
669 if test "$?" = 0 ; then
670 LIBC="libc1"
671 fi
672 fi
673 rm -f dummy.s dummy
674 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
675 elif test "${UNAME_MACHINE}" = "mips" ; then
676 cat >dummy.c <<EOF
677 main(argc, argv)
678 int argc;
679 char *argv[];
680 {
681 #ifdef __MIPSEB__
682 printf ("%s-unknown-linux-gnu\n", argv[1]);
683 #endif
684 #ifdef __MIPSEL__
685 printf ("%sel-unknown-linux-gnu\n", argv[1]);
686 #endif
687 return 0;
688 }
689 EOF
690 ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
691 rm -f dummy.c dummy
692 else
693 # Either a pre-BFD a.out linker (linux-gnuoldld)
694 # or one that does not give us useful --help.
695 # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
696 # If ld does not provide *any* "supported emulations:"
697 # that means it is gnuoldld.
698 echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
699 test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
700
701 case "${UNAME_MACHINE}" in
702 i?86)
703 VENDOR=pc;
704 ;;
705 *)
706 VENDOR=unknown;
707 ;;
708 esac
709 # Determine whether the default compiler is a.out or elf
710 cat >dummy.c <<EOF
711 #include <features.h>
712 main(argc, argv)
713 int argc;
714 char *argv[];
715 {
716 #ifdef __ELF__
717 # ifdef __GLIBC__
718 # if __GLIBC__ >= 2
719 printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
720 # else
721 printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
722 # endif
723 # else
724 printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
725 # endif
726 #else
727 printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
728 #endif
729 return 0;
730 }
731 EOF
732 ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
733 rm -f dummy.c dummy
734 fi ;;
735 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
736 # are messed up and put the nodename in both sysname and nodename.
737 i?86:DYNIX/ptx:4*:*)
738 echo i386-sequent-sysv4
739 exit 0 ;;
740 i?86:UNIX_SV:4.2MP:2.*)
741 # Unixware is an offshoot of SVR4, but it has its own version
742 # number series starting with 2...
743 # I am not positive that other SVR4 systems won't match this,
744 # I just have to hope. -- rms.
745 # Use sysv4.2uw... so that sysv4* matches it.
746 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
747 exit 0 ;;
748 i?86:*:4.*:* | i?86:SYSTEM_V:4.*:* | i?86:UNIX_SV:4.*:*)
749 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
750 echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
751 else
752 echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
753 fi
754 exit 0 ;;
755 i?86:*:3.2:*)
756 if test -f /usr/options/cb.name; then
757 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
758 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
759 elif /bin/uname -X 2>/dev/null >/dev/null ; then
760 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
761 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
762 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
763 && UNAME_MACHINE=i586
764 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
765 else
766 echo ${UNAME_MACHINE}-pc-sysv32
767 fi
768 exit 0 ;;
769 pc:*:*:*)
770 # uname -m prints for DJGPP always 'pc', but it prints nothing about
771 # the processor, so we play safe by assuming i386.
772 echo i386-pc-msdosdjgpp
773 exit 0 ;;
774 Intel:Mach:3*:*)
775 echo i386-pc-mach3
776 exit 0 ;;
777 paragon:*:*:*)
778 echo i860-intel-osf1
779 exit 0 ;;
780 i860:*:4.*:*) # i860-SVR4
781 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
782 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
783 else # Add other i860-SVR4 vendors below as they are discovered.
784 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
785 fi
786 exit 0 ;;
787 mini*:CTIX:SYS*5:*)
788 # "miniframe"
789 echo m68010-convergent-sysv
790 exit 0 ;;
791 M68*:*:R3V[567]*:*)
792 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
793 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
794 OS_REL=''
795 test -r /etc/.relid \
796 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
797 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
798 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
799 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
800 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
801 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
802 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
803 && echo i486-ncr-sysv4 && exit 0 ;;
804 mc68030:UNIX_System_V:4.*:*)
805 echo m68k-atari-sysv4
806 exit 0 ;;
807 m68*:LynxOS:2.*:*)
808 echo m68k-unknown-lynxos${UNAME_RELEASE}
809 exit 0 ;;
810 i?86:LynxOS:2.*:*)
811 echo i386-pc-lynxos${UNAME_RELEASE}
812 exit 0 ;;
813 TSUNAMI:LynxOS:2.*:*)
814 echo sparc-unknown-lynxos${UNAME_RELEASE}
815 exit 0 ;;
816 rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
817 echo rs6000-unknown-lynxos${UNAME_RELEASE}
818 exit 0 ;;
819 *:LynxOS:*:*)
820 echo ${UNAME_MACHINE}-unknown-lynxos${UNAME_RELEASE}
821 exit 0 ;;
822 SM[BE]S:UNIX_SV:*:*)
823 echo mips-dde-sysv${UNAME_RELEASE}
824 exit 0 ;;
825 RM*:SINIX-*:*:* | RM*:ReliantUNIX-*:*:*)
826 echo mips-sni-sysv4
827 exit 0 ;;
828 *:SINIX-*:*:*)
829 if uname -p 2>/dev/null >/dev/null ; then
830 UNAME_MACHINE=`(uname -p) 2>/dev/null`
831 echo ${UNAME_MACHINE}-sni-sysv4
832 else
833 echo ns32k-sni-sysv
834 fi
835 exit 0 ;;
836 PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
837 # says <Richard.M.Bartel@ccMail.Census.GOV>
838 echo i586-unisys-sysv4
839 exit 0 ;;
840 *:UNIX_System_V:4*:FTX*)
841 # From Gerald Hewes <hewes@openmarket.com>.
842 # How about differentiating between stratus architectures? -djm
843 echo hppa1.1-stratus-sysv4
844 exit 0 ;;
845 *:*:*:FTX*)
846 # From seanf@swdc.stratus.com.
847 echo i860-stratus-sysv4
848 exit 0 ;;
849 mc68*:A/UX:*:*)
850 echo m68k-apple-aux${UNAME_RELEASE}
851 exit 0 ;;
852 news*:NEWS-OS:*:6*)
853 echo mips-sony-newsos6
854 exit 0 ;;
855 R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
856 if [ -d /usr/nec ]; then
857 echo mips-nec-sysv${UNAME_RELEASE}
858 else
859 echo mips-unknown-sysv${UNAME_RELEASE}
860 fi
861 exit 0 ;;
862 PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
863 # says <Richard.M.Bartel@ccMail.Census.GOV>
864 echo i586-unisys-sysv4
865 exit 0 ;;
866 esac
867
868 #echo '(No uname command or uname output not recognized.)' 1>&2
869 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
870
871 cat >dummy.c <<EOF
872 #ifdef _SEQUENT_
873 # include <sys/types.h>
874 # include <sys/utsname.h>
875 #endif
876 main ()
877 {
878 #if defined (sony)
879 #if defined (MIPSEB)
880 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
881 I don't know.... */
882 printf ("mips-sony-bsd\n"); exit (0);
883 #else
884 #include <sys/param.h>
885 printf ("m68k-sony-newsos%s\n",
886 #ifdef NEWSOS4
887 "4"
888 #else
889 ""
890 #endif
891 ); exit (0);
892 #endif
893 #endif
894
895 #if defined (__arm) && defined (__acorn) && defined (__unix)
896 printf ("arm-acorn-riscix\n"); exit (0);
897 #endif
898
899 #if defined (hp9000) && !defined (hpux)
900 printf ("m68k-hp-bsd\n"); exit (0);
901 #endif
902
903 #if defined (hp300) && !defined (hpux)
904 printf ("m68k-hp-bsd\n"); exit (0);
905 #endif
906
907 #if defined (NeXT)
908 #if !defined (__ARCHITECTURE__)
909 #define __ARCHITECTURE__ "m68k"
910 #endif
911 int version;
912 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
913 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
914 exit (0);
915 #endif
916
917 #if defined (MULTIMAX) || defined (n16)
918 #if defined (UMAXV)
919 printf ("ns32k-encore-sysv\n"); exit (0);
920 #else
921 #if defined (CMU)
922 printf ("ns32k-encore-mach\n"); exit (0);
923 #else
924 printf ("ns32k-encore-bsd\n"); exit (0);
925 #endif
926 #endif
927 #endif
928
929 #if defined (__386BSD__)
930 printf ("i386-pc-bsd\n"); exit (0);
931 #endif
932
933 #if defined (sequent)
934 #if defined (i386)
935 printf ("i386-sequent-dynix\n"); exit (0);
936 #endif
937 #if defined (ns32000)
938 printf ("ns32k-sequent-dynix\n"); exit (0);
939 #endif
940 #endif
941
942 #if defined (_SEQUENT_)
943 struct utsname un;
944
945 uname(&un);
946
947 if (strncmp(un.version, "V2", 2) == 0) {
948 printf ("i386-sequent-ptx2\n"); exit (0);
949 }
950 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
951 printf ("i386-sequent-ptx1\n"); exit (0);
952 }
953 printf ("i386-sequent-ptx\n"); exit (0);
954
955 #endif
956
957 #if defined (vax)
958 #if !defined (ultrix)
959 printf ("vax-dec-bsd\n"); exit (0);
960 #else
961 printf ("vax-dec-ultrix\n"); exit (0);
962 #endif
963 #endif
964
965 #if defined (alliant) && defined (i860)
966 printf ("i860-alliant-bsd\n"); exit (0);
967 #endif
968
969 /* Begin cases added for Bash */
970 #if defined (tahoe)
971 printf ("tahoe-cci-bsd\n"); exit (0);
972 #endif
973
974 #if defined (nec_ews)
975 # if defined (SYSTYPE_SYSV)
976 printf ("ews4800-nec-sysv4\n"); exit 0;
977 # else
978 printf ("ews4800-nec-bsd\n"); exit (0);
979 # endif
980 #endif
981
982 #if defined (sony)
983 # if defined (SYSTYPE_SYSV)
984 printf ("mips-sony-sysv4\n"); exit 0;
985 # else
986 printf ("mips-sony-bsd\n"); exit (0);
987 # endif
988 #endif
989
990 #if defined (ardent)
991 printf ("titan-ardent-bsd\n"); exit (0);
992 #endif
993
994 #if defined (stardent)
995 printf ("stardent-stardent-sysv\n"); exit (0);
996 #endif
997
998 #if defined (ibm032)
999 printf ("ibmrt-ibm-bsd4.3\n"); exit (0);
1000 #endif
1001
1002 #if defined (sequent) && defined (i386)
1003 printf ("i386-sequent-bsd\n"); exit (0);
1004 #endif
1005
1006 #if defined (qnx) && defined (i386)
1007 printf ("i386-pc-qnx\n"); exit (0);
1008 #endif
1009
1010 #if defined (gould)
1011 printf ("gould-gould-bsd\n"); exit (0);
1012 #endif
1013
1014 #if defined (unixpc)
1015 printf ("unixpc-att-sysv\n"); exit (0);
1016 #endif
1017
1018 #if defined (att386)
1019 printf ("i386-att-sysv3\n"); exit (0);
1020 #endif
1021
1022 #if defined (__m88k) && defined (__UMAXV__)
1023 printf ("m88k-encore-sysv3\n"); exit (0);
1024 #endif
1025
1026 #if defined (drs6000)
1027 printf ("drs6000-icl-sysv4.2\n"); exit (0);
1028 #endif
1029
1030 #if defined (clipper)
1031 printf ("clipper-orion-bsd\n"); exit (0);
1032 #endif
1033
1034 #if defined (is68k)
1035 printf ("m68k-isi-bsd\n"); exit (0);
1036 #endif
1037
1038 #if defined (luna88k)
1039 printf ("luna88k-omron-bsd\n"); exit (0);
1040 #endif
1041
1042 #if defined (butterfly) && defined (BFLY1)
1043 printf ("butterfly-bbn-mach\n"); exit (0);
1044 #endif
1045
1046 #if defined (tower32)
1047 printf ("tower32-ncr-sysv4\n"); exit (0);
1048 #endif
1049
1050 #if defined (MagicStation)
1051 printf ("magicstation-unknown-bsd\n"); exit (0);
1052 #endif
1053
1054 #if defined (scs)
1055 printf ("symmetric-scs-bsd4.2\n"); exit (0);
1056 #endif
1057
1058 #if defined (tandem)
1059 printf ("tandem-tandem-sysv\n"); exit (0);
1060 #endif
1061
1062 #if defined (cadmus)
1063 printf ("cadmus-pcs-sysv\n"); exit (0);
1064 #endif
1065
1066 #if defined (masscomp)
1067 printf ("masscomp-masscomp-sysv3\n"); exit (0);
1068 #endif
1069
1070 #if defined (hbullx20)
1071 printf ("hbullx20-bull-sysv3\n"); exit (0);
1072 #endif
1073
1074 /* End cases added for Bash */
1075
1076 exit (1);
1077 }
1078 EOF
1079
1080 ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
1081 rm -f dummy.c dummy
1082
1083 # Apollos put the system type in the environment.
1084
1085 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1086
1087 # Convex versions that predate uname can use getsysinfo(1)
1088
1089 if [ -x /usr/convex/getsysinfo ]
1090 then
1091 case `getsysinfo -f cpu_type` in
1092 c1*)
1093 echo c1-convex-bsd
1094 exit 0 ;;
1095 c2*)
1096 if getsysinfo -f scalar_acc
1097 then echo c32-convex-bsd
1098 else echo c2-convex-bsd
1099 fi
1100 exit 0 ;;
1101 c34*)
1102 echo c34-convex-bsd
1103 exit 0 ;;
1104 c38*)
1105 echo c38-convex-bsd
1106 exit 0 ;;
1107 c4*)
1108 echo c4-convex-bsd
1109 exit 0 ;;
1110 esac
1111 fi
1112
1113 # Begin cases added for Bash
1114 case "$UNAME" in
1115 uts) echo uts-amdahl-sysv${UNAME_RELEASE}; exit 0 ;;
1116 esac
1117
1118 if [ -d /usr/amiga ]; then
1119 echo m68k-cbm-sysv${UNAME_RELEASE}; exit 0;
1120 fi
1121
1122 if [ -f /bin/fxc.info ]; then
1123 echo fxc-alliant-concentrix
1124 exit 0
1125 fi
1126 # end cases added for Bash
1127
1128 #echo '(Unable to guess system type)' 1>&2
1129
1130 exit 1
This page took 0.061978 seconds and 4 git commands to generate.