* config.guess: Import from subversions.gnu.org (revision 1.181).
[deliverable/binutils-gdb.git] / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 # Free Software Foundation, Inc.
5
6 timestamp='2001-01-17'
7
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 #
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
26
27 # Written by Per Bothner <bothner@cygnus.com>.
28 # Please send patches to <config-patches@gnu.org>.
29 #
30 # This script attempts to guess a canonical system name similar to
31 # config.sub. If it succeeds, it prints the system name on stdout, and
32 # exits with 0. Otherwise, it exits with 1.
33 #
34 # The plan is that this can be called by configure scripts if you
35 # don't specify an explicit build system type.
36 #
37 # Only a few systems have been added to this list; please add others
38 # (but try to keep the structure clean).
39 #
40
41 me=`echo "$0" | sed -e 's,.*/,,'`
42
43 usage="\
44 Usage: $0 [OPTION]
45
46 Output the configuration name of the system \`$me' is run on.
47
48 Operation modes:
49 -h, --help print this help, then exit
50 -t, --time-stamp print date of last modification, then exit
51 -v, --version print version number, then exit
52
53 Report bugs and patches to <config-patches@gnu.org>."
54
55 version="\
56 GNU config.guess ($timestamp)
57
58 Originally written by Per Bothner.
59 Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
60 Free Software Foundation, Inc.
61
62 This is free software; see the source for copying conditions. There is NO
63 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64
65 help="
66 Try \`$me --help' for more information."
67
68 # Parse command line
69 while test $# -gt 0 ; do
70 case $1 in
71 --time-stamp | --time* | -t )
72 echo "$timestamp" ; exit 0 ;;
73 --version | -v )
74 echo "$version" ; exit 0 ;;
75 --help | --h* | -h )
76 echo "$usage"; exit 0 ;;
77 -- ) # Stop option processing
78 shift; break ;;
79 - ) # Use stdin as input.
80 break ;;
81 -* )
82 echo "$me: invalid option $1$help" >&2
83 exit 1 ;;
84 * )
85 break ;;
86 esac
87 done
88
89 if test $# != 0; then
90 echo "$me: too many arguments$help" >&2
91 exit 1
92 fi
93
94
95 dummy=dummy-$$
96 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
97
98 # CC_FOR_BUILD -- compiler used by this script.
99 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
100 # use `HOST_CC' if defined, but it is deprecated.
101
102 case $CC_FOR_BUILD,$HOST_CC,$CC in
103 ,,) echo "int dummy(){}" > $dummy.c
104 for c in cc gcc c89 ; do
105 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
106 if test $? = 0 ; then
107 CC_FOR_BUILD="$c"; break
108 fi
109 done
110 rm -f $dummy.c $dummy.o $dummy.rel
111 if test x"$CC_FOR_BUILD" = x ; then
112 CC_FOR_BUILD=no_compiler_found
113 fi
114 ;;
115 ,,*) CC_FOR_BUILD=$CC ;;
116 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
117 esac
118
119 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
120 # (ghazi@noc.rutgers.edu 8/24/94.)
121 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
122 PATH=$PATH:/.attbin ; export PATH
123 fi
124
125 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
126 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
127 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
128 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
129
130 # Note: order is significant - the case branches are not exclusive.
131
132 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
133 *:NetBSD:*:*)
134 # Netbsd (nbsd) targets should (where applicable) match one or
135 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
136 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
137 # switched to ELF, *-*-netbsd* would select the old
138 # object file format. This provides both forward
139 # compatibility and a consistent mechanism for selecting the
140 # object file format.
141 # Determine the machine/vendor (is the vendor relevant).
142 case "${UNAME_MACHINE}" in
143 amiga) machine=m68k-unknown ;;
144 arm32) machine=arm-unknown ;;
145 atari*) machine=m68k-atari ;;
146 sun3*) machine=m68k-sun ;;
147 mac68k) machine=m68k-apple ;;
148 macppc) machine=powerpc-apple ;;
149 hp3[0-9][05]) machine=m68k-hp ;;
150 ibmrt|romp-ibm) machine=romp-ibm ;;
151 *) machine=${UNAME_MACHINE}-unknown ;;
152 esac
153 # The Operating System including object format, if it has switched
154 # to ELF recently, or will in the future.
155 case "${UNAME_MACHINE}" in
156 i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
157 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
158 | grep __ELF__ >/dev/null
159 then
160 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
161 # Return netbsd for either. FIX?
162 os=netbsd
163 else
164 os=netbsdelf
165 fi
166 ;;
167 *)
168 os=netbsd
169 ;;
170 esac
171 # The OS release
172 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
173 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
174 # contains redundant information, the shorter form:
175 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
176 echo "${machine}-${os}${release}"
177 exit 0 ;;
178 alpha:OSF1:*:*)
179 if test $UNAME_RELEASE = "V4.0"; then
180 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
181 fi
182 # A Vn.n version is a released version.
183 # A Tn.n version is a released field test version.
184 # A Xn.n version is an unreleased experimental baselevel.
185 # 1.2 uses "1.2" for uname -r.
186 cat <<EOF >$dummy.s
187 .data
188 \$Lformat:
189 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
190
191 .text
192 .globl main
193 .align 4
194 .ent main
195 main:
196 .frame \$30,16,\$26,0
197 ldgp \$29,0(\$27)
198 .prologue 1
199 .long 0x47e03d80 # implver \$0
200 lda \$2,-1
201 .long 0x47e20c21 # amask \$2,\$1
202 lda \$16,\$Lformat
203 mov \$0,\$17
204 not \$1,\$18
205 jsr \$26,printf
206 ldgp \$29,0(\$26)
207 mov 0,\$16
208 jsr \$26,exit
209 .end main
210 EOF
211 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
212 if test "$?" = 0 ; then
213 case `./$dummy` in
214 0-0)
215 UNAME_MACHINE="alpha"
216 ;;
217 1-0)
218 UNAME_MACHINE="alphaev5"
219 ;;
220 1-1)
221 UNAME_MACHINE="alphaev56"
222 ;;
223 1-101)
224 UNAME_MACHINE="alphapca56"
225 ;;
226 2-303)
227 UNAME_MACHINE="alphaev6"
228 ;;
229 2-307)
230 UNAME_MACHINE="alphaev67"
231 ;;
232 esac
233 fi
234 rm -f $dummy.s $dummy
235 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
236 exit 0 ;;
237 Alpha\ *:Windows_NT*:*)
238 # How do we know it's Interix rather than the generic POSIX subsystem?
239 # Should we change UNAME_MACHINE based on the output of uname instead
240 # of the specific Alpha model?
241 echo alpha-pc-interix
242 exit 0 ;;
243 21064:Windows_NT:50:3)
244 echo alpha-dec-winnt3.5
245 exit 0 ;;
246 Amiga*:UNIX_System_V:4.0:*)
247 echo m68k-unknown-sysv4
248 exit 0;;
249 amiga:OpenBSD:*:*)
250 echo m68k-unknown-openbsd${UNAME_RELEASE}
251 exit 0 ;;
252 *:[Aa]miga[Oo][Ss]:*:*)
253 echo ${UNAME_MACHINE}-unknown-amigaos
254 exit 0 ;;
255 arc64:OpenBSD:*:*)
256 echo mips64el-unknown-openbsd${UNAME_RELEASE}
257 exit 0 ;;
258 arc:OpenBSD:*:*)
259 echo mipsel-unknown-openbsd${UNAME_RELEASE}
260 exit 0 ;;
261 hkmips:OpenBSD:*:*)
262 echo mips-unknown-openbsd${UNAME_RELEASE}
263 exit 0 ;;
264 pmax:OpenBSD:*:*)
265 echo mipsel-unknown-openbsd${UNAME_RELEASE}
266 exit 0 ;;
267 sgi:OpenBSD:*:*)
268 echo mips-unknown-openbsd${UNAME_RELEASE}
269 exit 0 ;;
270 wgrisc:OpenBSD:*:*)
271 echo mipsel-unknown-openbsd${UNAME_RELEASE}
272 exit 0 ;;
273 *:OS/390:*:*)
274 echo i370-ibm-openedition
275 exit 0 ;;
276 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
277 echo arm-acorn-riscix${UNAME_RELEASE}
278 exit 0;;
279 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
280 echo hppa1.1-hitachi-hiuxmpp
281 exit 0;;
282 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
283 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
284 if test "`(/bin/universe) 2>/dev/null`" = att ; then
285 echo pyramid-pyramid-sysv3
286 else
287 echo pyramid-pyramid-bsd
288 fi
289 exit 0 ;;
290 NILE*:*:*:dcosx)
291 echo pyramid-pyramid-svr4
292 exit 0 ;;
293 sun4H:SunOS:5.*:*)
294 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
295 exit 0 ;;
296 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
297 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
298 exit 0 ;;
299 i86pc:SunOS:5.*:*)
300 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
301 exit 0 ;;
302 sun4*:SunOS:6*:*)
303 # According to config.sub, this is the proper way to canonicalize
304 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
305 # it's likely to be more like Solaris than SunOS4.
306 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
307 exit 0 ;;
308 sun4*:SunOS:*:*)
309 case "`/usr/bin/arch -k`" in
310 Series*|S4*)
311 UNAME_RELEASE=`uname -v`
312 ;;
313 esac
314 # Japanese Language versions have a version number like `4.1.3-JL'.
315 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
316 exit 0 ;;
317 sun3*:SunOS:*:*)
318 echo m68k-sun-sunos${UNAME_RELEASE}
319 exit 0 ;;
320 sun*:*:4.2BSD:*)
321 UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
322 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
323 case "`/bin/arch`" in
324 sun3)
325 echo m68k-sun-sunos${UNAME_RELEASE}
326 ;;
327 sun4)
328 echo sparc-sun-sunos${UNAME_RELEASE}
329 ;;
330 esac
331 exit 0 ;;
332 aushp:SunOS:*:*)
333 echo sparc-auspex-sunos${UNAME_RELEASE}
334 exit 0 ;;
335 atari*:OpenBSD:*:*)
336 echo m68k-unknown-openbsd${UNAME_RELEASE}
337 exit 0 ;;
338 # The situation for MiNT is a little confusing. The machine name
339 # can be virtually everything (everything which is not
340 # "atarist" or "atariste" at least should have a processor
341 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
342 # to the lowercase version "mint" (or "freemint"). Finally
343 # the system name "TOS" denotes a system which is actually not
344 # MiNT. But MiNT is downward compatible to TOS, so this should
345 # be no problem.
346 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
347 echo m68k-atari-mint${UNAME_RELEASE}
348 exit 0 ;;
349 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
350 echo m68k-atari-mint${UNAME_RELEASE}
351 exit 0 ;;
352 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
353 echo m68k-atari-mint${UNAME_RELEASE}
354 exit 0 ;;
355 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
356 echo m68k-milan-mint${UNAME_RELEASE}
357 exit 0 ;;
358 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
359 echo m68k-hades-mint${UNAME_RELEASE}
360 exit 0 ;;
361 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
362 echo m68k-unknown-mint${UNAME_RELEASE}
363 exit 0 ;;
364 sun3*:OpenBSD:*:*)
365 echo m68k-unknown-openbsd${UNAME_RELEASE}
366 exit 0 ;;
367 mac68k:OpenBSD:*:*)
368 echo m68k-unknown-openbsd${UNAME_RELEASE}
369 exit 0 ;;
370 mvme68k:OpenBSD:*:*)
371 echo m68k-unknown-openbsd${UNAME_RELEASE}
372 exit 0 ;;
373 mvme88k:OpenBSD:*:*)
374 echo m88k-unknown-openbsd${UNAME_RELEASE}
375 exit 0 ;;
376 powerpc:machten:*:*)
377 echo powerpc-apple-machten${UNAME_RELEASE}
378 exit 0 ;;
379 RISC*:Mach:*:*)
380 echo mips-dec-mach_bsd4.3
381 exit 0 ;;
382 RISC*:ULTRIX:*:*)
383 echo mips-dec-ultrix${UNAME_RELEASE}
384 exit 0 ;;
385 VAX*:ULTRIX*:*:*)
386 echo vax-dec-ultrix${UNAME_RELEASE}
387 exit 0 ;;
388 2020:CLIX:*:* | 2430:CLIX:*:*)
389 echo clipper-intergraph-clix${UNAME_RELEASE}
390 exit 0 ;;
391 mips:*:*:UMIPS | mips:*:*:RISCos)
392 sed 's/^ //' << EOF >$dummy.c
393 #ifdef __cplusplus
394 #include <stdio.h> /* for printf() prototype */
395 int main (int argc, char *argv[]) {
396 #else
397 int main (argc, argv) int argc; char *argv[]; {
398 #endif
399 #if defined (host_mips) && defined (MIPSEB)
400 #if defined (SYSTYPE_SYSV)
401 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
402 #endif
403 #if defined (SYSTYPE_SVR4)
404 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
405 #endif
406 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
407 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
408 #endif
409 #endif
410 exit (-1);
411 }
412 EOF
413 $CC_FOR_BUILD $dummy.c -o $dummy \
414 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
415 && rm $dummy.c $dummy && exit 0
416 rm -f $dummy.c $dummy
417 echo mips-mips-riscos${UNAME_RELEASE}
418 exit 0 ;;
419 Night_Hawk:Power_UNIX:*:*)
420 echo powerpc-harris-powerunix
421 exit 0 ;;
422 m88k:CX/UX:7*:*)
423 echo m88k-harris-cxux7
424 exit 0 ;;
425 m88k:*:4*:R4*)
426 echo m88k-motorola-sysv4
427 exit 0 ;;
428 m88k:*:3*:R3*)
429 echo m88k-motorola-sysv3
430 exit 0 ;;
431 AViiON:dgux:*:*)
432 # DG/UX returns AViiON for all architectures
433 UNAME_PROCESSOR=`/usr/bin/uname -p`
434 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
435 then
436 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
437 [ ${TARGET_BINARY_INTERFACE}x = x ]
438 then
439 echo m88k-dg-dgux${UNAME_RELEASE}
440 else
441 echo m88k-dg-dguxbcs${UNAME_RELEASE}
442 fi
443 else
444 echo i586-dg-dgux${UNAME_RELEASE}
445 fi
446 exit 0 ;;
447 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
448 echo m88k-dolphin-sysv3
449 exit 0 ;;
450 M88*:*:R3*:*)
451 # Delta 88k system running SVR3
452 echo m88k-motorola-sysv3
453 exit 0 ;;
454 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
455 echo m88k-tektronix-sysv3
456 exit 0 ;;
457 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
458 echo m68k-tektronix-bsd
459 exit 0 ;;
460 *:IRIX*:*:*)
461 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
462 exit 0 ;;
463 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
464 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
465 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
466 i?86:AIX:*:*)
467 echo i386-ibm-aix
468 exit 0 ;;
469 *:AIX:2:3)
470 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
471 sed 's/^ //' << EOF >$dummy.c
472 #include <sys/systemcfg.h>
473
474 main()
475 {
476 if (!__power_pc())
477 exit(1);
478 puts("powerpc-ibm-aix3.2.5");
479 exit(0);
480 }
481 EOF
482 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
483 rm -f $dummy.c $dummy
484 echo rs6000-ibm-aix3.2.5
485 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
486 echo rs6000-ibm-aix3.2.4
487 else
488 echo rs6000-ibm-aix3.2
489 fi
490 exit 0 ;;
491 *:AIX:*:4)
492 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
493 if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
494 IBM_ARCH=rs6000
495 else
496 IBM_ARCH=powerpc
497 fi
498 if [ -x /usr/bin/oslevel ] ; then
499 IBM_REV=`/usr/bin/oslevel`
500 else
501 IBM_REV=4.${UNAME_RELEASE}
502 fi
503 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
504 exit 0 ;;
505 *:AIX:*:5)
506 case "`lsattr -El proc0 -a type -F value`" in
507 PowerPC*) IBM_ARCH=powerpc
508 IBM_MANUF=ibm ;;
509 Itanium) IBM_ARCH=ia64
510 IBM_MANUF=unknown ;;
511 POWER*) IBM_ARCH=power
512 IBM_MANUF=ibm ;;
513 *) IBM_ARCH=powerpc
514 IBM_MANUF=ibm ;;
515 esac
516 echo ${IBM_ARCH}-${IBM_MANUF}-aix${UNAME_VERSION}.${UNAME_RELEASE}
517 exit 0 ;;
518 *:AIX:*:*)
519 echo rs6000-ibm-aix
520 exit 0 ;;
521 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
522 echo romp-ibm-bsd4.4
523 exit 0 ;;
524 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
525 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
526 exit 0 ;; # report: romp-ibm BSD 4.3
527 *:BOSX:*:*)
528 echo rs6000-bull-bosx
529 exit 0 ;;
530 DPX/2?00:B.O.S.:*:*)
531 echo m68k-bull-sysv3
532 exit 0 ;;
533 9000/[34]??:4.3bsd:1.*:*)
534 echo m68k-hp-bsd
535 exit 0 ;;
536 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
537 echo m68k-hp-bsd4.4
538 exit 0 ;;
539 9000/[34678]??:HP-UX:*:*)
540 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
541 case "${UNAME_MACHINE}" in
542 9000/31? ) HP_ARCH=m68000 ;;
543 9000/[34]?? ) HP_ARCH=m68k ;;
544 9000/[678][0-9][0-9])
545 case "${HPUX_REV}" in
546 11.[0-9][0-9])
547 if [ -x /usr/bin/getconf ]; then
548 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
549 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
550 case "${sc_cpu_version}" in
551 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
552 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
553 532) # CPU_PA_RISC2_0
554 case "${sc_kernel_bits}" in
555 32) HP_ARCH="hppa2.0n" ;;
556 64) HP_ARCH="hppa2.0w" ;;
557 esac ;;
558 esac
559 fi ;;
560 esac
561 if [ "${HP_ARCH}" = "" ]; then
562 sed 's/^ //' << EOF >$dummy.c
563
564 #define _HPUX_SOURCE
565 #include <stdlib.h>
566 #include <unistd.h>
567
568 int main ()
569 {
570 #if defined(_SC_KERNEL_BITS)
571 long bits = sysconf(_SC_KERNEL_BITS);
572 #endif
573 long cpu = sysconf (_SC_CPU_VERSION);
574
575 switch (cpu)
576 {
577 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
578 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
579 case CPU_PA_RISC2_0:
580 #if defined(_SC_KERNEL_BITS)
581 switch (bits)
582 {
583 case 64: puts ("hppa2.0w"); break;
584 case 32: puts ("hppa2.0n"); break;
585 default: puts ("hppa2.0"); break;
586 } break;
587 #else /* !defined(_SC_KERNEL_BITS) */
588 puts ("hppa2.0"); break;
589 #endif
590 default: puts ("hppa1.0"); break;
591 }
592 exit (0);
593 }
594 EOF
595 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
596 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
597 rm -f $dummy.c $dummy
598 fi ;;
599 esac
600 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
601 exit 0 ;;
602 ia64:HP-UX:*:*)
603 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
604 echo ia64-hp-hpux${HPUX_REV}
605 exit 0 ;;
606 3050*:HI-UX:*:*)
607 sed 's/^ //' << EOF >$dummy.c
608 #include <unistd.h>
609 int
610 main ()
611 {
612 long cpu = sysconf (_SC_CPU_VERSION);
613 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
614 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
615 results, however. */
616 if (CPU_IS_PA_RISC (cpu))
617 {
618 switch (cpu)
619 {
620 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
621 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
622 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
623 default: puts ("hppa-hitachi-hiuxwe2"); break;
624 }
625 }
626 else if (CPU_IS_HP_MC68K (cpu))
627 puts ("m68k-hitachi-hiuxwe2");
628 else puts ("unknown-hitachi-hiuxwe2");
629 exit (0);
630 }
631 EOF
632 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
633 rm -f $dummy.c $dummy
634 echo unknown-hitachi-hiuxwe2
635 exit 0 ;;
636 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
637 echo hppa1.1-hp-bsd
638 exit 0 ;;
639 9000/8??:4.3bsd:*:*)
640 echo hppa1.0-hp-bsd
641 exit 0 ;;
642 *9??*:MPE/iX:*:*)
643 echo hppa1.0-hp-mpeix
644 exit 0 ;;
645 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
646 echo hppa1.1-hp-osf
647 exit 0 ;;
648 hp8??:OSF1:*:*)
649 echo hppa1.0-hp-osf
650 exit 0 ;;
651 i?86:OSF1:*:*)
652 if [ -x /usr/sbin/sysversion ] ; then
653 echo ${UNAME_MACHINE}-unknown-osf1mk
654 else
655 echo ${UNAME_MACHINE}-unknown-osf1
656 fi
657 exit 0 ;;
658 parisc*:Lites*:*:*)
659 echo hppa1.1-hp-lites
660 exit 0 ;;
661 hppa*:OpenBSD:*:*)
662 echo hppa-unknown-openbsd
663 exit 0 ;;
664 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
665 echo c1-convex-bsd
666 exit 0 ;;
667 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
668 if getsysinfo -f scalar_acc
669 then echo c32-convex-bsd
670 else echo c2-convex-bsd
671 fi
672 exit 0 ;;
673 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
674 echo c34-convex-bsd
675 exit 0 ;;
676 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
677 echo c38-convex-bsd
678 exit 0 ;;
679 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
680 echo c4-convex-bsd
681 exit 0 ;;
682 CRAY*X-MP:*:*:*)
683 echo xmp-cray-unicos
684 exit 0 ;;
685 CRAY*Y-MP:*:*:*)
686 echo ymp-cray-unicos${UNAME_RELEASE}
687 exit 0 ;;
688 CRAY*[A-Z]90:*:*:*)
689 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
690 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
691 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
692 exit 0 ;;
693 CRAY*TS:*:*:*)
694 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
695 exit 0 ;;
696 CRAY*T3D:*:*:*)
697 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
698 exit 0 ;;
699 CRAY*T3E:*:*:*)
700 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701 exit 0 ;;
702 CRAY*SV1:*:*:*)
703 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
704 exit 0 ;;
705 CRAY-2:*:*:*)
706 echo cray2-cray-unicos
707 exit 0 ;;
708 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
709 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
710 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
711 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
712 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
713 exit 0 ;;
714 hp300:OpenBSD:*:*)
715 echo m68k-unknown-openbsd${UNAME_RELEASE}
716 exit 0 ;;
717 i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
718 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
719 exit 0 ;;
720 sparc*:BSD/OS:*:*)
721 echo sparc-unknown-bsdi${UNAME_RELEASE}
722 exit 0 ;;
723 *:BSD/OS:*:*)
724 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
725 exit 0 ;;
726 *:FreeBSD:*:*)
727 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
728 exit 0 ;;
729 *:OpenBSD:*:*)
730 echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
731 exit 0 ;;
732 i*:CYGWIN*:*)
733 echo ${UNAME_MACHINE}-pc-cygwin
734 exit 0 ;;
735 i*:MINGW*:*)
736 echo ${UNAME_MACHINE}-pc-mingw32
737 exit 0 ;;
738 i*:PW*:*)
739 echo ${UNAME_MACHINE}-pc-pw32
740 exit 0 ;;
741 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
742 # How do we know it's Interix rather than the generic POSIX subsystem?
743 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
744 # UNAME_MACHINE based on the output of uname instead of i386?
745 echo i386-pc-interix
746 exit 0 ;;
747 i*:UWIN*:*)
748 echo ${UNAME_MACHINE}-pc-uwin
749 exit 0 ;;
750 p*:CYGWIN*:*)
751 echo powerpcle-unknown-cygwin
752 exit 0 ;;
753 prep*:SunOS:5.*:*)
754 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
755 exit 0 ;;
756 *:GNU:*:*)
757 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
758 exit 0 ;;
759 i*86:Minix:*:*)
760 echo ${UNAME_MACHINE}-pc-minix
761 exit 0 ;;
762 *:Linux:*:*)
763
764 # The BFD linker knows what the default object file format is, so
765 # first see if it will tell us. cd to the root directory to prevent
766 # problems with other programs or directories called `ld' in the path.
767 ld_supported_emulations=`cd /; ld --help 2>&1 \
768 | sed -ne '/supported emulations:/!d
769 s/[ ][ ]*/ /g
770 s/.*supported emulations: *//
771 s/ .*//
772 p'`
773 case "$ld_supported_emulations" in
774 *ia64)
775 echo "${UNAME_MACHINE}-unknown-linux"
776 exit 0
777 ;;
778 i?86linux)
779 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
780 exit 0
781 ;;
782 elf_i?86)
783 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
784 ;;
785 i?86coff)
786 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
787 exit 0
788 ;;
789 sparclinux)
790 echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
791 exit 0
792 ;;
793 elf32_sparc)
794 echo "${UNAME_MACHINE}-unknown-linux-gnu"
795 exit 0
796 ;;
797 armlinux)
798 echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
799 exit 0
800 ;;
801 elf32arm*)
802 echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
803 exit 0
804 ;;
805 armelf_linux*)
806 echo "${UNAME_MACHINE}-unknown-linux-gnu"
807 exit 0
808 ;;
809 m68klinux)
810 echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
811 exit 0
812 ;;
813 elf32ppc | elf32ppclinux)
814 # Determine Lib Version
815 cat >$dummy.c <<EOF
816 #include <features.h>
817 #if defined(__GLIBC__)
818 extern char __libc_version[];
819 extern char __libc_release[];
820 #endif
821 main(argc, argv)
822 int argc;
823 char *argv[];
824 {
825 #if defined(__GLIBC__)
826 printf("%s %s\n", __libc_version, __libc_release);
827 #else
828 printf("unkown\n");
829 #endif
830 return 0;
831 }
832 EOF
833 LIBC=""
834 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
835 if test "$?" = 0 ; then
836 ./$dummy | grep 1\.99 > /dev/null
837 if test "$?" = 0 ; then
838 LIBC="libc1"
839 fi
840 fi
841 rm -f $dummy.c $dummy
842 echo powerpc-unknown-linux-gnu${LIBC}
843 exit 0
844 ;;
845 shelf_linux)
846 echo "${UNAME_MACHINE}-unknown-linux-gnu"
847 exit 0
848 ;;
849 esac
850
851 if test "${UNAME_MACHINE}" = "alpha" ; then
852 cat <<EOF >$dummy.s
853 .data
854 \$Lformat:
855 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
856
857 .text
858 .globl main
859 .align 4
860 .ent main
861 main:
862 .frame \$30,16,\$26,0
863 ldgp \$29,0(\$27)
864 .prologue 1
865 .long 0x47e03d80 # implver \$0
866 lda \$2,-1
867 .long 0x47e20c21 # amask \$2,\$1
868 lda \$16,\$Lformat
869 mov \$0,\$17
870 not \$1,\$18
871 jsr \$26,printf
872 ldgp \$29,0(\$26)
873 mov 0,\$16
874 jsr \$26,exit
875 .end main
876 EOF
877 LIBC=""
878 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
879 if test "$?" = 0 ; then
880 case `./$dummy` in
881 0-0)
882 UNAME_MACHINE="alpha"
883 ;;
884 1-0)
885 UNAME_MACHINE="alphaev5"
886 ;;
887 1-1)
888 UNAME_MACHINE="alphaev56"
889 ;;
890 1-101)
891 UNAME_MACHINE="alphapca56"
892 ;;
893 2-303)
894 UNAME_MACHINE="alphaev6"
895 ;;
896 2-307)
897 UNAME_MACHINE="alphaev67"
898 ;;
899 esac
900
901 objdump --private-headers $dummy | \
902 grep ld.so.1 > /dev/null
903 if test "$?" = 0 ; then
904 LIBC="libc1"
905 fi
906 fi
907 rm -f $dummy.s $dummy
908 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
909 elif test "${UNAME_MACHINE}" = "mips" ; then
910 cat >$dummy.c <<EOF
911 #ifdef __cplusplus
912 #include <stdio.h> /* for printf() prototype */
913 int main (int argc, char *argv[]) {
914 #else
915 int main (argc, argv) int argc; char *argv[]; {
916 #endif
917 #ifdef __MIPSEB__
918 printf ("%s-unknown-linux-gnu\n", argv[1]);
919 #endif
920 #ifdef __MIPSEL__
921 printf ("%sel-unknown-linux-gnu\n", argv[1]);
922 #endif
923 return 0;
924 }
925 EOF
926 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
927 rm -f $dummy.c $dummy
928 elif test "${UNAME_MACHINE}" = "s390"; then
929 echo s390-ibm-linux && exit 0
930 elif test "${UNAME_MACHINE}" = "x86_64"; then
931 echo x86_64-unknown-linux-gnu && exit 0
932 elif test "${UNAME_MACHINE}" = "parisc64" -o "${UNAME_MACHINE}" = "hppa64"; then
933 echo hppa64-unknown-linux-gnu && exit 0
934 elif test "${UNAME_MACHINE}" = "parisc" -o "${UNAME_MACHINE}" = "hppa"; then
935 # Look for CPU level
936 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
937 PA7*)
938 echo hppa1.1-unknown-linux-gnu
939 ;;
940 PA8*)
941 echo hppa2.0-unknown-linux-gnu
942 ;;
943 *)
944 echo hppa-unknown-linux-gnu
945 ;;
946 esac
947 exit 0
948 else
949 # Either a pre-BFD a.out linker (linux-gnuoldld)
950 # or one that does not give us useful --help.
951 # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
952 # If ld does not provide *any* "supported emulations:"
953 # that means it is gnuoldld.
954 test -z "$ld_supported_emulations" \
955 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
956
957 case "${UNAME_MACHINE}" in
958 i?86)
959 VENDOR=pc;
960 ;;
961 *)
962 VENDOR=unknown;
963 ;;
964 esac
965 # Determine whether the default compiler is a.out or elf
966 cat >$dummy.c <<EOF
967 #include <features.h>
968 #ifdef __cplusplus
969 #include <stdio.h> /* for printf() prototype */
970 int main (int argc, char *argv[]) {
971 #else
972 int main (argc, argv) int argc; char *argv[]; {
973 #endif
974 #ifdef __ELF__
975 # ifdef __GLIBC__
976 # if __GLIBC__ >= 2
977 printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
978 # else
979 printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
980 # endif
981 # else
982 printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
983 # endif
984 #else
985 printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
986 #endif
987 return 0;
988 }
989 EOF
990 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
991 rm -f $dummy.c $dummy
992 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
993 fi ;;
994 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
995 # are messed up and put the nodename in both sysname and nodename.
996 i?86:DYNIX/ptx:4*:*)
997 echo i386-sequent-sysv4
998 exit 0 ;;
999 i?86:UNIX_SV:4.2MP:2.*)
1000 # Unixware is an offshoot of SVR4, but it has its own version
1001 # number series starting with 2...
1002 # I am not positive that other SVR4 systems won't match this,
1003 # I just have to hope. -- rms.
1004 # Use sysv4.2uw... so that sysv4* matches it.
1005 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1006 exit 0 ;;
1007 i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
1008 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1009 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1010 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1011 else
1012 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1013 fi
1014 exit 0 ;;
1015 i?86:*:5:7*)
1016 # Fixed at (any) Pentium or better
1017 UNAME_MACHINE=i586
1018 if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
1019 echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
1020 else
1021 echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
1022 fi
1023 exit 0 ;;
1024 i?86:*:3.2:*)
1025 if test -f /usr/options/cb.name; then
1026 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1027 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1028 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1029 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
1030 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
1031 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
1032 && UNAME_MACHINE=i586
1033 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
1034 && UNAME_MACHINE=i686
1035 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
1036 && UNAME_MACHINE=i686
1037 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1038 else
1039 echo ${UNAME_MACHINE}-pc-sysv32
1040 fi
1041 exit 0 ;;
1042 i?86:*DOS:*:*)
1043 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1044 exit 0 ;;
1045 pc:*:*:*)
1046 # Left here for compatibility:
1047 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1048 # the processor, so we play safe by assuming i386.
1049 echo i386-pc-msdosdjgpp
1050 exit 0 ;;
1051 Intel:Mach:3*:*)
1052 echo i386-pc-mach3
1053 exit 0 ;;
1054 paragon:*:*:*)
1055 echo i860-intel-osf1
1056 exit 0 ;;
1057 i860:*:4.*:*) # i860-SVR4
1058 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1059 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1060 else # Add other i860-SVR4 vendors below as they are discovered.
1061 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1062 fi
1063 exit 0 ;;
1064 mini*:CTIX:SYS*5:*)
1065 # "miniframe"
1066 echo m68010-convergent-sysv
1067 exit 0 ;;
1068 M68*:*:R3V[567]*:*)
1069 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1070 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
1071 OS_REL=''
1072 test -r /etc/.relid \
1073 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1074 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1075 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1076 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1077 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1078 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1079 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1080 && echo i486-ncr-sysv4 && exit 0 ;;
1081 m68*:LynxOS:2.*:*)
1082 echo m68k-unknown-lynxos${UNAME_RELEASE}
1083 exit 0 ;;
1084 mc68030:UNIX_System_V:4.*:*)
1085 echo m68k-atari-sysv4
1086 exit 0 ;;
1087 i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
1088 echo i386-unknown-lynxos${UNAME_RELEASE}
1089 exit 0 ;;
1090 TSUNAMI:LynxOS:2.*:*)
1091 echo sparc-unknown-lynxos${UNAME_RELEASE}
1092 exit 0 ;;
1093 rs6000:LynxOS:2.*:*)
1094 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1095 exit 0 ;;
1096 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:*)
1097 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1098 exit 0 ;;
1099 SM[BE]S:UNIX_SV:*:*)
1100 echo mips-dde-sysv${UNAME_RELEASE}
1101 exit 0 ;;
1102 RM*:ReliantUNIX-*:*:*)
1103 echo mips-sni-sysv4
1104 exit 0 ;;
1105 RM*:SINIX-*:*:*)
1106 echo mips-sni-sysv4
1107 exit 0 ;;
1108 *:SINIX-*:*:*)
1109 if uname -p 2>/dev/null >/dev/null ; then
1110 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1111 echo ${UNAME_MACHINE}-sni-sysv4
1112 else
1113 echo ns32k-sni-sysv
1114 fi
1115 exit 0 ;;
1116 PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1117 # says <Richard.M.Bartel@ccMail.Census.GOV>
1118 echo i586-unisys-sysv4
1119 exit 0 ;;
1120 *:UNIX_System_V:4*:FTX*)
1121 # From Gerald Hewes <hewes@openmarket.com>.
1122 # How about differentiating between stratus architectures? -djm
1123 echo hppa1.1-stratus-sysv4
1124 exit 0 ;;
1125 *:*:*:FTX*)
1126 # From seanf@swdc.stratus.com.
1127 echo i860-stratus-sysv4
1128 exit 0 ;;
1129 mc68*:A/UX:*:*)
1130 echo m68k-apple-aux${UNAME_RELEASE}
1131 exit 0 ;;
1132 news*:NEWS-OS:6*:*)
1133 echo mips-sony-newsos6
1134 exit 0 ;;
1135 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1136 if [ -d /usr/nec ]; then
1137 echo mips-nec-sysv${UNAME_RELEASE}
1138 else
1139 echo mips-unknown-sysv${UNAME_RELEASE}
1140 fi
1141 exit 0 ;;
1142 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1143 echo powerpc-be-beos
1144 exit 0 ;;
1145 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1146 echo powerpc-apple-beos
1147 exit 0 ;;
1148 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1149 echo i586-pc-beos
1150 exit 0 ;;
1151 SX-4:SUPER-UX:*:*)
1152 echo sx4-nec-superux${UNAME_RELEASE}
1153 exit 0 ;;
1154 SX-5:SUPER-UX:*:*)
1155 echo sx5-nec-superux${UNAME_RELEASE}
1156 exit 0 ;;
1157 Power*:Rhapsody:*:*)
1158 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1159 exit 0 ;;
1160 *:Rhapsody:*:*)
1161 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1162 exit 0 ;;
1163 *:Darwin:*:*)
1164 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1165 exit 0 ;;
1166 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1167 if test "${UNAME_MACHINE}" = "x86pc"; then
1168 UNAME_MACHINE=pc
1169 fi
1170 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1171 exit 0 ;;
1172 *:QNX:*:4*)
1173 echo i386-pc-qnx
1174 exit 0 ;;
1175 NSR-[KW]:NONSTOP_KERNEL:*:*)
1176 echo nsr-tandem-nsk${UNAME_RELEASE}
1177 exit 0 ;;
1178 *:NonStop-UX:*:*)
1179 echo mips-compaq-nonstopux
1180 exit 0 ;;
1181 BS2000:POSIX*:*:*)
1182 echo bs2000-siemens-sysv
1183 exit 0 ;;
1184 DS/*:UNIX_System_V:*:*)
1185 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1186 exit 0 ;;
1187 *:Plan9:*:*)
1188 # "uname -m" is not consistent, so use $cputype instead. 386
1189 # is converted to i386 for consistency with other x86
1190 # operating systems.
1191 if test "$cputype" = "386"; then
1192 UNAME_MACHINE=i386
1193 else
1194 UNAME_MACHINE="$cputype"
1195 fi
1196 echo ${UNAME_MACHINE}-unknown-plan9
1197 exit 0 ;;
1198 i?86:OS/2:*:*)
1199 # If we were able to find `uname', then EMX Unix compatibility
1200 # is probably installed.
1201 echo ${UNAME_MACHINE}-pc-os2-emx
1202 exit 0 ;;
1203 *:TOPS-10:*:*)
1204 echo pdp10-unknown-tops10
1205 exit 0 ;;
1206 *:TENEX:*:*)
1207 echo pdp10-unknown-tenex
1208 exit 0 ;;
1209 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1210 echo pdp10-dec-tops20
1211 exit 0 ;;
1212 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1213 echo pdp10-xkl-tops20
1214 exit 0 ;;
1215 *:TOPS-20:*:*)
1216 echo pdp10-unknown-tops20
1217 exit 0 ;;
1218 *:ITS:*:*)
1219 echo pdp10-unknown-its
1220 exit 0 ;;
1221 esac
1222
1223 #echo '(No uname command or uname output not recognized.)' 1>&2
1224 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1225
1226 cat >$dummy.c <<EOF
1227 #ifdef _SEQUENT_
1228 # include <sys/types.h>
1229 # include <sys/utsname.h>
1230 #endif
1231 main ()
1232 {
1233 #if defined (sony)
1234 #if defined (MIPSEB)
1235 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1236 I don't know.... */
1237 printf ("mips-sony-bsd\n"); exit (0);
1238 #else
1239 #include <sys/param.h>
1240 printf ("m68k-sony-newsos%s\n",
1241 #ifdef NEWSOS4
1242 "4"
1243 #else
1244 ""
1245 #endif
1246 ); exit (0);
1247 #endif
1248 #endif
1249
1250 #if defined (__arm) && defined (__acorn) && defined (__unix)
1251 printf ("arm-acorn-riscix"); exit (0);
1252 #endif
1253
1254 #if defined (hp300) && !defined (hpux)
1255 printf ("m68k-hp-bsd\n"); exit (0);
1256 #endif
1257
1258 #if defined (NeXT)
1259 #if !defined (__ARCHITECTURE__)
1260 #define __ARCHITECTURE__ "m68k"
1261 #endif
1262 int version;
1263 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1264 if (version < 4)
1265 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1266 else
1267 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1268 exit (0);
1269 #endif
1270
1271 #if defined (MULTIMAX) || defined (n16)
1272 #if defined (UMAXV)
1273 printf ("ns32k-encore-sysv\n"); exit (0);
1274 #else
1275 #if defined (CMU)
1276 printf ("ns32k-encore-mach\n"); exit (0);
1277 #else
1278 printf ("ns32k-encore-bsd\n"); exit (0);
1279 #endif
1280 #endif
1281 #endif
1282
1283 #if defined (__386BSD__)
1284 printf ("i386-pc-bsd\n"); exit (0);
1285 #endif
1286
1287 #if defined (sequent)
1288 #if defined (i386)
1289 printf ("i386-sequent-dynix\n"); exit (0);
1290 #endif
1291 #if defined (ns32000)
1292 printf ("ns32k-sequent-dynix\n"); exit (0);
1293 #endif
1294 #endif
1295
1296 #if defined (_SEQUENT_)
1297 struct utsname un;
1298
1299 uname(&un);
1300
1301 if (strncmp(un.version, "V2", 2) == 0) {
1302 printf ("i386-sequent-ptx2\n"); exit (0);
1303 }
1304 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1305 printf ("i386-sequent-ptx1\n"); exit (0);
1306 }
1307 printf ("i386-sequent-ptx\n"); exit (0);
1308
1309 #endif
1310
1311 #if defined (vax)
1312 # if !defined (ultrix)
1313 # include <sys/param.h>
1314 # if defined (BSD)
1315 # if BSD == 43
1316 printf ("vax-dec-bsd4.3\n"); exit (0);
1317 # else
1318 # if BSD == 199006
1319 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1320 # else
1321 printf ("vax-dec-bsd\n"); exit (0);
1322 # endif
1323 # endif
1324 # else
1325 printf ("vax-dec-bsd\n"); exit (0);
1326 # endif
1327 # else
1328 printf ("vax-dec-ultrix\n"); exit (0);
1329 # endif
1330 #endif
1331
1332 #if defined (alliant) && defined (i860)
1333 printf ("i860-alliant-bsd\n"); exit (0);
1334 #endif
1335
1336 exit (1);
1337 }
1338 EOF
1339
1340 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
1341 rm -f $dummy.c $dummy
1342
1343 # Apollos put the system type in the environment.
1344
1345 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1346
1347 # Convex versions that predate uname can use getsysinfo(1)
1348
1349 if [ -x /usr/convex/getsysinfo ]
1350 then
1351 case `getsysinfo -f cpu_type` in
1352 c1*)
1353 echo c1-convex-bsd
1354 exit 0 ;;
1355 c2*)
1356 if getsysinfo -f scalar_acc
1357 then echo c32-convex-bsd
1358 else echo c2-convex-bsd
1359 fi
1360 exit 0 ;;
1361 c34*)
1362 echo c34-convex-bsd
1363 exit 0 ;;
1364 c38*)
1365 echo c38-convex-bsd
1366 exit 0 ;;
1367 c4*)
1368 echo c4-convex-bsd
1369 exit 0 ;;
1370 esac
1371 fi
1372
1373 cat >&2 <<EOF
1374 $0: unable to guess system type
1375
1376 This script, last modified $timestamp, has failed to recognize
1377 the operating system you are using. It is advised that you
1378 download the most up to date version of the config scripts from
1379
1380 ftp://ftp.gnu.org/pub/gnu/config/
1381
1382 If the version you run ($0) is already up to date, please
1383 send the following data and any information you think might be
1384 pertinent to <config-patches@gnu.org> in order to provide the needed
1385 information to handle your system.
1386
1387 config.guess timestamp = $timestamp
1388
1389 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1390 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1391 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1392 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1393
1394 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1395 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1396
1397 hostinfo = `(hostinfo) 2>/dev/null`
1398 /bin/universe = `(/bin/universe) 2>/dev/null`
1399 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1400 /bin/arch = `(/bin/arch) 2>/dev/null`
1401 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1402 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1403
1404 UNAME_MACHINE = ${UNAME_MACHINE}
1405 UNAME_RELEASE = ${UNAME_RELEASE}
1406 UNAME_SYSTEM = ${UNAME_SYSTEM}
1407 UNAME_VERSION = ${UNAME_VERSION}
1408 EOF
1409
1410 exit 1
1411
1412 # Local variables:
1413 # eval: (add-hook 'write-file-hooks 'time-stamp)
1414 # time-stamp-start: "timestamp='"
1415 # time-stamp-format: "%:y-%02m-%02d"
1416 # time-stamp-end: "'"
1417 # End:
This page took 0.063684 seconds and 5 git commands to generate.