Thu, 04 Apr 2019 08:01:35 -0700
8221789: make reconfigure broken (jdk8u only)
Reviewed-by: phh, martin
1 #! /bin/sh
2 #
3 # Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 #
6 # This code is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License version 2 only, as
8 # published by the Free Software Foundation. Oracle designates this
9 # particular file as subject to the "Classpath" exception as provided
10 # by Oracle in the LICENSE file that accompanied this code.
11 #
12 # This code is distributed in the hope that it will be useful, but WITHOUT
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 # version 2 for more details (a copy is included in the LICENSE file that
16 # accompanied this code).
17 #
18 # You should have received a copy of the GNU General Public License version
19 # 2 along with this work; if not, write to the Free Software Foundation,
20 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 #
22 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23 # or visit www.oracle.com if you need additional information or have any
24 # questions.
25 #
27 # Attempt to guess a canonical system name.
28 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
29 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
30 # 2011, 2012 Free Software Foundation, Inc.
32 timestamp='2012-02-10'
34 # This file is free software; you can redistribute it and/or modify it
35 # under the terms of the GNU General Public License as published by
36 # the Free Software Foundation; either version 2 of the License, or
37 # (at your option) any later version.
38 #
39 # This program is distributed in the hope that it will be useful, but
40 # WITHOUT ANY WARRANTY; without even the implied warranty of
41 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
42 # General Public License for more details.
43 #
44 # You should have received a copy of the GNU General Public License
45 # along with this program; if not, see <http://www.gnu.org/licenses/>.
46 #
47 # As a special exception to the GNU General Public License, if you
48 # distribute this file as part of a program that contains a
49 # configuration script generated by Autoconf, you may include it under
50 # the same distribution terms that you use for the rest of that program.
53 # Originally written by Per Bothner. Please send patches (context
54 # diff format) to <config-patches@gnu.org> and include a ChangeLog
55 # entry.
56 #
57 # This script attempts to guess a canonical system name similar to
58 # config.sub. If it succeeds, it prints the system name on stdout, and
59 # exits with 0. Otherwise, it exits with 1.
60 #
61 # You can get the latest version of this script from:
62 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
64 me=`echo "$0" | sed -e 's,.*/,,'`
66 usage="\
67 Usage: $0 [OPTION]
69 Output the configuration name of the system \`$me' is run on.
71 Operation modes:
72 -h, --help print this help, then exit
73 -t, --time-stamp print date of last modification, then exit
74 -v, --version print version number, then exit
76 Report bugs and patches to <config-patches@gnu.org>."
78 version="\
79 GNU config.guess ($timestamp)
81 Originally written by Per Bothner.
82 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
83 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
84 Free Software Foundation, Inc.
86 This is free software; see the source for copying conditions. There is NO
87 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
89 help="
90 Try \`$me --help' for more information."
92 # Parse command line
93 while test $# -gt 0 ; do
94 case $1 in
95 --time-stamp | --time* | -t )
96 echo "$timestamp" ; exit ;;
97 --version | -v )
98 echo "$version" ; exit ;;
99 --help | --h* | -h )
100 echo "$usage"; exit ;;
101 -- ) # Stop option processing
102 shift; break ;;
103 - ) # Use stdin as input.
104 break ;;
105 -* )
106 echo "$me: invalid option $1$help" >&2
107 exit 1 ;;
108 * )
109 break ;;
110 esac
111 done
113 if test $# != 0; then
114 echo "$me: too many arguments$help" >&2
115 exit 1
116 fi
118 trap 'exit 1' 1 2 15
120 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
121 # compiler to aid in system detection is discouraged as it requires
122 # temporary files to be created and, as you can see below, it is a
123 # headache to deal with in a portable fashion.
125 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
126 # use `HOST_CC' if defined, but it is deprecated.
128 # Portable tmp directory creation inspired by the Autoconf team.
130 set_cc_for_build='
131 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
132 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
133 : ${TMPDIR=/tmp} ;
134 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
135 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
136 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
137 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
138 dummy=$tmp/dummy ;
139 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
140 case $CC_FOR_BUILD,$HOST_CC,$CC in
141 ,,) echo "int x;" > $dummy.c ;
142 for c in cc gcc c89 c99 ; do
143 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
144 CC_FOR_BUILD="$c"; break ;
145 fi ;
146 done ;
147 if test x"$CC_FOR_BUILD" = x ; then
148 CC_FOR_BUILD=no_compiler_found ;
149 fi
150 ;;
151 ,,*) CC_FOR_BUILD=$CC ;;
152 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
153 esac ; set_cc_for_build= ;'
155 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
156 # (ghazi@noc.rutgers.edu 1994-08-24)
157 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
158 PATH=$PATH:/.attbin ; export PATH
159 fi
161 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
162 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
163 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
164 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
166 # Note: order is significant - the case branches are not exclusive.
168 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
169 *:NetBSD:*:*)
170 # NetBSD (nbsd) targets should (where applicable) match one or
171 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
172 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
173 # switched to ELF, *-*-netbsd* would select the old
174 # object file format. This provides both forward
175 # compatibility and a consistent mechanism for selecting the
176 # object file format.
177 #
178 # Note: NetBSD doesn't particularly care about the vendor
179 # portion of the name. We always set it to "unknown".
180 sysctl="sysctl -n hw.machine_arch"
181 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
182 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
183 case "${UNAME_MACHINE_ARCH}" in
184 armeb) machine=armeb-unknown ;;
185 arm*) machine=arm-unknown ;;
186 sh3el) machine=shl-unknown ;;
187 sh3eb) machine=sh-unknown ;;
188 sh5el) machine=sh5le-unknown ;;
189 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
190 esac
191 # The Operating System including object format, if it has switched
192 # to ELF recently, or will in the future.
193 case "${UNAME_MACHINE_ARCH}" in
194 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
195 eval $set_cc_for_build
196 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
197 | grep -q __ELF__
198 then
199 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
200 # Return netbsd for either. FIX?
201 os=netbsd
202 else
203 os=netbsdelf
204 fi
205 ;;
206 *)
207 os=netbsd
208 ;;
209 esac
210 # The OS release
211 # Debian GNU/NetBSD machines have a different userland, and
212 # thus, need a distinct triplet. However, they do not need
213 # kernel version information, so it can be replaced with a
214 # suitable tag, in the style of linux-gnu.
215 case "${UNAME_VERSION}" in
216 Debian*)
217 release='-gnu'
218 ;;
219 *)
220 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
221 ;;
222 esac
223 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
224 # contains redundant information, the shorter form:
225 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
226 echo "${machine}-${os}${release}"
227 exit ;;
228 *:OpenBSD:*:*)
229 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
230 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
231 exit ;;
232 *:ekkoBSD:*:*)
233 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
234 exit ;;
235 *:SolidBSD:*:*)
236 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
237 exit ;;
238 macppc:MirBSD:*:*)
239 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
240 exit ;;
241 *:MirBSD:*:*)
242 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
243 exit ;;
244 alpha:OSF1:*:*)
245 case $UNAME_RELEASE in
246 *4.0)
247 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
248 ;;
249 *5.*)
250 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
251 ;;
252 esac
253 # According to Compaq, /usr/sbin/psrinfo has been available on
254 # OSF/1 and Tru64 systems produced since 1995. I hope that
255 # covers most systems running today. This code pipes the CPU
256 # types through head -n 1, so we only detect the type of CPU 0.
257 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
258 case "$ALPHA_CPU_TYPE" in
259 "EV4 (21064)")
260 UNAME_MACHINE="alpha" ;;
261 "EV4.5 (21064)")
262 UNAME_MACHINE="alpha" ;;
263 "LCA4 (21066/21068)")
264 UNAME_MACHINE="alpha" ;;
265 "EV5 (21164)")
266 UNAME_MACHINE="alphaev5" ;;
267 "EV5.6 (21164A)")
268 UNAME_MACHINE="alphaev56" ;;
269 "EV5.6 (21164PC)")
270 UNAME_MACHINE="alphapca56" ;;
271 "EV5.7 (21164PC)")
272 UNAME_MACHINE="alphapca57" ;;
273 "EV6 (21264)")
274 UNAME_MACHINE="alphaev6" ;;
275 "EV6.7 (21264A)")
276 UNAME_MACHINE="alphaev67" ;;
277 "EV6.8CB (21264C)")
278 UNAME_MACHINE="alphaev68" ;;
279 "EV6.8AL (21264B)")
280 UNAME_MACHINE="alphaev68" ;;
281 "EV6.8CX (21264D)")
282 UNAME_MACHINE="alphaev68" ;;
283 "EV6.9A (21264/EV69A)")
284 UNAME_MACHINE="alphaev69" ;;
285 "EV7 (21364)")
286 UNAME_MACHINE="alphaev7" ;;
287 "EV7.9 (21364A)")
288 UNAME_MACHINE="alphaev79" ;;
289 esac
290 # A Pn.n version is a patched version.
291 # A Vn.n version is a released version.
292 # A Tn.n version is a released field test version.
293 # A Xn.n version is an unreleased experimental baselevel.
294 # 1.2 uses "1.2" for uname -r.
295 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
296 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
297 exitcode=$?
298 trap '' 0
299 exit $exitcode ;;
300 Alpha\ *:Windows_NT*:*)
301 # How do we know it's Interix rather than the generic POSIX subsystem?
302 # Should we change UNAME_MACHINE based on the output of uname instead
303 # of the specific Alpha model?
304 echo alpha-pc-interix
305 exit ;;
306 21064:Windows_NT:50:3)
307 echo alpha-dec-winnt3.5
308 exit ;;
309 Amiga*:UNIX_System_V:4.0:*)
310 echo m68k-unknown-sysv4
311 exit ;;
312 *:[Aa]miga[Oo][Ss]:*:*)
313 echo ${UNAME_MACHINE}-unknown-amigaos
314 exit ;;
315 *:[Mm]orph[Oo][Ss]:*:*)
316 echo ${UNAME_MACHINE}-unknown-morphos
317 exit ;;
318 *:OS/390:*:*)
319 echo i370-ibm-openedition
320 exit ;;
321 *:z/VM:*:*)
322 echo s390-ibm-zvmoe
323 exit ;;
324 *:OS400:*:*)
325 echo powerpc-ibm-os400
326 exit ;;
327 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
328 echo arm-acorn-riscix${UNAME_RELEASE}
329 exit ;;
330 arm:riscos:*:*|arm:RISCOS:*:*)
331 echo arm-unknown-riscos
332 exit ;;
333 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
334 echo hppa1.1-hitachi-hiuxmpp
335 exit ;;
336 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
337 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
338 if test "`(/bin/universe) 2>/dev/null`" = att ; then
339 echo pyramid-pyramid-sysv3
340 else
341 echo pyramid-pyramid-bsd
342 fi
343 exit ;;
344 NILE*:*:*:dcosx)
345 echo pyramid-pyramid-svr4
346 exit ;;
347 DRS?6000:unix:4.0:6*)
348 echo sparc-icl-nx6
349 exit ;;
350 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
351 case `/usr/bin/uname -p` in
352 sparc) echo sparc-icl-nx7; exit ;;
353 esac ;;
354 s390x:SunOS:*:*)
355 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356 exit ;;
357 sun4H:SunOS:5.*:*)
358 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
359 exit ;;
360 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
361 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362 exit ;;
363 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
364 echo i386-pc-auroraux${UNAME_RELEASE}
365 exit ;;
366 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
367 eval $set_cc_for_build
368 SUN_ARCH="i386"
369 # If there is a compiler, see if it is configured for 64-bit objects.
370 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
371 # This test works for both compilers.
372 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
373 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
374 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
375 grep IS_64BIT_ARCH >/dev/null
376 then
377 SUN_ARCH="x86_64"
378 fi
379 fi
380 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
381 exit ;;
382 sun4*:SunOS:6*:*)
383 # According to config.sub, this is the proper way to canonicalize
384 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
385 # it's likely to be more like Solaris than SunOS4.
386 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
387 exit ;;
388 sun4*:SunOS:*:*)
389 case "`/usr/bin/arch -k`" in
390 Series*|S4*)
391 UNAME_RELEASE=`uname -v`
392 ;;
393 esac
394 # Japanese Language versions have a version number like `4.1.3-JL'.
395 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
396 exit ;;
397 sun3*:SunOS:*:*)
398 echo m68k-sun-sunos${UNAME_RELEASE}
399 exit ;;
400 sun*:*:4.2BSD:*)
401 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
402 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
403 case "`/bin/arch`" in
404 sun3)
405 echo m68k-sun-sunos${UNAME_RELEASE}
406 ;;
407 sun4)
408 echo sparc-sun-sunos${UNAME_RELEASE}
409 ;;
410 esac
411 exit ;;
412 aushp:SunOS:*:*)
413 echo sparc-auspex-sunos${UNAME_RELEASE}
414 exit ;;
415 # The situation for MiNT is a little confusing. The machine name
416 # can be virtually everything (everything which is not
417 # "atarist" or "atariste" at least should have a processor
418 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
419 # to the lowercase version "mint" (or "freemint"). Finally
420 # the system name "TOS" denotes a system which is actually not
421 # MiNT. But MiNT is downward compatible to TOS, so this should
422 # be no problem.
423 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
424 echo m68k-atari-mint${UNAME_RELEASE}
425 exit ;;
426 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
427 echo m68k-atari-mint${UNAME_RELEASE}
428 exit ;;
429 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
430 echo m68k-atari-mint${UNAME_RELEASE}
431 exit ;;
432 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
433 echo m68k-milan-mint${UNAME_RELEASE}
434 exit ;;
435 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
436 echo m68k-hades-mint${UNAME_RELEASE}
437 exit ;;
438 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
439 echo m68k-unknown-mint${UNAME_RELEASE}
440 exit ;;
441 m68k:machten:*:*)
442 echo m68k-apple-machten${UNAME_RELEASE}
443 exit ;;
444 powerpc:machten:*:*)
445 echo powerpc-apple-machten${UNAME_RELEASE}
446 exit ;;
447 RISC*:Mach:*:*)
448 echo mips-dec-mach_bsd4.3
449 exit ;;
450 RISC*:ULTRIX:*:*)
451 echo mips-dec-ultrix${UNAME_RELEASE}
452 exit ;;
453 VAX*:ULTRIX*:*:*)
454 echo vax-dec-ultrix${UNAME_RELEASE}
455 exit ;;
456 2020:CLIX:*:* | 2430:CLIX:*:*)
457 echo clipper-intergraph-clix${UNAME_RELEASE}
458 exit ;;
459 mips:*:*:UMIPS | mips:*:*:RISCos)
460 eval $set_cc_for_build
461 sed 's/^ //' << EOF >$dummy.c
462 #ifdef __cplusplus
463 #include <stdio.h> /* for printf() prototype */
464 int main (int argc, char *argv[]) {
465 #else
466 int main (argc, argv) int argc; char *argv[]; {
467 #endif
468 #if defined (host_mips) && defined (MIPSEB)
469 #if defined (SYSTYPE_SYSV)
470 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
471 #endif
472 #if defined (SYSTYPE_SVR4)
473 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
474 #endif
475 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
476 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
477 #endif
478 #endif
479 exit (-1);
480 }
481 EOF
482 $CC_FOR_BUILD -o $dummy $dummy.c &&
483 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
484 SYSTEM_NAME=`$dummy $dummyarg` &&
485 { echo "$SYSTEM_NAME"; exit; }
486 echo mips-mips-riscos${UNAME_RELEASE}
487 exit ;;
488 Motorola:PowerMAX_OS:*:*)
489 echo powerpc-motorola-powermax
490 exit ;;
491 Motorola:*:4.3:PL8-*)
492 echo powerpc-harris-powermax
493 exit ;;
494 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
495 echo powerpc-harris-powermax
496 exit ;;
497 Night_Hawk:Power_UNIX:*:*)
498 echo powerpc-harris-powerunix
499 exit ;;
500 m88k:CX/UX:7*:*)
501 echo m88k-harris-cxux7
502 exit ;;
503 m88k:*:4*:R4*)
504 echo m88k-motorola-sysv4
505 exit ;;
506 m88k:*:3*:R3*)
507 echo m88k-motorola-sysv3
508 exit ;;
509 AViiON:dgux:*:*)
510 # DG/UX returns AViiON for all architectures
511 UNAME_PROCESSOR=`/usr/bin/uname -p`
512 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
513 then
514 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
515 [ ${TARGET_BINARY_INTERFACE}x = x ]
516 then
517 echo m88k-dg-dgux${UNAME_RELEASE}
518 else
519 echo m88k-dg-dguxbcs${UNAME_RELEASE}
520 fi
521 else
522 echo i586-dg-dgux${UNAME_RELEASE}
523 fi
524 exit ;;
525 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
526 echo m88k-dolphin-sysv3
527 exit ;;
528 M88*:*:R3*:*)
529 # Delta 88k system running SVR3
530 echo m88k-motorola-sysv3
531 exit ;;
532 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
533 echo m88k-tektronix-sysv3
534 exit ;;
535 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
536 echo m68k-tektronix-bsd
537 exit ;;
538 *:IRIX*:*:*)
539 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
540 exit ;;
541 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
542 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
543 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
544 i*86:AIX:*:*)
545 echo i386-ibm-aix
546 exit ;;
547 ia64:AIX:*:*)
548 if [ -x /usr/bin/oslevel ] ; then
549 IBM_REV=`/usr/bin/oslevel`
550 else
551 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
552 fi
553 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
554 exit ;;
555 *:AIX:2:3)
556 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
557 eval $set_cc_for_build
558 sed 's/^ //' << EOF >$dummy.c
559 #include <sys/systemcfg.h>
561 main()
562 {
563 if (!__power_pc())
564 exit(1);
565 puts("powerpc-ibm-aix3.2.5");
566 exit(0);
567 }
568 EOF
569 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
570 then
571 echo "$SYSTEM_NAME"
572 else
573 echo rs6000-ibm-aix3.2.5
574 fi
575 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
576 echo rs6000-ibm-aix3.2.4
577 else
578 echo rs6000-ibm-aix3.2
579 fi
580 exit ;;
581 *:AIX:*:[4567])
582 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
583 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
584 IBM_ARCH=rs6000
585 else
586 IBM_ARCH=powerpc
587 fi
588 if [ -x /usr/bin/oslevel ] ; then
589 IBM_REV=`/usr/bin/oslevel`
590 else
591 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
592 fi
593 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
594 exit ;;
595 *:AIX:*:*)
596 echo rs6000-ibm-aix
597 exit ;;
598 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
599 echo romp-ibm-bsd4.4
600 exit ;;
601 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
602 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
603 exit ;; # report: romp-ibm BSD 4.3
604 *:BOSX:*:*)
605 echo rs6000-bull-bosx
606 exit ;;
607 DPX/2?00:B.O.S.:*:*)
608 echo m68k-bull-sysv3
609 exit ;;
610 9000/[34]??:4.3bsd:1.*:*)
611 echo m68k-hp-bsd
612 exit ;;
613 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
614 echo m68k-hp-bsd4.4
615 exit ;;
616 9000/[34678]??:HP-UX:*:*)
617 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
618 case "${UNAME_MACHINE}" in
619 9000/31? ) HP_ARCH=m68000 ;;
620 9000/[34]?? ) HP_ARCH=m68k ;;
621 9000/[678][0-9][0-9])
622 if [ -x /usr/bin/getconf ]; then
623 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
624 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
625 case "${sc_cpu_version}" in
626 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
627 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
628 532) # CPU_PA_RISC2_0
629 case "${sc_kernel_bits}" in
630 32) HP_ARCH="hppa2.0n" ;;
631 64) HP_ARCH="hppa2.0w" ;;
632 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
633 esac ;;
634 esac
635 fi
636 if [ "${HP_ARCH}" = "" ]; then
637 eval $set_cc_for_build
638 sed 's/^ //' << EOF >$dummy.c
640 #define _HPUX_SOURCE
641 #include <stdlib.h>
642 #include <unistd.h>
644 int main ()
645 {
646 #if defined(_SC_KERNEL_BITS)
647 long bits = sysconf(_SC_KERNEL_BITS);
648 #endif
649 long cpu = sysconf (_SC_CPU_VERSION);
651 switch (cpu)
652 {
653 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
654 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
655 case CPU_PA_RISC2_0:
656 #if defined(_SC_KERNEL_BITS)
657 switch (bits)
658 {
659 case 64: puts ("hppa2.0w"); break;
660 case 32: puts ("hppa2.0n"); break;
661 default: puts ("hppa2.0"); break;
662 } break;
663 #else /* !defined(_SC_KERNEL_BITS) */
664 puts ("hppa2.0"); break;
665 #endif
666 default: puts ("hppa1.0"); break;
667 }
668 exit (0);
669 }
670 EOF
671 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
672 test -z "$HP_ARCH" && HP_ARCH=hppa
673 fi ;;
674 esac
675 if [ ${HP_ARCH} = "hppa2.0w" ]
676 then
677 eval $set_cc_for_build
679 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
680 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
681 # generating 64-bit code. GNU and HP use different nomenclature:
682 #
683 # $ CC_FOR_BUILD=cc ./config.guess
684 # => hppa2.0w-hp-hpux11.23
685 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
686 # => hppa64-hp-hpux11.23
688 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
689 grep -q __LP64__
690 then
691 HP_ARCH="hppa2.0w"
692 else
693 HP_ARCH="hppa64"
694 fi
695 fi
696 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
697 exit ;;
698 ia64:HP-UX:*:*)
699 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
700 echo ia64-hp-hpux${HPUX_REV}
701 exit ;;
702 3050*:HI-UX:*:*)
703 eval $set_cc_for_build
704 sed 's/^ //' << EOF >$dummy.c
705 #include <unistd.h>
706 int
707 main ()
708 {
709 long cpu = sysconf (_SC_CPU_VERSION);
710 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
711 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
712 results, however. */
713 if (CPU_IS_PA_RISC (cpu))
714 {
715 switch (cpu)
716 {
717 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
718 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
719 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
720 default: puts ("hppa-hitachi-hiuxwe2"); break;
721 }
722 }
723 else if (CPU_IS_HP_MC68K (cpu))
724 puts ("m68k-hitachi-hiuxwe2");
725 else puts ("unknown-hitachi-hiuxwe2");
726 exit (0);
727 }
728 EOF
729 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
730 { echo "$SYSTEM_NAME"; exit; }
731 echo unknown-hitachi-hiuxwe2
732 exit ;;
733 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
734 echo hppa1.1-hp-bsd
735 exit ;;
736 9000/8??:4.3bsd:*:*)
737 echo hppa1.0-hp-bsd
738 exit ;;
739 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
740 echo hppa1.0-hp-mpeix
741 exit ;;
742 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
743 echo hppa1.1-hp-osf
744 exit ;;
745 hp8??:OSF1:*:*)
746 echo hppa1.0-hp-osf
747 exit ;;
748 i*86:OSF1:*:*)
749 if [ -x /usr/sbin/sysversion ] ; then
750 echo ${UNAME_MACHINE}-unknown-osf1mk
751 else
752 echo ${UNAME_MACHINE}-unknown-osf1
753 fi
754 exit ;;
755 parisc*:Lites*:*:*)
756 echo hppa1.1-hp-lites
757 exit ;;
758 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
759 echo c1-convex-bsd
760 exit ;;
761 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
762 if getsysinfo -f scalar_acc
763 then echo c32-convex-bsd
764 else echo c2-convex-bsd
765 fi
766 exit ;;
767 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
768 echo c34-convex-bsd
769 exit ;;
770 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
771 echo c38-convex-bsd
772 exit ;;
773 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
774 echo c4-convex-bsd
775 exit ;;
776 CRAY*Y-MP:*:*:*)
777 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
778 exit ;;
779 CRAY*[A-Z]90:*:*:*)
780 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
781 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
782 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
783 -e 's/\.[^.]*$/.X/'
784 exit ;;
785 CRAY*TS:*:*:*)
786 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
787 exit ;;
788 CRAY*T3E:*:*:*)
789 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
790 exit ;;
791 CRAY*SV1:*:*:*)
792 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
793 exit ;;
794 *:UNICOS/mp:*:*)
795 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
796 exit ;;
797 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
798 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
799 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
800 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
801 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
802 exit ;;
803 5000:UNIX_System_V:4.*:*)
804 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
805 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
806 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
807 exit ;;
808 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
809 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
810 exit ;;
811 sparc*:BSD/OS:*:*)
812 echo sparc-unknown-bsdi${UNAME_RELEASE}
813 exit ;;
814 *:BSD/OS:*:*)
815 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
816 exit ;;
817 *:FreeBSD:*:*)
818 UNAME_PROCESSOR=`/usr/bin/uname -p`
819 case ${UNAME_PROCESSOR} in
820 amd64)
821 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
822 *)
823 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
824 esac
825 exit ;;
826 i*:CYGWIN*:*)
827 echo ${UNAME_MACHINE}-pc-cygwin
828 exit ;;
829 *:MINGW*:*)
830 echo ${UNAME_MACHINE}-pc-mingw32
831 exit ;;
832 i*:MSYS*:*)
833 echo ${UNAME_MACHINE}-pc-msys
834 exit ;;
835 i*:windows32*:*)
836 # uname -m includes "-pc" on this system.
837 echo ${UNAME_MACHINE}-mingw32
838 exit ;;
839 i*:PW*:*)
840 echo ${UNAME_MACHINE}-pc-pw32
841 exit ;;
842 *:Interix*:*)
843 case ${UNAME_MACHINE} in
844 x86)
845 echo i586-pc-interix${UNAME_RELEASE}
846 exit ;;
847 authenticamd | genuineintel | EM64T)
848 echo x86_64-unknown-interix${UNAME_RELEASE}
849 exit ;;
850 IA64)
851 echo ia64-unknown-interix${UNAME_RELEASE}
852 exit ;;
853 esac ;;
854 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
855 echo i${UNAME_MACHINE}-pc-mks
856 exit ;;
857 8664:Windows_NT:*)
858 echo x86_64-pc-mks
859 exit ;;
860 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
861 # How do we know it's Interix rather than the generic POSIX subsystem?
862 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
863 # UNAME_MACHINE based on the output of uname instead of i386?
864 echo i586-pc-interix
865 exit ;;
866 i*:UWIN*:*)
867 echo ${UNAME_MACHINE}-pc-uwin
868 exit ;;
869 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
870 echo x86_64-unknown-cygwin
871 exit ;;
872 p*:CYGWIN*:*)
873 echo powerpcle-unknown-cygwin
874 exit ;;
875 prep*:SunOS:5.*:*)
876 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
877 exit ;;
878 *:GNU:*:*)
879 # the GNU system
880 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
881 exit ;;
882 *:GNU/*:*:*)
883 # other systems with GNU libc and userland
884 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
885 exit ;;
886 i*86:Minix:*:*)
887 echo ${UNAME_MACHINE}-pc-minix
888 exit ;;
889 aarch64:Linux:*:*)
890 echo ${UNAME_MACHINE}-unknown-linux-gnu
891 exit ;;
892 aarch64_be:Linux:*:*)
893 UNAME_MACHINE=aarch64_be
894 echo ${UNAME_MACHINE}-unknown-linux-gnu
895 exit ;;
896 alpha:Linux:*:*)
897 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
898 EV5) UNAME_MACHINE=alphaev5 ;;
899 EV56) UNAME_MACHINE=alphaev56 ;;
900 PCA56) UNAME_MACHINE=alphapca56 ;;
901 PCA57) UNAME_MACHINE=alphapca56 ;;
902 EV6) UNAME_MACHINE=alphaev6 ;;
903 EV67) UNAME_MACHINE=alphaev67 ;;
904 EV68*) UNAME_MACHINE=alphaev68 ;;
905 esac
906 objdump --private-headers /bin/sh | grep -q ld.so.1
907 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
908 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
909 exit ;;
910 arm*:Linux:*:*)
911 eval $set_cc_for_build
912 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
913 | grep -q __ARM_EABI__
914 then
915 echo ${UNAME_MACHINE}-unknown-linux-gnu
916 else
917 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918 | grep -q __ARM_PCS_VFP
919 then
920 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
921 else
922 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
923 fi
924 fi
925 exit ;;
926 avr32*:Linux:*:*)
927 echo ${UNAME_MACHINE}-unknown-linux-gnu
928 exit ;;
929 cris:Linux:*:*)
930 echo ${UNAME_MACHINE}-axis-linux-gnu
931 exit ;;
932 crisv32:Linux:*:*)
933 echo ${UNAME_MACHINE}-axis-linux-gnu
934 exit ;;
935 frv:Linux:*:*)
936 echo ${UNAME_MACHINE}-unknown-linux-gnu
937 exit ;;
938 hexagon:Linux:*:*)
939 echo ${UNAME_MACHINE}-unknown-linux-gnu
940 exit ;;
941 i*86:Linux:*:*)
942 LIBC=gnu
943 eval $set_cc_for_build
944 sed 's/^ //' << EOF >$dummy.c
945 #ifdef __dietlibc__
946 LIBC=dietlibc
947 #endif
948 EOF
949 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
950 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
951 exit ;;
952 ia64:Linux:*:*)
953 echo ${UNAME_MACHINE}-unknown-linux-gnu
954 exit ;;
955 m32r*:Linux:*:*)
956 echo ${UNAME_MACHINE}-unknown-linux-gnu
957 exit ;;
958 m68*:Linux:*:*)
959 echo ${UNAME_MACHINE}-unknown-linux-gnu
960 exit ;;
961 mips:Linux:*:* | mips64:Linux:*:*)
962 eval $set_cc_for_build
963 sed 's/^ //' << EOF >$dummy.c
964 #undef CPU
965 #undef ${UNAME_MACHINE}
966 #undef ${UNAME_MACHINE}el
967 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
968 CPU=${UNAME_MACHINE}el
969 #else
970 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
971 CPU=${UNAME_MACHINE}
972 #else
973 CPU=
974 #endif
975 #endif
976 EOF
977 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
978 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
979 ;;
980 or32:Linux:*:*)
981 echo ${UNAME_MACHINE}-unknown-linux-gnu
982 exit ;;
983 padre:Linux:*:*)
984 echo sparc-unknown-linux-gnu
985 exit ;;
986 parisc64:Linux:*:* | hppa64:Linux:*:*)
987 echo hppa64-unknown-linux-gnu
988 exit ;;
989 parisc:Linux:*:* | hppa:Linux:*:*)
990 # Look for CPU level
991 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
992 PA7*) echo hppa1.1-unknown-linux-gnu ;;
993 PA8*) echo hppa2.0-unknown-linux-gnu ;;
994 *) echo hppa-unknown-linux-gnu ;;
995 esac
996 exit ;;
997 ppc64:Linux:*:*)
998 echo powerpc64-unknown-linux-gnu
999 exit ;;
1000 ppc:Linux:*:*)
1001 echo powerpc-unknown-linux-gnu
1002 exit ;;
1003 s390:Linux:*:* | s390x:Linux:*:*)
1004 echo ${UNAME_MACHINE}-ibm-linux
1005 exit ;;
1006 sh64*:Linux:*:*)
1007 echo ${UNAME_MACHINE}-unknown-linux-gnu
1008 exit ;;
1009 sh*:Linux:*:*)
1010 echo ${UNAME_MACHINE}-unknown-linux-gnu
1011 exit ;;
1012 sparc:Linux:*:* | sparc64:Linux:*:*)
1013 echo ${UNAME_MACHINE}-unknown-linux-gnu
1014 exit ;;
1015 tile*:Linux:*:*)
1016 echo ${UNAME_MACHINE}-unknown-linux-gnu
1017 exit ;;
1018 vax:Linux:*:*)
1019 echo ${UNAME_MACHINE}-dec-linux-gnu
1020 exit ;;
1021 x86_64:Linux:*:*)
1022 echo ${UNAME_MACHINE}-unknown-linux-gnu
1023 exit ;;
1024 xtensa*:Linux:*:*)
1025 echo ${UNAME_MACHINE}-unknown-linux-gnu
1026 exit ;;
1027 i*86:DYNIX/ptx:4*:*)
1028 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1029 # earlier versions are messed up and put the nodename in both
1030 # sysname and nodename.
1031 echo i386-sequent-sysv4
1032 exit ;;
1033 i*86:UNIX_SV:4.2MP:2.*)
1034 # Unixware is an offshoot of SVR4, but it has its own version
1035 # number series starting with 2...
1036 # I am not positive that other SVR4 systems won't match this,
1037 # I just have to hope. -- rms.
1038 # Use sysv4.2uw... so that sysv4* matches it.
1039 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1040 exit ;;
1041 i*86:OS/2:*:*)
1042 # If we were able to find `uname', then EMX Unix compatibility
1043 # is probably installed.
1044 echo ${UNAME_MACHINE}-pc-os2-emx
1045 exit ;;
1046 i*86:XTS-300:*:STOP)
1047 echo ${UNAME_MACHINE}-unknown-stop
1048 exit ;;
1049 i*86:atheos:*:*)
1050 echo ${UNAME_MACHINE}-unknown-atheos
1051 exit ;;
1052 i*86:syllable:*:*)
1053 echo ${UNAME_MACHINE}-pc-syllable
1054 exit ;;
1055 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1056 echo i386-unknown-lynxos${UNAME_RELEASE}
1057 exit ;;
1058 i*86:*DOS:*:*)
1059 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1060 exit ;;
1061 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1062 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1063 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1064 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1065 else
1066 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1067 fi
1068 exit ;;
1069 i*86:*:5:[678]*)
1070 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1071 case `/bin/uname -X | grep "^Machine"` in
1072 *486*) UNAME_MACHINE=i486 ;;
1073 *Pentium) UNAME_MACHINE=i586 ;;
1074 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1075 esac
1076 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1077 exit ;;
1078 i*86:*:3.2:*)
1079 if test -f /usr/options/cb.name; then
1080 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1081 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1082 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1083 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1084 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1085 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1086 && UNAME_MACHINE=i586
1087 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1088 && UNAME_MACHINE=i686
1089 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1090 && UNAME_MACHINE=i686
1091 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1092 else
1093 echo ${UNAME_MACHINE}-pc-sysv32
1094 fi
1095 exit ;;
1096 pc:*:*:*)
1097 # Left here for compatibility:
1098 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1099 # the processor, so we play safe by assuming i586.
1100 # Note: whatever this is, it MUST be the same as what config.sub
1101 # prints for the "djgpp" host, or else GDB configury will decide that
1102 # this is a cross-build.
1103 echo i586-pc-msdosdjgpp
1104 exit ;;
1105 Intel:Mach:3*:*)
1106 echo i386-pc-mach3
1107 exit ;;
1108 paragon:*:*:*)
1109 echo i860-intel-osf1
1110 exit ;;
1111 i860:*:4.*:*) # i860-SVR4
1112 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1113 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1114 else # Add other i860-SVR4 vendors below as they are discovered.
1115 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1116 fi
1117 exit ;;
1118 mini*:CTIX:SYS*5:*)
1119 # "miniframe"
1120 echo m68010-convergent-sysv
1121 exit ;;
1122 mc68k:UNIX:SYSTEM5:3.51m)
1123 echo m68k-convergent-sysv
1124 exit ;;
1125 M680?0:D-NIX:5.3:*)
1126 echo m68k-diab-dnix
1127 exit ;;
1128 M68*:*:R3V[5678]*:*)
1129 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1130 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1131 OS_REL=''
1132 test -r /etc/.relid \
1133 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1134 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1135 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1136 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1137 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1138 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1139 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1140 && { echo i486-ncr-sysv4; exit; } ;;
1141 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1142 OS_REL='.3'
1143 test -r /etc/.relid \
1144 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1145 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1146 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1147 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1148 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1149 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1150 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1151 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1152 echo m68k-unknown-lynxos${UNAME_RELEASE}
1153 exit ;;
1154 mc68030:UNIX_System_V:4.*:*)
1155 echo m68k-atari-sysv4
1156 exit ;;
1157 TSUNAMI:LynxOS:2.*:*)
1158 echo sparc-unknown-lynxos${UNAME_RELEASE}
1159 exit ;;
1160 rs6000:LynxOS:2.*:*)
1161 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1162 exit ;;
1163 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1164 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1165 exit ;;
1166 SM[BE]S:UNIX_SV:*:*)
1167 echo mips-dde-sysv${UNAME_RELEASE}
1168 exit ;;
1169 RM*:ReliantUNIX-*:*:*)
1170 echo mips-sni-sysv4
1171 exit ;;
1172 RM*:SINIX-*:*:*)
1173 echo mips-sni-sysv4
1174 exit ;;
1175 *:SINIX-*:*:*)
1176 if uname -p 2>/dev/null >/dev/null ; then
1177 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1178 echo ${UNAME_MACHINE}-sni-sysv4
1179 else
1180 echo ns32k-sni-sysv
1181 fi
1182 exit ;;
1183 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1184 # says <Richard.M.Bartel@ccMail.Census.GOV>
1185 echo i586-unisys-sysv4
1186 exit ;;
1187 *:UNIX_System_V:4*:FTX*)
1188 # From Gerald Hewes <hewes@openmarket.com>.
1189 # How about differentiating between stratus architectures? -djm
1190 echo hppa1.1-stratus-sysv4
1191 exit ;;
1192 *:*:*:FTX*)
1193 # From seanf@swdc.stratus.com.
1194 echo i860-stratus-sysv4
1195 exit ;;
1196 i*86:VOS:*:*)
1197 # From Paul.Green@stratus.com.
1198 echo ${UNAME_MACHINE}-stratus-vos
1199 exit ;;
1200 *:VOS:*:*)
1201 # From Paul.Green@stratus.com.
1202 echo hppa1.1-stratus-vos
1203 exit ;;
1204 mc68*:A/UX:*:*)
1205 echo m68k-apple-aux${UNAME_RELEASE}
1206 exit ;;
1207 news*:NEWS-OS:6*:*)
1208 echo mips-sony-newsos6
1209 exit ;;
1210 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1211 if [ -d /usr/nec ]; then
1212 echo mips-nec-sysv${UNAME_RELEASE}
1213 else
1214 echo mips-unknown-sysv${UNAME_RELEASE}
1215 fi
1216 exit ;;
1217 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1218 echo powerpc-be-beos
1219 exit ;;
1220 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1221 echo powerpc-apple-beos
1222 exit ;;
1223 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1224 echo i586-pc-beos
1225 exit ;;
1226 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1227 echo i586-pc-haiku
1228 exit ;;
1229 SX-4:SUPER-UX:*:*)
1230 echo sx4-nec-superux${UNAME_RELEASE}
1231 exit ;;
1232 SX-5:SUPER-UX:*:*)
1233 echo sx5-nec-superux${UNAME_RELEASE}
1234 exit ;;
1235 SX-6:SUPER-UX:*:*)
1236 echo sx6-nec-superux${UNAME_RELEASE}
1237 exit ;;
1238 SX-7:SUPER-UX:*:*)
1239 echo sx7-nec-superux${UNAME_RELEASE}
1240 exit ;;
1241 SX-8:SUPER-UX:*:*)
1242 echo sx8-nec-superux${UNAME_RELEASE}
1243 exit ;;
1244 SX-8R:SUPER-UX:*:*)
1245 echo sx8r-nec-superux${UNAME_RELEASE}
1246 exit ;;
1247 Power*:Rhapsody:*:*)
1248 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1249 exit ;;
1250 *:Rhapsody:*:*)
1251 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1252 exit ;;
1253 *:Darwin:*:*)
1254 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1255 case $UNAME_PROCESSOR in
1256 i386)
1257 eval $set_cc_for_build
1258 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1259 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1260 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1261 grep IS_64BIT_ARCH >/dev/null
1262 then
1263 UNAME_PROCESSOR="x86_64"
1264 fi
1265 fi ;;
1266 unknown) UNAME_PROCESSOR=powerpc ;;
1267 esac
1268 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1269 exit ;;
1270 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1271 UNAME_PROCESSOR=`uname -p`
1272 if test "$UNAME_PROCESSOR" = "x86"; then
1273 UNAME_PROCESSOR=i386
1274 UNAME_MACHINE=pc
1275 fi
1276 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1277 exit ;;
1278 *:QNX:*:4*)
1279 echo i386-pc-qnx
1280 exit ;;
1281 NEO-?:NONSTOP_KERNEL:*:*)
1282 echo neo-tandem-nsk${UNAME_RELEASE}
1283 exit ;;
1284 NSE-?:NONSTOP_KERNEL:*:*)
1285 echo nse-tandem-nsk${UNAME_RELEASE}
1286 exit ;;
1287 NSR-?:NONSTOP_KERNEL:*:*)
1288 echo nsr-tandem-nsk${UNAME_RELEASE}
1289 exit ;;
1290 *:NonStop-UX:*:*)
1291 echo mips-compaq-nonstopux
1292 exit ;;
1293 BS2000:POSIX*:*:*)
1294 echo bs2000-siemens-sysv
1295 exit ;;
1296 DS/*:UNIX_System_V:*:*)
1297 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1298 exit ;;
1299 *:Plan9:*:*)
1300 # "uname -m" is not consistent, so use $cputype instead. 386
1301 # is converted to i386 for consistency with other x86
1302 # operating systems.
1303 if test "$cputype" = "386"; then
1304 UNAME_MACHINE=i386
1305 else
1306 UNAME_MACHINE="$cputype"
1307 fi
1308 echo ${UNAME_MACHINE}-unknown-plan9
1309 exit ;;
1310 *:TOPS-10:*:*)
1311 echo pdp10-unknown-tops10
1312 exit ;;
1313 *:TENEX:*:*)
1314 echo pdp10-unknown-tenex
1315 exit ;;
1316 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1317 echo pdp10-dec-tops20
1318 exit ;;
1319 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1320 echo pdp10-xkl-tops20
1321 exit ;;
1322 *:TOPS-20:*:*)
1323 echo pdp10-unknown-tops20
1324 exit ;;
1325 *:ITS:*:*)
1326 echo pdp10-unknown-its
1327 exit ;;
1328 SEI:*:*:SEIUX)
1329 echo mips-sei-seiux${UNAME_RELEASE}
1330 exit ;;
1331 *:DragonFly:*:*)
1332 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1333 exit ;;
1334 *:*VMS:*:*)
1335 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1336 case "${UNAME_MACHINE}" in
1337 A*) echo alpha-dec-vms ; exit ;;
1338 I*) echo ia64-dec-vms ; exit ;;
1339 V*) echo vax-dec-vms ; exit ;;
1340 esac ;;
1341 *:XENIX:*:SysV)
1342 echo i386-pc-xenix
1343 exit ;;
1344 i*86:skyos:*:*)
1345 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1346 exit ;;
1347 i*86:rdos:*:*)
1348 echo ${UNAME_MACHINE}-pc-rdos
1349 exit ;;
1350 i*86:AROS:*:*)
1351 echo ${UNAME_MACHINE}-pc-aros
1352 exit ;;
1353 x86_64:VMkernel:*:*)
1354 echo ${UNAME_MACHINE}-unknown-esx
1355 exit ;;
1356 esac
1358 #echo '(No uname command or uname output not recognized.)' 1>&2
1359 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1361 eval $set_cc_for_build
1362 cat >$dummy.c <<EOF
1363 #ifdef _SEQUENT_
1364 # include <sys/types.h>
1365 # include <sys/utsname.h>
1366 #endif
1367 main ()
1368 {
1369 #if defined (sony)
1370 #if defined (MIPSEB)
1371 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1372 I don't know.... */
1373 printf ("mips-sony-bsd\n"); exit (0);
1374 #else
1375 #include <sys/param.h>
1376 printf ("m68k-sony-newsos%s\n",
1377 #ifdef NEWSOS4
1378 "4"
1379 #else
1380 ""
1381 #endif
1382 ); exit (0);
1383 #endif
1384 #endif
1386 #if defined (__arm) && defined (__acorn) && defined (__unix)
1387 printf ("arm-acorn-riscix\n"); exit (0);
1388 #endif
1390 #if defined (hp300) && !defined (hpux)
1391 printf ("m68k-hp-bsd\n"); exit (0);
1392 #endif
1394 #if defined (NeXT)
1395 #if !defined (__ARCHITECTURE__)
1396 #define __ARCHITECTURE__ "m68k"
1397 #endif
1398 int version;
1399 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1400 if (version < 4)
1401 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1402 else
1403 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1404 exit (0);
1405 #endif
1407 #if defined (MULTIMAX) || defined (n16)
1408 #if defined (UMAXV)
1409 printf ("ns32k-encore-sysv\n"); exit (0);
1410 #else
1411 #if defined (CMU)
1412 printf ("ns32k-encore-mach\n"); exit (0);
1413 #else
1414 printf ("ns32k-encore-bsd\n"); exit (0);
1415 #endif
1416 #endif
1417 #endif
1419 #if defined (__386BSD__)
1420 printf ("i386-pc-bsd\n"); exit (0);
1421 #endif
1423 #if defined (sequent)
1424 #if defined (i386)
1425 printf ("i386-sequent-dynix\n"); exit (0);
1426 #endif
1427 #if defined (ns32000)
1428 printf ("ns32k-sequent-dynix\n"); exit (0);
1429 #endif
1430 #endif
1432 #if defined (_SEQUENT_)
1433 struct utsname un;
1435 uname(&un);
1437 if (strncmp(un.version, "V2", 2) == 0) {
1438 printf ("i386-sequent-ptx2\n"); exit (0);
1439 }
1440 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1441 printf ("i386-sequent-ptx1\n"); exit (0);
1442 }
1443 printf ("i386-sequent-ptx\n"); exit (0);
1445 #endif
1447 #if defined (vax)
1448 # if !defined (ultrix)
1449 # include <sys/param.h>
1450 # if defined (BSD)
1451 # if BSD == 43
1452 printf ("vax-dec-bsd4.3\n"); exit (0);
1453 # else
1454 # if BSD == 199006
1455 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1456 # else
1457 printf ("vax-dec-bsd\n"); exit (0);
1458 # endif
1459 # endif
1460 # else
1461 printf ("vax-dec-bsd\n"); exit (0);
1462 # endif
1463 # else
1464 printf ("vax-dec-ultrix\n"); exit (0);
1465 # endif
1466 #endif
1468 #if defined (alliant) && defined (i860)
1469 printf ("i860-alliant-bsd\n"); exit (0);
1470 #endif
1472 exit (1);
1473 }
1474 EOF
1476 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1477 { echo "$SYSTEM_NAME"; exit; }
1479 # Apollos put the system type in the environment.
1481 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1483 # Convex versions that predate uname can use getsysinfo(1)
1485 if [ -x /usr/convex/getsysinfo ]
1486 then
1487 case `getsysinfo -f cpu_type` in
1488 c1*)
1489 echo c1-convex-bsd
1490 exit ;;
1491 c2*)
1492 if getsysinfo -f scalar_acc
1493 then echo c32-convex-bsd
1494 else echo c2-convex-bsd
1495 fi
1496 exit ;;
1497 c34*)
1498 echo c34-convex-bsd
1499 exit ;;
1500 c38*)
1501 echo c38-convex-bsd
1502 exit ;;
1503 c4*)
1504 echo c4-convex-bsd
1505 exit ;;
1506 esac
1507 fi
1509 cat >&2 <<EOF
1510 $0: unable to guess system type
1512 This script, last modified $timestamp, has failed to recognize
1513 the operating system you are using. It is advised that you
1514 download the most up to date version of the config scripts from
1516 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1517 and
1518 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1520 If the version you run ($0) is already up to date, please
1521 send the following data and any information you think might be
1522 pertinent to <config-patches@gnu.org> in order to provide the needed
1523 information to handle your system.
1525 config.guess timestamp = $timestamp
1527 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1528 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1529 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1530 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1532 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1533 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1535 hostinfo = `(hostinfo) 2>/dev/null`
1536 /bin/universe = `(/bin/universe) 2>/dev/null`
1537 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1538 /bin/arch = `(/bin/arch) 2>/dev/null`
1539 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1540 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1542 UNAME_MACHINE = ${UNAME_MACHINE}
1543 UNAME_RELEASE = ${UNAME_RELEASE}
1544 UNAME_SYSTEM = ${UNAME_SYSTEM}
1545 UNAME_VERSION = ${UNAME_VERSION}
1546 EOF
1548 exit 1
1550 # Local variables:
1551 # eval: (add-hook 'write-file-hooks 'time-stamp)
1552 # time-stamp-start: "timestamp='"
1553 # time-stamp-format: "%:y-%02m-%02d"
1554 # time-stamp-end: "'"
1555 # End: