Codebase list bsdowl / 25b928d
Improve the detection of a compatible BSD Make program Michael Grünewald 9 years ago
4 changed file(s) with 3397 addition(s) and 7 deletion(s). Raw diff Collapse all Expand all
0 #! /bin/sh
1 # Attempt to guess a canonical system name.
2 # Copyright 1992-2013 Free Software Foundation, Inc.
3
4 timestamp='2013-05-16'
5
6 # This file is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
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
23 # program. This Exception is an additional permission under section 7
24 # of the GNU General Public License, version 3 ("GPLv3").
25 #
26 # Originally written by Per Bothner.
27 #
28 # You can get the latest version of this script from:
29 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
30 #
31 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
32
33
34 me=`echo "$0" | sed -e 's,.*/,,'`
35
36 usage="\
37 Usage: $0 [OPTION]
38
39 Output the configuration name of the system \`$me' is run on.
40
41 Operation modes:
42 -h, --help print this help, then exit
43 -t, --time-stamp print date of last modification, then exit
44 -v, --version print version number, then exit
45
46 Report bugs and patches to <config-patches@gnu.org>."
47
48 version="\
49 GNU config.guess ($timestamp)
50
51 Originally written by Per Bothner.
52 Copyright 1992-2013 Free Software Foundation, Inc.
53
54 This is free software; see the source for copying conditions. There is NO
55 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
56
57 help="
58 Try \`$me --help' for more information."
59
60 # Parse command line
61 while test $# -gt 0 ; do
62 case $1 in
63 --time-stamp | --time* | -t )
64 echo "$timestamp" ; exit ;;
65 --version | -v )
66 echo "$version" ; exit ;;
67 --help | --h* | -h )
68 echo "$usage"; exit ;;
69 -- ) # Stop option processing
70 shift; break ;;
71 - ) # Use stdin as input.
72 break ;;
73 -* )
74 echo "$me: invalid option $1$help" >&2
75 exit 1 ;;
76 * )
77 break ;;
78 esac
79 done
80
81 if test $# != 0; then
82 echo "$me: too many arguments$help" >&2
83 exit 1
84 fi
85
86 trap 'exit 1' 1 2 15
87
88 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
89 # compiler to aid in system detection is discouraged as it requires
90 # temporary files to be created and, as you can see below, it is a
91 # headache to deal with in a portable fashion.
92
93 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
94 # use `HOST_CC' if defined, but it is deprecated.
95
96 # Portable tmp directory creation inspired by the Autoconf team.
97
98 set_cc_for_build='
99 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
100 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
101 : ${TMPDIR=/tmp} ;
102 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
103 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
104 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
105 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
106 dummy=$tmp/dummy ;
107 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
108 case $CC_FOR_BUILD,$HOST_CC,$CC in
109 ,,) echo "int x;" > $dummy.c ;
110 for c in cc gcc c89 c99 ; do
111 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
112 CC_FOR_BUILD="$c"; break ;
113 fi ;
114 done ;
115 if test x"$CC_FOR_BUILD" = x ; then
116 CC_FOR_BUILD=no_compiler_found ;
117 fi
118 ;;
119 ,,*) CC_FOR_BUILD=$CC ;;
120 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
121 esac ; set_cc_for_build= ;'
122
123 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
124 # (ghazi@noc.rutgers.edu 1994-08-24)
125 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
126 PATH=$PATH:/.attbin ; export PATH
127 fi
128
129 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
130 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
131 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
132 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
133
134 case "${UNAME_SYSTEM}" in
135 Linux|GNU|GNU/*)
136 # If the system lacks a compiler, then just pick glibc.
137 # We could probably try harder.
138 LIBC=gnu
139
140 eval $set_cc_for_build
141 cat <<-EOF > $dummy.c
142 #include <features.h>
143 #if defined(__UCLIBC__)
144 LIBC=uclibc
145 #elif defined(__dietlibc__)
146 LIBC=dietlibc
147 #else
148 LIBC=gnu
149 #endif
150 EOF
151 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
152 ;;
153 esac
154
155 # Note: order is significant - the case branches are not exclusive.
156
157 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
158 *:NetBSD:*:*)
159 # NetBSD (nbsd) targets should (where applicable) match one or
160 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
161 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
162 # switched to ELF, *-*-netbsd* would select the old
163 # object file format. This provides both forward
164 # compatibility and a consistent mechanism for selecting the
165 # object file format.
166 #
167 # Note: NetBSD doesn't particularly care about the vendor
168 # portion of the name. We always set it to "unknown".
169 sysctl="sysctl -n hw.machine_arch"
170 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
171 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
172 case "${UNAME_MACHINE_ARCH}" in
173 armeb) machine=armeb-unknown ;;
174 arm*) machine=arm-unknown ;;
175 sh3el) machine=shl-unknown ;;
176 sh3eb) machine=sh-unknown ;;
177 sh5el) machine=sh5le-unknown ;;
178 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
179 esac
180 # The Operating System including object format, if it has switched
181 # to ELF recently, or will in the future.
182 case "${UNAME_MACHINE_ARCH}" in
183 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
184 eval $set_cc_for_build
185 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
186 | grep -q __ELF__
187 then
188 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
189 # Return netbsd for either. FIX?
190 os=netbsd
191 else
192 os=netbsdelf
193 fi
194 ;;
195 *)
196 os=netbsd
197 ;;
198 esac
199 # The OS release
200 # Debian GNU/NetBSD machines have a different userland, and
201 # thus, need a distinct triplet. However, they do not need
202 # kernel version information, so it can be replaced with a
203 # suitable tag, in the style of linux-gnu.
204 case "${UNAME_VERSION}" in
205 Debian*)
206 release='-gnu'
207 ;;
208 *)
209 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
210 ;;
211 esac
212 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
213 # contains redundant information, the shorter form:
214 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
215 echo "${machine}-${os}${release}"
216 exit ;;
217 *:Bitrig:*:*)
218 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
219 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
220 exit ;;
221 *:OpenBSD:*:*)
222 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
223 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
224 exit ;;
225 *:ekkoBSD:*:*)
226 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
227 exit ;;
228 *:SolidBSD:*:*)
229 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
230 exit ;;
231 macppc:MirBSD:*:*)
232 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
233 exit ;;
234 *:MirBSD:*:*)
235 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
236 exit ;;
237 alpha:OSF1:*:*)
238 case $UNAME_RELEASE in
239 *4.0)
240 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
241 ;;
242 *5.*)
243 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
244 ;;
245 esac
246 # According to Compaq, /usr/sbin/psrinfo has been available on
247 # OSF/1 and Tru64 systems produced since 1995. I hope that
248 # covers most systems running today. This code pipes the CPU
249 # types through head -n 1, so we only detect the type of CPU 0.
250 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
251 case "$ALPHA_CPU_TYPE" in
252 "EV4 (21064)")
253 UNAME_MACHINE="alpha" ;;
254 "EV4.5 (21064)")
255 UNAME_MACHINE="alpha" ;;
256 "LCA4 (21066/21068)")
257 UNAME_MACHINE="alpha" ;;
258 "EV5 (21164)")
259 UNAME_MACHINE="alphaev5" ;;
260 "EV5.6 (21164A)")
261 UNAME_MACHINE="alphaev56" ;;
262 "EV5.6 (21164PC)")
263 UNAME_MACHINE="alphapca56" ;;
264 "EV5.7 (21164PC)")
265 UNAME_MACHINE="alphapca57" ;;
266 "EV6 (21264)")
267 UNAME_MACHINE="alphaev6" ;;
268 "EV6.7 (21264A)")
269 UNAME_MACHINE="alphaev67" ;;
270 "EV6.8CB (21264C)")
271 UNAME_MACHINE="alphaev68" ;;
272 "EV6.8AL (21264B)")
273 UNAME_MACHINE="alphaev68" ;;
274 "EV6.8CX (21264D)")
275 UNAME_MACHINE="alphaev68" ;;
276 "EV6.9A (21264/EV69A)")
277 UNAME_MACHINE="alphaev69" ;;
278 "EV7 (21364)")
279 UNAME_MACHINE="alphaev7" ;;
280 "EV7.9 (21364A)")
281 UNAME_MACHINE="alphaev79" ;;
282 esac
283 # A Pn.n version is a patched version.
284 # A Vn.n version is a released version.
285 # A Tn.n version is a released field test version.
286 # A Xn.n version is an unreleased experimental baselevel.
287 # 1.2 uses "1.2" for uname -r.
288 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
289 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
290 exitcode=$?
291 trap '' 0
292 exit $exitcode ;;
293 Alpha\ *:Windows_NT*:*)
294 # How do we know it's Interix rather than the generic POSIX subsystem?
295 # Should we change UNAME_MACHINE based on the output of uname instead
296 # of the specific Alpha model?
297 echo alpha-pc-interix
298 exit ;;
299 21064:Windows_NT:50:3)
300 echo alpha-dec-winnt3.5
301 exit ;;
302 Amiga*:UNIX_System_V:4.0:*)
303 echo m68k-unknown-sysv4
304 exit ;;
305 *:[Aa]miga[Oo][Ss]:*:*)
306 echo ${UNAME_MACHINE}-unknown-amigaos
307 exit ;;
308 *:[Mm]orph[Oo][Ss]:*:*)
309 echo ${UNAME_MACHINE}-unknown-morphos
310 exit ;;
311 *:OS/390:*:*)
312 echo i370-ibm-openedition
313 exit ;;
314 *:z/VM:*:*)
315 echo s390-ibm-zvmoe
316 exit ;;
317 *:OS400:*:*)
318 echo powerpc-ibm-os400
319 exit ;;
320 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
321 echo arm-acorn-riscix${UNAME_RELEASE}
322 exit ;;
323 arm*:riscos:*:*|arm*:RISCOS:*:*)
324 echo arm-unknown-riscos
325 exit ;;
326 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
327 echo hppa1.1-hitachi-hiuxmpp
328 exit ;;
329 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
330 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
331 if test "`(/bin/universe) 2>/dev/null`" = att ; then
332 echo pyramid-pyramid-sysv3
333 else
334 echo pyramid-pyramid-bsd
335 fi
336 exit ;;
337 NILE*:*:*:dcosx)
338 echo pyramid-pyramid-svr4
339 exit ;;
340 DRS?6000:unix:4.0:6*)
341 echo sparc-icl-nx6
342 exit ;;
343 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
344 case `/usr/bin/uname -p` in
345 sparc) echo sparc-icl-nx7; exit ;;
346 esac ;;
347 s390x:SunOS:*:*)
348 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
349 exit ;;
350 sun4H:SunOS:5.*:*)
351 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
352 exit ;;
353 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
354 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355 exit ;;
356 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
357 echo i386-pc-auroraux${UNAME_RELEASE}
358 exit ;;
359 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
360 eval $set_cc_for_build
361 SUN_ARCH="i386"
362 # If there is a compiler, see if it is configured for 64-bit objects.
363 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
364 # This test works for both compilers.
365 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
366 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
367 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
368 grep IS_64BIT_ARCH >/dev/null
369 then
370 SUN_ARCH="x86_64"
371 fi
372 fi
373 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
374 exit ;;
375 sun4*:SunOS:6*:*)
376 # According to config.sub, this is the proper way to canonicalize
377 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
378 # it's likely to be more like Solaris than SunOS4.
379 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
380 exit ;;
381 sun4*:SunOS:*:*)
382 case "`/usr/bin/arch -k`" in
383 Series*|S4*)
384 UNAME_RELEASE=`uname -v`
385 ;;
386 esac
387 # Japanese Language versions have a version number like `4.1.3-JL'.
388 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
389 exit ;;
390 sun3*:SunOS:*:*)
391 echo m68k-sun-sunos${UNAME_RELEASE}
392 exit ;;
393 sun*:*:4.2BSD:*)
394 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
395 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
396 case "`/bin/arch`" in
397 sun3)
398 echo m68k-sun-sunos${UNAME_RELEASE}
399 ;;
400 sun4)
401 echo sparc-sun-sunos${UNAME_RELEASE}
402 ;;
403 esac
404 exit ;;
405 aushp:SunOS:*:*)
406 echo sparc-auspex-sunos${UNAME_RELEASE}
407 exit ;;
408 # The situation for MiNT is a little confusing. The machine name
409 # can be virtually everything (everything which is not
410 # "atarist" or "atariste" at least should have a processor
411 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
412 # to the lowercase version "mint" (or "freemint"). Finally
413 # the system name "TOS" denotes a system which is actually not
414 # MiNT. But MiNT is downward compatible to TOS, so this should
415 # be no problem.
416 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
417 echo m68k-atari-mint${UNAME_RELEASE}
418 exit ;;
419 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
420 echo m68k-atari-mint${UNAME_RELEASE}
421 exit ;;
422 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
423 echo m68k-atari-mint${UNAME_RELEASE}
424 exit ;;
425 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
426 echo m68k-milan-mint${UNAME_RELEASE}
427 exit ;;
428 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
429 echo m68k-hades-mint${UNAME_RELEASE}
430 exit ;;
431 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
432 echo m68k-unknown-mint${UNAME_RELEASE}
433 exit ;;
434 m68k:machten:*:*)
435 echo m68k-apple-machten${UNAME_RELEASE}
436 exit ;;
437 powerpc:machten:*:*)
438 echo powerpc-apple-machten${UNAME_RELEASE}
439 exit ;;
440 RISC*:Mach:*:*)
441 echo mips-dec-mach_bsd4.3
442 exit ;;
443 RISC*:ULTRIX:*:*)
444 echo mips-dec-ultrix${UNAME_RELEASE}
445 exit ;;
446 VAX*:ULTRIX*:*:*)
447 echo vax-dec-ultrix${UNAME_RELEASE}
448 exit ;;
449 2020:CLIX:*:* | 2430:CLIX:*:*)
450 echo clipper-intergraph-clix${UNAME_RELEASE}
451 exit ;;
452 mips:*:*:UMIPS | mips:*:*:RISCos)
453 eval $set_cc_for_build
454 sed 's/^ //' << EOF >$dummy.c
455 #ifdef __cplusplus
456 #include <stdio.h> /* for printf() prototype */
457 int main (int argc, char *argv[]) {
458 #else
459 int main (argc, argv) int argc; char *argv[]; {
460 #endif
461 #if defined (host_mips) && defined (MIPSEB)
462 #if defined (SYSTYPE_SYSV)
463 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
464 #endif
465 #if defined (SYSTYPE_SVR4)
466 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
467 #endif
468 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
469 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
470 #endif
471 #endif
472 exit (-1);
473 }
474 EOF
475 $CC_FOR_BUILD -o $dummy $dummy.c &&
476 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
477 SYSTEM_NAME=`$dummy $dummyarg` &&
478 { echo "$SYSTEM_NAME"; exit; }
479 echo mips-mips-riscos${UNAME_RELEASE}
480 exit ;;
481 Motorola:PowerMAX_OS:*:*)
482 echo powerpc-motorola-powermax
483 exit ;;
484 Motorola:*:4.3:PL8-*)
485 echo powerpc-harris-powermax
486 exit ;;
487 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
488 echo powerpc-harris-powermax
489 exit ;;
490 Night_Hawk:Power_UNIX:*:*)
491 echo powerpc-harris-powerunix
492 exit ;;
493 m88k:CX/UX:7*:*)
494 echo m88k-harris-cxux7
495 exit ;;
496 m88k:*:4*:R4*)
497 echo m88k-motorola-sysv4
498 exit ;;
499 m88k:*:3*:R3*)
500 echo m88k-motorola-sysv3
501 exit ;;
502 AViiON:dgux:*:*)
503 # DG/UX returns AViiON for all architectures
504 UNAME_PROCESSOR=`/usr/bin/uname -p`
505 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
506 then
507 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
508 [ ${TARGET_BINARY_INTERFACE}x = x ]
509 then
510 echo m88k-dg-dgux${UNAME_RELEASE}
511 else
512 echo m88k-dg-dguxbcs${UNAME_RELEASE}
513 fi
514 else
515 echo i586-dg-dgux${UNAME_RELEASE}
516 fi
517 exit ;;
518 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
519 echo m88k-dolphin-sysv3
520 exit ;;
521 M88*:*:R3*:*)
522 # Delta 88k system running SVR3
523 echo m88k-motorola-sysv3
524 exit ;;
525 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
526 echo m88k-tektronix-sysv3
527 exit ;;
528 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
529 echo m68k-tektronix-bsd
530 exit ;;
531 *:IRIX*:*:*)
532 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
533 exit ;;
534 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
535 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
536 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
537 i*86:AIX:*:*)
538 echo i386-ibm-aix
539 exit ;;
540 ia64:AIX:*:*)
541 if [ -x /usr/bin/oslevel ] ; then
542 IBM_REV=`/usr/bin/oslevel`
543 else
544 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
545 fi
546 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
547 exit ;;
548 *:AIX:2:3)
549 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
550 eval $set_cc_for_build
551 sed 's/^ //' << EOF >$dummy.c
552 #include <sys/systemcfg.h>
553
554 main()
555 {
556 if (!__power_pc())
557 exit(1);
558 puts("powerpc-ibm-aix3.2.5");
559 exit(0);
560 }
561 EOF
562 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
563 then
564 echo "$SYSTEM_NAME"
565 else
566 echo rs6000-ibm-aix3.2.5
567 fi
568 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
569 echo rs6000-ibm-aix3.2.4
570 else
571 echo rs6000-ibm-aix3.2
572 fi
573 exit ;;
574 *:AIX:*:[4567])
575 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
576 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
577 IBM_ARCH=rs6000
578 else
579 IBM_ARCH=powerpc
580 fi
581 if [ -x /usr/bin/oslevel ] ; then
582 IBM_REV=`/usr/bin/oslevel`
583 else
584 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
585 fi
586 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
587 exit ;;
588 *:AIX:*:*)
589 echo rs6000-ibm-aix
590 exit ;;
591 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
592 echo romp-ibm-bsd4.4
593 exit ;;
594 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
595 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
596 exit ;; # report: romp-ibm BSD 4.3
597 *:BOSX:*:*)
598 echo rs6000-bull-bosx
599 exit ;;
600 DPX/2?00:B.O.S.:*:*)
601 echo m68k-bull-sysv3
602 exit ;;
603 9000/[34]??:4.3bsd:1.*:*)
604 echo m68k-hp-bsd
605 exit ;;
606 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
607 echo m68k-hp-bsd4.4
608 exit ;;
609 9000/[34678]??:HP-UX:*:*)
610 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
611 case "${UNAME_MACHINE}" in
612 9000/31? ) HP_ARCH=m68000 ;;
613 9000/[34]?? ) HP_ARCH=m68k ;;
614 9000/[678][0-9][0-9])
615 if [ -x /usr/bin/getconf ]; then
616 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
617 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
618 case "${sc_cpu_version}" in
619 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
620 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
621 532) # CPU_PA_RISC2_0
622 case "${sc_kernel_bits}" in
623 32) HP_ARCH="hppa2.0n" ;;
624 64) HP_ARCH="hppa2.0w" ;;
625 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
626 esac ;;
627 esac
628 fi
629 if [ "${HP_ARCH}" = "" ]; then
630 eval $set_cc_for_build
631 sed 's/^ //' << EOF >$dummy.c
632
633 #define _HPUX_SOURCE
634 #include <stdlib.h>
635 #include <unistd.h>
636
637 int main ()
638 {
639 #if defined(_SC_KERNEL_BITS)
640 long bits = sysconf(_SC_KERNEL_BITS);
641 #endif
642 long cpu = sysconf (_SC_CPU_VERSION);
643
644 switch (cpu)
645 {
646 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
647 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
648 case CPU_PA_RISC2_0:
649 #if defined(_SC_KERNEL_BITS)
650 switch (bits)
651 {
652 case 64: puts ("hppa2.0w"); break;
653 case 32: puts ("hppa2.0n"); break;
654 default: puts ("hppa2.0"); break;
655 } break;
656 #else /* !defined(_SC_KERNEL_BITS) */
657 puts ("hppa2.0"); break;
658 #endif
659 default: puts ("hppa1.0"); break;
660 }
661 exit (0);
662 }
663 EOF
664 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
665 test -z "$HP_ARCH" && HP_ARCH=hppa
666 fi ;;
667 esac
668 if [ ${HP_ARCH} = "hppa2.0w" ]
669 then
670 eval $set_cc_for_build
671
672 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
673 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
674 # generating 64-bit code. GNU and HP use different nomenclature:
675 #
676 # $ CC_FOR_BUILD=cc ./config.guess
677 # => hppa2.0w-hp-hpux11.23
678 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
679 # => hppa64-hp-hpux11.23
680
681 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
682 grep -q __LP64__
683 then
684 HP_ARCH="hppa2.0w"
685 else
686 HP_ARCH="hppa64"
687 fi
688 fi
689 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
690 exit ;;
691 ia64:HP-UX:*:*)
692 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
693 echo ia64-hp-hpux${HPUX_REV}
694 exit ;;
695 3050*:HI-UX:*:*)
696 eval $set_cc_for_build
697 sed 's/^ //' << EOF >$dummy.c
698 #include <unistd.h>
699 int
700 main ()
701 {
702 long cpu = sysconf (_SC_CPU_VERSION);
703 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
704 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
705 results, however. */
706 if (CPU_IS_PA_RISC (cpu))
707 {
708 switch (cpu)
709 {
710 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
711 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
712 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
713 default: puts ("hppa-hitachi-hiuxwe2"); break;
714 }
715 }
716 else if (CPU_IS_HP_MC68K (cpu))
717 puts ("m68k-hitachi-hiuxwe2");
718 else puts ("unknown-hitachi-hiuxwe2");
719 exit (0);
720 }
721 EOF
722 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
723 { echo "$SYSTEM_NAME"; exit; }
724 echo unknown-hitachi-hiuxwe2
725 exit ;;
726 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
727 echo hppa1.1-hp-bsd
728 exit ;;
729 9000/8??:4.3bsd:*:*)
730 echo hppa1.0-hp-bsd
731 exit ;;
732 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
733 echo hppa1.0-hp-mpeix
734 exit ;;
735 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
736 echo hppa1.1-hp-osf
737 exit ;;
738 hp8??:OSF1:*:*)
739 echo hppa1.0-hp-osf
740 exit ;;
741 i*86:OSF1:*:*)
742 if [ -x /usr/sbin/sysversion ] ; then
743 echo ${UNAME_MACHINE}-unknown-osf1mk
744 else
745 echo ${UNAME_MACHINE}-unknown-osf1
746 fi
747 exit ;;
748 parisc*:Lites*:*:*)
749 echo hppa1.1-hp-lites
750 exit ;;
751 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
752 echo c1-convex-bsd
753 exit ;;
754 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
755 if getsysinfo -f scalar_acc
756 then echo c32-convex-bsd
757 else echo c2-convex-bsd
758 fi
759 exit ;;
760 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
761 echo c34-convex-bsd
762 exit ;;
763 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
764 echo c38-convex-bsd
765 exit ;;
766 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
767 echo c4-convex-bsd
768 exit ;;
769 CRAY*Y-MP:*:*:*)
770 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771 exit ;;
772 CRAY*[A-Z]90:*:*:*)
773 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
774 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
775 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
776 -e 's/\.[^.]*$/.X/'
777 exit ;;
778 CRAY*TS:*:*:*)
779 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
780 exit ;;
781 CRAY*T3E:*:*:*)
782 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
783 exit ;;
784 CRAY*SV1:*:*:*)
785 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
786 exit ;;
787 *:UNICOS/mp:*:*)
788 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
789 exit ;;
790 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
791 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
792 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
793 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
794 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
795 exit ;;
796 5000:UNIX_System_V:4.*:*)
797 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
798 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
799 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
800 exit ;;
801 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
802 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
803 exit ;;
804 sparc*:BSD/OS:*:*)
805 echo sparc-unknown-bsdi${UNAME_RELEASE}
806 exit ;;
807 *:BSD/OS:*:*)
808 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
809 exit ;;
810 *:FreeBSD:*:*)
811 UNAME_PROCESSOR=`/usr/bin/uname -p`
812 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
813 exit ;;
814 i*:CYGWIN*:*)
815 echo ${UNAME_MACHINE}-pc-cygwin
816 exit ;;
817 *:MINGW64*:*)
818 echo ${UNAME_MACHINE}-pc-mingw64
819 exit ;;
820 *:MINGW*:*)
821 echo ${UNAME_MACHINE}-pc-mingw32
822 exit ;;
823 i*:MSYS*:*)
824 echo ${UNAME_MACHINE}-pc-msys
825 exit ;;
826 i*:windows32*:*)
827 # uname -m includes "-pc" on this system.
828 echo ${UNAME_MACHINE}-mingw32
829 exit ;;
830 i*:PW*:*)
831 echo ${UNAME_MACHINE}-pc-pw32
832 exit ;;
833 *:Interix*:*)
834 case ${UNAME_MACHINE} in
835 x86)
836 echo i586-pc-interix${UNAME_RELEASE}
837 exit ;;
838 authenticamd | genuineintel | EM64T)
839 echo x86_64-unknown-interix${UNAME_RELEASE}
840 exit ;;
841 IA64)
842 echo ia64-unknown-interix${UNAME_RELEASE}
843 exit ;;
844 esac ;;
845 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
846 echo i${UNAME_MACHINE}-pc-mks
847 exit ;;
848 8664:Windows_NT:*)
849 echo x86_64-pc-mks
850 exit ;;
851 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
852 # How do we know it's Interix rather than the generic POSIX subsystem?
853 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
854 # UNAME_MACHINE based on the output of uname instead of i386?
855 echo i586-pc-interix
856 exit ;;
857 i*:UWIN*:*)
858 echo ${UNAME_MACHINE}-pc-uwin
859 exit ;;
860 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
861 echo x86_64-unknown-cygwin
862 exit ;;
863 p*:CYGWIN*:*)
864 echo powerpcle-unknown-cygwin
865 exit ;;
866 prep*:SunOS:5.*:*)
867 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
868 exit ;;
869 *:GNU:*:*)
870 # the GNU system
871 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
872 exit ;;
873 *:GNU/*:*:*)
874 # other systems with GNU libc and userland
875 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
876 exit ;;
877 i*86:Minix:*:*)
878 echo ${UNAME_MACHINE}-pc-minix
879 exit ;;
880 aarch64:Linux:*:*)
881 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
882 exit ;;
883 aarch64_be:Linux:*:*)
884 UNAME_MACHINE=aarch64_be
885 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
886 exit ;;
887 alpha:Linux:*:*)
888 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
889 EV5) UNAME_MACHINE=alphaev5 ;;
890 EV56) UNAME_MACHINE=alphaev56 ;;
891 PCA56) UNAME_MACHINE=alphapca56 ;;
892 PCA57) UNAME_MACHINE=alphapca56 ;;
893 EV6) UNAME_MACHINE=alphaev6 ;;
894 EV67) UNAME_MACHINE=alphaev67 ;;
895 EV68*) UNAME_MACHINE=alphaev68 ;;
896 esac
897 objdump --private-headers /bin/sh | grep -q ld.so.1
898 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
899 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
900 exit ;;
901 arc:Linux:*:* | arceb:Linux:*:*)
902 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
903 exit ;;
904 arm*:Linux:*:*)
905 eval $set_cc_for_build
906 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
907 | grep -q __ARM_EABI__
908 then
909 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
910 else
911 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
912 | grep -q __ARM_PCS_VFP
913 then
914 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
915 else
916 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
917 fi
918 fi
919 exit ;;
920 avr32*:Linux:*:*)
921 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
922 exit ;;
923 cris:Linux:*:*)
924 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
925 exit ;;
926 crisv32:Linux:*:*)
927 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
928 exit ;;
929 frv:Linux:*:*)
930 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
931 exit ;;
932 hexagon:Linux:*:*)
933 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
934 exit ;;
935 i*86:Linux:*:*)
936 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
937 exit ;;
938 ia64:Linux:*:*)
939 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
940 exit ;;
941 m32r*:Linux:*:*)
942 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
943 exit ;;
944 m68*:Linux:*:*)
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
946 exit ;;
947 mips:Linux:*:* | mips64:Linux:*:*)
948 eval $set_cc_for_build
949 sed 's/^ //' << EOF >$dummy.c
950 #undef CPU
951 #undef ${UNAME_MACHINE}
952 #undef ${UNAME_MACHINE}el
953 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
954 CPU=${UNAME_MACHINE}el
955 #else
956 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
957 CPU=${UNAME_MACHINE}
958 #else
959 CPU=
960 #endif
961 #endif
962 EOF
963 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
964 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
965 ;;
966 or1k:Linux:*:*)
967 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
968 exit ;;
969 or32:Linux:*:*)
970 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
971 exit ;;
972 padre:Linux:*:*)
973 echo sparc-unknown-linux-${LIBC}
974 exit ;;
975 parisc64:Linux:*:* | hppa64:Linux:*:*)
976 echo hppa64-unknown-linux-${LIBC}
977 exit ;;
978 parisc:Linux:*:* | hppa:Linux:*:*)
979 # Look for CPU level
980 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
981 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
982 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
983 *) echo hppa-unknown-linux-${LIBC} ;;
984 esac
985 exit ;;
986 ppc64:Linux:*:*)
987 echo powerpc64-unknown-linux-${LIBC}
988 exit ;;
989 ppc:Linux:*:*)
990 echo powerpc-unknown-linux-${LIBC}
991 exit ;;
992 s390:Linux:*:* | s390x:Linux:*:*)
993 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
994 exit ;;
995 sh64*:Linux:*:*)
996 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
997 exit ;;
998 sh*:Linux:*:*)
999 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1000 exit ;;
1001 sparc:Linux:*:* | sparc64:Linux:*:*)
1002 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1003 exit ;;
1004 tile*:Linux:*:*)
1005 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1006 exit ;;
1007 vax:Linux:*:*)
1008 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1009 exit ;;
1010 x86_64:Linux:*:*)
1011 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1012 exit ;;
1013 xtensa*:Linux:*:*)
1014 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1015 exit ;;
1016 i*86:DYNIX/ptx:4*:*)
1017 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1018 # earlier versions are messed up and put the nodename in both
1019 # sysname and nodename.
1020 echo i386-sequent-sysv4
1021 exit ;;
1022 i*86:UNIX_SV:4.2MP:2.*)
1023 # Unixware is an offshoot of SVR4, but it has its own version
1024 # number series starting with 2...
1025 # I am not positive that other SVR4 systems won't match this,
1026 # I just have to hope. -- rms.
1027 # Use sysv4.2uw... so that sysv4* matches it.
1028 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1029 exit ;;
1030 i*86:OS/2:*:*)
1031 # If we were able to find `uname', then EMX Unix compatibility
1032 # is probably installed.
1033 echo ${UNAME_MACHINE}-pc-os2-emx
1034 exit ;;
1035 i*86:XTS-300:*:STOP)
1036 echo ${UNAME_MACHINE}-unknown-stop
1037 exit ;;
1038 i*86:atheos:*:*)
1039 echo ${UNAME_MACHINE}-unknown-atheos
1040 exit ;;
1041 i*86:syllable:*:*)
1042 echo ${UNAME_MACHINE}-pc-syllable
1043 exit ;;
1044 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1045 echo i386-unknown-lynxos${UNAME_RELEASE}
1046 exit ;;
1047 i*86:*DOS:*:*)
1048 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1049 exit ;;
1050 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1051 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1052 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1053 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1054 else
1055 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1056 fi
1057 exit ;;
1058 i*86:*:5:[678]*)
1059 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1060 case `/bin/uname -X | grep "^Machine"` in
1061 *486*) UNAME_MACHINE=i486 ;;
1062 *Pentium) UNAME_MACHINE=i586 ;;
1063 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1064 esac
1065 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1066 exit ;;
1067 i*86:*:3.2:*)
1068 if test -f /usr/options/cb.name; then
1069 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1070 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1071 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1072 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1073 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1074 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1075 && UNAME_MACHINE=i586
1076 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1077 && UNAME_MACHINE=i686
1078 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1079 && UNAME_MACHINE=i686
1080 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1081 else
1082 echo ${UNAME_MACHINE}-pc-sysv32
1083 fi
1084 exit ;;
1085 pc:*:*:*)
1086 # Left here for compatibility:
1087 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1088 # the processor, so we play safe by assuming i586.
1089 # Note: whatever this is, it MUST be the same as what config.sub
1090 # prints for the "djgpp" host, or else GDB configury will decide that
1091 # this is a cross-build.
1092 echo i586-pc-msdosdjgpp
1093 exit ;;
1094 Intel:Mach:3*:*)
1095 echo i386-pc-mach3
1096 exit ;;
1097 paragon:*:*:*)
1098 echo i860-intel-osf1
1099 exit ;;
1100 i860:*:4.*:*) # i860-SVR4
1101 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1102 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1103 else # Add other i860-SVR4 vendors below as they are discovered.
1104 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1105 fi
1106 exit ;;
1107 mini*:CTIX:SYS*5:*)
1108 # "miniframe"
1109 echo m68010-convergent-sysv
1110 exit ;;
1111 mc68k:UNIX:SYSTEM5:3.51m)
1112 echo m68k-convergent-sysv
1113 exit ;;
1114 M680?0:D-NIX:5.3:*)
1115 echo m68k-diab-dnix
1116 exit ;;
1117 M68*:*:R3V[5678]*:*)
1118 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1119 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)
1120 OS_REL=''
1121 test -r /etc/.relid \
1122 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1123 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1124 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1125 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1126 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1127 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1128 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1129 && { echo i486-ncr-sysv4; exit; } ;;
1130 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1131 OS_REL='.3'
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 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1139 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1140 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1141 echo m68k-unknown-lynxos${UNAME_RELEASE}
1142 exit ;;
1143 mc68030:UNIX_System_V:4.*:*)
1144 echo m68k-atari-sysv4
1145 exit ;;
1146 TSUNAMI:LynxOS:2.*:*)
1147 echo sparc-unknown-lynxos${UNAME_RELEASE}
1148 exit ;;
1149 rs6000:LynxOS:2.*:*)
1150 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1151 exit ;;
1152 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1153 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1154 exit ;;
1155 SM[BE]S:UNIX_SV:*:*)
1156 echo mips-dde-sysv${UNAME_RELEASE}
1157 exit ;;
1158 RM*:ReliantUNIX-*:*:*)
1159 echo mips-sni-sysv4
1160 exit ;;
1161 RM*:SINIX-*:*:*)
1162 echo mips-sni-sysv4
1163 exit ;;
1164 *:SINIX-*:*:*)
1165 if uname -p 2>/dev/null >/dev/null ; then
1166 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1167 echo ${UNAME_MACHINE}-sni-sysv4
1168 else
1169 echo ns32k-sni-sysv
1170 fi
1171 exit ;;
1172 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1173 # says <Richard.M.Bartel@ccMail.Census.GOV>
1174 echo i586-unisys-sysv4
1175 exit ;;
1176 *:UNIX_System_V:4*:FTX*)
1177 # From Gerald Hewes <hewes@openmarket.com>.
1178 # How about differentiating between stratus architectures? -djm
1179 echo hppa1.1-stratus-sysv4
1180 exit ;;
1181 *:*:*:FTX*)
1182 # From seanf@swdc.stratus.com.
1183 echo i860-stratus-sysv4
1184 exit ;;
1185 i*86:VOS:*:*)
1186 # From Paul.Green@stratus.com.
1187 echo ${UNAME_MACHINE}-stratus-vos
1188 exit ;;
1189 *:VOS:*:*)
1190 # From Paul.Green@stratus.com.
1191 echo hppa1.1-stratus-vos
1192 exit ;;
1193 mc68*:A/UX:*:*)
1194 echo m68k-apple-aux${UNAME_RELEASE}
1195 exit ;;
1196 news*:NEWS-OS:6*:*)
1197 echo mips-sony-newsos6
1198 exit ;;
1199 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1200 if [ -d /usr/nec ]; then
1201 echo mips-nec-sysv${UNAME_RELEASE}
1202 else
1203 echo mips-unknown-sysv${UNAME_RELEASE}
1204 fi
1205 exit ;;
1206 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1207 echo powerpc-be-beos
1208 exit ;;
1209 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1210 echo powerpc-apple-beos
1211 exit ;;
1212 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1213 echo i586-pc-beos
1214 exit ;;
1215 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1216 echo i586-pc-haiku
1217 exit ;;
1218 x86_64:Haiku:*:*)
1219 echo x86_64-unknown-haiku
1220 exit ;;
1221 SX-4:SUPER-UX:*:*)
1222 echo sx4-nec-superux${UNAME_RELEASE}
1223 exit ;;
1224 SX-5:SUPER-UX:*:*)
1225 echo sx5-nec-superux${UNAME_RELEASE}
1226 exit ;;
1227 SX-6:SUPER-UX:*:*)
1228 echo sx6-nec-superux${UNAME_RELEASE}
1229 exit ;;
1230 SX-7:SUPER-UX:*:*)
1231 echo sx7-nec-superux${UNAME_RELEASE}
1232 exit ;;
1233 SX-8:SUPER-UX:*:*)
1234 echo sx8-nec-superux${UNAME_RELEASE}
1235 exit ;;
1236 SX-8R:SUPER-UX:*:*)
1237 echo sx8r-nec-superux${UNAME_RELEASE}
1238 exit ;;
1239 Power*:Rhapsody:*:*)
1240 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1241 exit ;;
1242 *:Rhapsody:*:*)
1243 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1244 exit ;;
1245 *:Darwin:*:*)
1246 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1247 eval $set_cc_for_build
1248 if test "$UNAME_PROCESSOR" = unknown ; then
1249 UNAME_PROCESSOR=powerpc
1250 fi
1251 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1252 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1253 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1254 grep IS_64BIT_ARCH >/dev/null
1255 then
1256 case $UNAME_PROCESSOR in
1257 i386) UNAME_PROCESSOR=x86_64 ;;
1258 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1259 esac
1260 fi
1261 fi
1262 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1263 exit ;;
1264 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1265 UNAME_PROCESSOR=`uname -p`
1266 if test "$UNAME_PROCESSOR" = "x86"; then
1267 UNAME_PROCESSOR=i386
1268 UNAME_MACHINE=pc
1269 fi
1270 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1271 exit ;;
1272 *:QNX:*:4*)
1273 echo i386-pc-qnx
1274 exit ;;
1275 NEO-?:NONSTOP_KERNEL:*:*)
1276 echo neo-tandem-nsk${UNAME_RELEASE}
1277 exit ;;
1278 NSE-*:NONSTOP_KERNEL:*:*)
1279 echo nse-tandem-nsk${UNAME_RELEASE}
1280 exit ;;
1281 NSR-?:NONSTOP_KERNEL:*:*)
1282 echo nsr-tandem-nsk${UNAME_RELEASE}
1283 exit ;;
1284 *:NonStop-UX:*:*)
1285 echo mips-compaq-nonstopux
1286 exit ;;
1287 BS2000:POSIX*:*:*)
1288 echo bs2000-siemens-sysv
1289 exit ;;
1290 DS/*:UNIX_System_V:*:*)
1291 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1292 exit ;;
1293 *:Plan9:*:*)
1294 # "uname -m" is not consistent, so use $cputype instead. 386
1295 # is converted to i386 for consistency with other x86
1296 # operating systems.
1297 if test "$cputype" = "386"; then
1298 UNAME_MACHINE=i386
1299 else
1300 UNAME_MACHINE="$cputype"
1301 fi
1302 echo ${UNAME_MACHINE}-unknown-plan9
1303 exit ;;
1304 *:TOPS-10:*:*)
1305 echo pdp10-unknown-tops10
1306 exit ;;
1307 *:TENEX:*:*)
1308 echo pdp10-unknown-tenex
1309 exit ;;
1310 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1311 echo pdp10-dec-tops20
1312 exit ;;
1313 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1314 echo pdp10-xkl-tops20
1315 exit ;;
1316 *:TOPS-20:*:*)
1317 echo pdp10-unknown-tops20
1318 exit ;;
1319 *:ITS:*:*)
1320 echo pdp10-unknown-its
1321 exit ;;
1322 SEI:*:*:SEIUX)
1323 echo mips-sei-seiux${UNAME_RELEASE}
1324 exit ;;
1325 *:DragonFly:*:*)
1326 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1327 exit ;;
1328 *:*VMS:*:*)
1329 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1330 case "${UNAME_MACHINE}" in
1331 A*) echo alpha-dec-vms ; exit ;;
1332 I*) echo ia64-dec-vms ; exit ;;
1333 V*) echo vax-dec-vms ; exit ;;
1334 esac ;;
1335 *:XENIX:*:SysV)
1336 echo i386-pc-xenix
1337 exit ;;
1338 i*86:skyos:*:*)
1339 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1340 exit ;;
1341 i*86:rdos:*:*)
1342 echo ${UNAME_MACHINE}-pc-rdos
1343 exit ;;
1344 i*86:AROS:*:*)
1345 echo ${UNAME_MACHINE}-pc-aros
1346 exit ;;
1347 x86_64:VMkernel:*:*)
1348 echo ${UNAME_MACHINE}-unknown-esx
1349 exit ;;
1350 esac
1351
1352 eval $set_cc_for_build
1353 cat >$dummy.c <<EOF
1354 #ifdef _SEQUENT_
1355 # include <sys/types.h>
1356 # include <sys/utsname.h>
1357 #endif
1358 main ()
1359 {
1360 #if defined (sony)
1361 #if defined (MIPSEB)
1362 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1363 I don't know.... */
1364 printf ("mips-sony-bsd\n"); exit (0);
1365 #else
1366 #include <sys/param.h>
1367 printf ("m68k-sony-newsos%s\n",
1368 #ifdef NEWSOS4
1369 "4"
1370 #else
1371 ""
1372 #endif
1373 ); exit (0);
1374 #endif
1375 #endif
1376
1377 #if defined (__arm) && defined (__acorn) && defined (__unix)
1378 printf ("arm-acorn-riscix\n"); exit (0);
1379 #endif
1380
1381 #if defined (hp300) && !defined (hpux)
1382 printf ("m68k-hp-bsd\n"); exit (0);
1383 #endif
1384
1385 #if defined (NeXT)
1386 #if !defined (__ARCHITECTURE__)
1387 #define __ARCHITECTURE__ "m68k"
1388 #endif
1389 int version;
1390 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1391 if (version < 4)
1392 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1393 else
1394 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1395 exit (0);
1396 #endif
1397
1398 #if defined (MULTIMAX) || defined (n16)
1399 #if defined (UMAXV)
1400 printf ("ns32k-encore-sysv\n"); exit (0);
1401 #else
1402 #if defined (CMU)
1403 printf ("ns32k-encore-mach\n"); exit (0);
1404 #else
1405 printf ("ns32k-encore-bsd\n"); exit (0);
1406 #endif
1407 #endif
1408 #endif
1409
1410 #if defined (__386BSD__)
1411 printf ("i386-pc-bsd\n"); exit (0);
1412 #endif
1413
1414 #if defined (sequent)
1415 #if defined (i386)
1416 printf ("i386-sequent-dynix\n"); exit (0);
1417 #endif
1418 #if defined (ns32000)
1419 printf ("ns32k-sequent-dynix\n"); exit (0);
1420 #endif
1421 #endif
1422
1423 #if defined (_SEQUENT_)
1424 struct utsname un;
1425
1426 uname(&un);
1427
1428 if (strncmp(un.version, "V2", 2) == 0) {
1429 printf ("i386-sequent-ptx2\n"); exit (0);
1430 }
1431 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1432 printf ("i386-sequent-ptx1\n"); exit (0);
1433 }
1434 printf ("i386-sequent-ptx\n"); exit (0);
1435
1436 #endif
1437
1438 #if defined (vax)
1439 # if !defined (ultrix)
1440 # include <sys/param.h>
1441 # if defined (BSD)
1442 # if BSD == 43
1443 printf ("vax-dec-bsd4.3\n"); exit (0);
1444 # else
1445 # if BSD == 199006
1446 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1447 # else
1448 printf ("vax-dec-bsd\n"); exit (0);
1449 # endif
1450 # endif
1451 # else
1452 printf ("vax-dec-bsd\n"); exit (0);
1453 # endif
1454 # else
1455 printf ("vax-dec-ultrix\n"); exit (0);
1456 # endif
1457 #endif
1458
1459 #if defined (alliant) && defined (i860)
1460 printf ("i860-alliant-bsd\n"); exit (0);
1461 #endif
1462
1463 exit (1);
1464 }
1465 EOF
1466
1467 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1468 { echo "$SYSTEM_NAME"; exit; }
1469
1470 # Apollos put the system type in the environment.
1471
1472 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1473
1474 # Convex versions that predate uname can use getsysinfo(1)
1475
1476 if [ -x /usr/convex/getsysinfo ]
1477 then
1478 case `getsysinfo -f cpu_type` in
1479 c1*)
1480 echo c1-convex-bsd
1481 exit ;;
1482 c2*)
1483 if getsysinfo -f scalar_acc
1484 then echo c32-convex-bsd
1485 else echo c2-convex-bsd
1486 fi
1487 exit ;;
1488 c34*)
1489 echo c34-convex-bsd
1490 exit ;;
1491 c38*)
1492 echo c38-convex-bsd
1493 exit ;;
1494 c4*)
1495 echo c4-convex-bsd
1496 exit ;;
1497 esac
1498 fi
1499
1500 cat >&2 <<EOF
1501 $0: unable to guess system type
1502
1503 This script, last modified $timestamp, has failed to recognize
1504 the operating system you are using. It is advised that you
1505 download the most up to date version of the config scripts from
1506
1507 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1508 and
1509 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1510
1511 If the version you run ($0) is already up to date, please
1512 send the following data and any information you think might be
1513 pertinent to <config-patches@gnu.org> in order to provide the needed
1514 information to handle your system.
1515
1516 config.guess timestamp = $timestamp
1517
1518 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1519 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1520 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1521 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1522
1523 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1524 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1525
1526 hostinfo = `(hostinfo) 2>/dev/null`
1527 /bin/universe = `(/bin/universe) 2>/dev/null`
1528 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1529 /bin/arch = `(/bin/arch) 2>/dev/null`
1530 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1531 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1532
1533 UNAME_MACHINE = ${UNAME_MACHINE}
1534 UNAME_RELEASE = ${UNAME_RELEASE}
1535 UNAME_SYSTEM = ${UNAME_SYSTEM}
1536 UNAME_VERSION = ${UNAME_VERSION}
1537 EOF
1538
1539 exit 1
1540
1541 # Local variables:
1542 # eval: (add-hook 'write-file-hooks 'time-stamp)
1543 # time-stamp-start: "timestamp='"
1544 # time-stamp-format: "%:y-%02m-%02d"
1545 # time-stamp-end: "'"
1546 # End:
0 #! /bin/sh
1 # Configuration validation subroutine script.
2 # Copyright 1992-2013 Free Software Foundation, Inc.
3
4 timestamp='2013-04-24'
5
6 # This file is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, see <http://www.gnu.org/licenses/>.
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
23 # program. This Exception is an additional permission under section 7
24 # of the GNU General Public License, version 3 ("GPLv3").
25
26
27 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
28 #
29 # Configuration subroutine to validate and canonicalize a configuration type.
30 # Supply the specified configuration type as an argument.
31 # If it is invalid, we print an error message on stderr and exit with code 1.
32 # Otherwise, we print the canonical config type on stdout and succeed.
33
34 # You can get the latest version of this script from:
35 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
36
37 # This file is supposed to be the same for all GNU packages
38 # and recognize all the CPU types, system types and aliases
39 # that are meaningful with *any* GNU software.
40 # Each package is responsible for reporting which valid configurations
41 # it does not support. The user should be able to distinguish
42 # a failure to support a valid configuration from a meaningless
43 # configuration.
44
45 # The goal of this file is to map all the various variations of a given
46 # machine specification into a single specification in the form:
47 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
48 # or in some cases, the newer four-part form:
49 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
50 # It is wrong to echo any other type of specification.
51
52 me=`echo "$0" | sed -e 's,.*/,,'`
53
54 usage="\
55 Usage: $0 [OPTION] CPU-MFR-OPSYS
56 $0 [OPTION] ALIAS
57
58 Canonicalize a configuration name.
59
60 Operation modes:
61 -h, --help print this help, then exit
62 -t, --time-stamp print date of last modification, then exit
63 -v, --version print version number, then exit
64
65 Report bugs and patches to <config-patches@gnu.org>."
66
67 version="\
68 GNU config.sub ($timestamp)
69
70 Copyright 1992-2013 Free Software Foundation, Inc.
71
72 This is free software; see the source for copying conditions. There is NO
73 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
74
75 help="
76 Try \`$me --help' for more information."
77
78 # Parse command line
79 while test $# -gt 0 ; do
80 case $1 in
81 --time-stamp | --time* | -t )
82 echo "$timestamp" ; exit ;;
83 --version | -v )
84 echo "$version" ; exit ;;
85 --help | --h* | -h )
86 echo "$usage"; exit ;;
87 -- ) # Stop option processing
88 shift; break ;;
89 - ) # Use stdin as input.
90 break ;;
91 -* )
92 echo "$me: invalid option $1$help"
93 exit 1 ;;
94
95 *local*)
96 # First pass through any local machine types.
97 echo $1
98 exit ;;
99
100 * )
101 break ;;
102 esac
103 done
104
105 case $# in
106 0) echo "$me: missing argument$help" >&2
107 exit 1;;
108 1) ;;
109 *) echo "$me: too many arguments$help" >&2
110 exit 1;;
111 esac
112
113 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
114 # Here we must recognize all the valid KERNEL-OS combinations.
115 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
116 case $maybe_os in
117 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
118 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119 knetbsd*-gnu* | netbsd*-gnu* | \
120 kopensolaris*-gnu* | \
121 storm-chaos* | os2-emx* | rtmk-nova*)
122 os=-$maybe_os
123 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
124 ;;
125 android-linux)
126 os=-linux-android
127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
128 ;;
129 *)
130 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131 if [ $basic_machine != $1 ]
132 then os=`echo $1 | sed 's/.*-/-/'`
133 else os=; fi
134 ;;
135 esac
136
137 ### Let's recognize common machines as not being operating systems so
138 ### that things like config.sub decstation-3100 work. We also
139 ### recognize some manufacturers as not being operating systems, so we
140 ### can provide default operating systems below.
141 case $os in
142 -sun*os*)
143 # Prevent following clause from handling this invalid input.
144 ;;
145 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 -apple | -axis | -knuth | -cray | -microblaze*)
152 os=
153 basic_machine=$1
154 ;;
155 -bluegene*)
156 os=-cnk
157 ;;
158 -sim | -cisco | -oki | -wec | -winbond)
159 os=
160 basic_machine=$1
161 ;;
162 -scout)
163 ;;
164 -wrs)
165 os=-vxworks
166 basic_machine=$1
167 ;;
168 -chorusos*)
169 os=-chorusos
170 basic_machine=$1
171 ;;
172 -chorusrdb)
173 os=-chorusrdb
174 basic_machine=$1
175 ;;
176 -hiux*)
177 os=-hiuxwe2
178 ;;
179 -sco6)
180 os=-sco5v6
181 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
182 ;;
183 -sco5)
184 os=-sco3.2v5
185 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186 ;;
187 -sco4)
188 os=-sco3.2v4
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 ;;
191 -sco3.2.[4-9]*)
192 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194 ;;
195 -sco3.2v[4-9]*)
196 # Don't forget version if it is 3.2v4 or newer.
197 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198 ;;
199 -sco5v6*)
200 # Don't forget version if it is 3.2v4 or newer.
201 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202 ;;
203 -sco*)
204 os=-sco3.2v2
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;
207 -udk*)
208 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
209 ;;
210 -isc)
211 os=-isc2.2
212 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 ;;
214 -clix*)
215 basic_machine=clipper-intergraph
216 ;;
217 -isc*)
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 ;;
220 -lynx*178)
221 os=-lynxos178
222 ;;
223 -lynx*5)
224 os=-lynxos5
225 ;;
226 -lynx*)
227 os=-lynxos
228 ;;
229 -ptx*)
230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231 ;;
232 -windowsnt*)
233 os=`echo $os | sed -e 's/windowsnt/winnt/'`
234 ;;
235 -psos*)
236 os=-psos
237 ;;
238 -mint | -mint[0-9]*)
239 basic_machine=m68k-atari
240 os=-mint
241 ;;
242 esac
243
244 # Decode aliases for certain CPU-COMPANY combinations.
245 case $basic_machine in
246 # Recognize the basic CPU types without company name.
247 # Some are omitted here because they have special meanings below.
248 1750a | 580 \
249 | a29k \
250 | aarch64 | aarch64_be \
251 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253 | am33_2.0 \
254 | arc | arceb \
255 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256 | avr | avr32 \
257 | be32 | be64 \
258 | bfin \
259 | c4x | clipper \
260 | d10v | d30v | dlx | dsp16xx \
261 | epiphany \
262 | fido | fr30 | frv \
263 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
264 | hexagon \
265 | i370 | i860 | i960 | ia64 \
266 | ip2k | iq2000 \
267 | le32 | le64 \
268 | lm32 \
269 | m32c | m32r | m32rle | m68000 | m68k | m88k \
270 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
271 | mips | mipsbe | mipseb | mipsel | mipsle \
272 | mips16 \
273 | mips64 | mips64el \
274 | mips64octeon | mips64octeonel \
275 | mips64orion | mips64orionel \
276 | mips64r5900 | mips64r5900el \
277 | mips64vr | mips64vrel \
278 | mips64vr4100 | mips64vr4100el \
279 | mips64vr4300 | mips64vr4300el \
280 | mips64vr5000 | mips64vr5000el \
281 | mips64vr5900 | mips64vr5900el \
282 | mipsisa32 | mipsisa32el \
283 | mipsisa32r2 | mipsisa32r2el \
284 | mipsisa64 | mipsisa64el \
285 | mipsisa64r2 | mipsisa64r2el \
286 | mipsisa64sb1 | mipsisa64sb1el \
287 | mipsisa64sr71k | mipsisa64sr71kel \
288 | mipsr5900 | mipsr5900el \
289 | mipstx39 | mipstx39el \
290 | mn10200 | mn10300 \
291 | moxie \
292 | mt \
293 | msp430 \
294 | nds32 | nds32le | nds32be \
295 | nios | nios2 | nios2eb | nios2el \
296 | ns16k | ns32k \
297 | open8 \
298 | or1k | or32 \
299 | pdp10 | pdp11 | pj | pjl \
300 | powerpc | powerpc64 | powerpc64le | powerpcle \
301 | pyramid \
302 | rl78 | rx \
303 | score \
304 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
305 | sh64 | sh64le \
306 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
307 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
308 | spu \
309 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
310 | ubicom32 \
311 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
312 | we32k \
313 | x86 | xc16x | xstormy16 | xtensa \
314 | z8k | z80)
315 basic_machine=$basic_machine-unknown
316 ;;
317 c54x)
318 basic_machine=tic54x-unknown
319 ;;
320 c55x)
321 basic_machine=tic55x-unknown
322 ;;
323 c6x)
324 basic_machine=tic6x-unknown
325 ;;
326 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
327 basic_machine=$basic_machine-unknown
328 os=-none
329 ;;
330 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
331 ;;
332 ms1)
333 basic_machine=mt-unknown
334 ;;
335
336 strongarm | thumb | xscale)
337 basic_machine=arm-unknown
338 ;;
339 xgate)
340 basic_machine=$basic_machine-unknown
341 os=-none
342 ;;
343 xscaleeb)
344 basic_machine=armeb-unknown
345 ;;
346
347 xscaleel)
348 basic_machine=armel-unknown
349 ;;
350
351 # We use `pc' rather than `unknown'
352 # because (1) that's what they normally are, and
353 # (2) the word "unknown" tends to confuse beginning users.
354 i*86 | x86_64)
355 basic_machine=$basic_machine-pc
356 ;;
357 # Object if more than one company name word.
358 *-*-*)
359 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
360 exit 1
361 ;;
362 # Recognize the basic CPU types with company name.
363 580-* \
364 | a29k-* \
365 | aarch64-* | aarch64_be-* \
366 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
367 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
368 | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* | arceb-* \
369 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
370 | avr-* | avr32-* \
371 | be32-* | be64-* \
372 | bfin-* | bs2000-* \
373 | c[123]* | c30-* | [cjt]90-* | c4x-* \
374 | clipper-* | craynv-* | cydra-* \
375 | d10v-* | d30v-* | dlx-* \
376 | elxsi-* \
377 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
378 | h8300-* | h8500-* \
379 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
380 | hexagon-* \
381 | i*86-* | i860-* | i960-* | ia64-* \
382 | ip2k-* | iq2000-* \
383 | le32-* | le64-* \
384 | lm32-* \
385 | m32c-* | m32r-* | m32rle-* \
386 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
387 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
388 | microblaze-* | microblazeel-* \
389 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
390 | mips16-* \
391 | mips64-* | mips64el-* \
392 | mips64octeon-* | mips64octeonel-* \
393 | mips64orion-* | mips64orionel-* \
394 | mips64r5900-* | mips64r5900el-* \
395 | mips64vr-* | mips64vrel-* \
396 | mips64vr4100-* | mips64vr4100el-* \
397 | mips64vr4300-* | mips64vr4300el-* \
398 | mips64vr5000-* | mips64vr5000el-* \
399 | mips64vr5900-* | mips64vr5900el-* \
400 | mipsisa32-* | mipsisa32el-* \
401 | mipsisa32r2-* | mipsisa32r2el-* \
402 | mipsisa64-* | mipsisa64el-* \
403 | mipsisa64r2-* | mipsisa64r2el-* \
404 | mipsisa64sb1-* | mipsisa64sb1el-* \
405 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
406 | mipsr5900-* | mipsr5900el-* \
407 | mipstx39-* | mipstx39el-* \
408 | mmix-* \
409 | mt-* \
410 | msp430-* \
411 | nds32-* | nds32le-* | nds32be-* \
412 | nios-* | nios2-* | nios2eb-* | nios2el-* \
413 | none-* | np1-* | ns16k-* | ns32k-* \
414 | open8-* \
415 | orion-* \
416 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
417 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
418 | pyramid-* \
419 | rl78-* | romp-* | rs6000-* | rx-* \
420 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
421 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
422 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
423 | sparclite-* \
424 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
425 | tahoe-* \
426 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
427 | tile*-* \
428 | tron-* \
429 | ubicom32-* \
430 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
431 | vax-* \
432 | we32k-* \
433 | x86-* | x86_64-* | xc16x-* | xps100-* \
434 | xstormy16-* | xtensa*-* \
435 | ymp-* \
436 | z8k-* | z80-*)
437 ;;
438 # Recognize the basic CPU types without company name, with glob match.
439 xtensa*)
440 basic_machine=$basic_machine-unknown
441 ;;
442 # Recognize the various machine names and aliases which stand
443 # for a CPU type and a company and sometimes even an OS.
444 386bsd)
445 basic_machine=i386-unknown
446 os=-bsd
447 ;;
448 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
449 basic_machine=m68000-att
450 ;;
451 3b*)
452 basic_machine=we32k-att
453 ;;
454 a29khif)
455 basic_machine=a29k-amd
456 os=-udi
457 ;;
458 abacus)
459 basic_machine=abacus-unknown
460 ;;
461 adobe68k)
462 basic_machine=m68010-adobe
463 os=-scout
464 ;;
465 alliant | fx80)
466 basic_machine=fx80-alliant
467 ;;
468 altos | altos3068)
469 basic_machine=m68k-altos
470 ;;
471 am29k)
472 basic_machine=a29k-none
473 os=-bsd
474 ;;
475 amdahl)
476 basic_machine=580-amdahl
477 os=-sysv
478 ;;
479 amiga | amiga-*)
480 basic_machine=m68k-unknown
481 ;;
482 amigaos | amigados)
483 basic_machine=m68k-unknown
484 os=-amigaos
485 ;;
486 amigaunix | amix)
487 basic_machine=m68k-unknown
488 os=-sysv4
489 ;;
490 apollo68)
491 basic_machine=m68k-apollo
492 os=-sysv
493 ;;
494 apollo68bsd)
495 basic_machine=m68k-apollo
496 os=-bsd
497 ;;
498 aros)
499 basic_machine=i386-pc
500 os=-aros
501 ;;
502 aux)
503 basic_machine=m68k-apple
504 os=-aux
505 ;;
506 balance)
507 basic_machine=ns32k-sequent
508 os=-dynix
509 ;;
510 blackfin)
511 basic_machine=bfin-unknown
512 os=-linux
513 ;;
514 blackfin-*)
515 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
516 os=-linux
517 ;;
518 bluegene*)
519 basic_machine=powerpc-ibm
520 os=-cnk
521 ;;
522 c54x-*)
523 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
524 ;;
525 c55x-*)
526 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
527 ;;
528 c6x-*)
529 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
530 ;;
531 c90)
532 basic_machine=c90-cray
533 os=-unicos
534 ;;
535 cegcc)
536 basic_machine=arm-unknown
537 os=-cegcc
538 ;;
539 convex-c1)
540 basic_machine=c1-convex
541 os=-bsd
542 ;;
543 convex-c2)
544 basic_machine=c2-convex
545 os=-bsd
546 ;;
547 convex-c32)
548 basic_machine=c32-convex
549 os=-bsd
550 ;;
551 convex-c34)
552 basic_machine=c34-convex
553 os=-bsd
554 ;;
555 convex-c38)
556 basic_machine=c38-convex
557 os=-bsd
558 ;;
559 cray | j90)
560 basic_machine=j90-cray
561 os=-unicos
562 ;;
563 craynv)
564 basic_machine=craynv-cray
565 os=-unicosmp
566 ;;
567 cr16 | cr16-*)
568 basic_machine=cr16-unknown
569 os=-elf
570 ;;
571 crds | unos)
572 basic_machine=m68k-crds
573 ;;
574 crisv32 | crisv32-* | etraxfs*)
575 basic_machine=crisv32-axis
576 ;;
577 cris | cris-* | etrax*)
578 basic_machine=cris-axis
579 ;;
580 crx)
581 basic_machine=crx-unknown
582 os=-elf
583 ;;
584 da30 | da30-*)
585 basic_machine=m68k-da30
586 ;;
587 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
588 basic_machine=mips-dec
589 ;;
590 decsystem10* | dec10*)
591 basic_machine=pdp10-dec
592 os=-tops10
593 ;;
594 decsystem20* | dec20*)
595 basic_machine=pdp10-dec
596 os=-tops20
597 ;;
598 delta | 3300 | motorola-3300 | motorola-delta \
599 | 3300-motorola | delta-motorola)
600 basic_machine=m68k-motorola
601 ;;
602 delta88)
603 basic_machine=m88k-motorola
604 os=-sysv3
605 ;;
606 dicos)
607 basic_machine=i686-pc
608 os=-dicos
609 ;;
610 djgpp)
611 basic_machine=i586-pc
612 os=-msdosdjgpp
613 ;;
614 dpx20 | dpx20-*)
615 basic_machine=rs6000-bull
616 os=-bosx
617 ;;
618 dpx2* | dpx2*-bull)
619 basic_machine=m68k-bull
620 os=-sysv3
621 ;;
622 ebmon29k)
623 basic_machine=a29k-amd
624 os=-ebmon
625 ;;
626 elxsi)
627 basic_machine=elxsi-elxsi
628 os=-bsd
629 ;;
630 encore | umax | mmax)
631 basic_machine=ns32k-encore
632 ;;
633 es1800 | OSE68k | ose68k | ose | OSE)
634 basic_machine=m68k-ericsson
635 os=-ose
636 ;;
637 fx2800)
638 basic_machine=i860-alliant
639 ;;
640 genix)
641 basic_machine=ns32k-ns
642 ;;
643 gmicro)
644 basic_machine=tron-gmicro
645 os=-sysv
646 ;;
647 go32)
648 basic_machine=i386-pc
649 os=-go32
650 ;;
651 h3050r* | hiux*)
652 basic_machine=hppa1.1-hitachi
653 os=-hiuxwe2
654 ;;
655 h8300hms)
656 basic_machine=h8300-hitachi
657 os=-hms
658 ;;
659 h8300xray)
660 basic_machine=h8300-hitachi
661 os=-xray
662 ;;
663 h8500hms)
664 basic_machine=h8500-hitachi
665 os=-hms
666 ;;
667 harris)
668 basic_machine=m88k-harris
669 os=-sysv3
670 ;;
671 hp300-*)
672 basic_machine=m68k-hp
673 ;;
674 hp300bsd)
675 basic_machine=m68k-hp
676 os=-bsd
677 ;;
678 hp300hpux)
679 basic_machine=m68k-hp
680 os=-hpux
681 ;;
682 hp3k9[0-9][0-9] | hp9[0-9][0-9])
683 basic_machine=hppa1.0-hp
684 ;;
685 hp9k2[0-9][0-9] | hp9k31[0-9])
686 basic_machine=m68000-hp
687 ;;
688 hp9k3[2-9][0-9])
689 basic_machine=m68k-hp
690 ;;
691 hp9k6[0-9][0-9] | hp6[0-9][0-9])
692 basic_machine=hppa1.0-hp
693 ;;
694 hp9k7[0-79][0-9] | hp7[0-79][0-9])
695 basic_machine=hppa1.1-hp
696 ;;
697 hp9k78[0-9] | hp78[0-9])
698 # FIXME: really hppa2.0-hp
699 basic_machine=hppa1.1-hp
700 ;;
701 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
702 # FIXME: really hppa2.0-hp
703 basic_machine=hppa1.1-hp
704 ;;
705 hp9k8[0-9][13679] | hp8[0-9][13679])
706 basic_machine=hppa1.1-hp
707 ;;
708 hp9k8[0-9][0-9] | hp8[0-9][0-9])
709 basic_machine=hppa1.0-hp
710 ;;
711 hppa-next)
712 os=-nextstep3
713 ;;
714 hppaosf)
715 basic_machine=hppa1.1-hp
716 os=-osf
717 ;;
718 hppro)
719 basic_machine=hppa1.1-hp
720 os=-proelf
721 ;;
722 i370-ibm* | ibm*)
723 basic_machine=i370-ibm
724 ;;
725 i*86v32)
726 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727 os=-sysv32
728 ;;
729 i*86v4*)
730 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731 os=-sysv4
732 ;;
733 i*86v)
734 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735 os=-sysv
736 ;;
737 i*86sol2)
738 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
739 os=-solaris2
740 ;;
741 i386mach)
742 basic_machine=i386-mach
743 os=-mach
744 ;;
745 i386-vsta | vsta)
746 basic_machine=i386-unknown
747 os=-vsta
748 ;;
749 iris | iris4d)
750 basic_machine=mips-sgi
751 case $os in
752 -irix*)
753 ;;
754 *)
755 os=-irix4
756 ;;
757 esac
758 ;;
759 isi68 | isi)
760 basic_machine=m68k-isi
761 os=-sysv
762 ;;
763 m68knommu)
764 basic_machine=m68k-unknown
765 os=-linux
766 ;;
767 m68knommu-*)
768 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
769 os=-linux
770 ;;
771 m88k-omron*)
772 basic_machine=m88k-omron
773 ;;
774 magnum | m3230)
775 basic_machine=mips-mips
776 os=-sysv
777 ;;
778 merlin)
779 basic_machine=ns32k-utek
780 os=-sysv
781 ;;
782 microblaze*)
783 basic_machine=microblaze-xilinx
784 ;;
785 mingw64)
786 basic_machine=x86_64-pc
787 os=-mingw64
788 ;;
789 mingw32)
790 basic_machine=i386-pc
791 os=-mingw32
792 ;;
793 mingw32ce)
794 basic_machine=arm-unknown
795 os=-mingw32ce
796 ;;
797 miniframe)
798 basic_machine=m68000-convergent
799 ;;
800 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
801 basic_machine=m68k-atari
802 os=-mint
803 ;;
804 mips3*-*)
805 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
806 ;;
807 mips3*)
808 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
809 ;;
810 monitor)
811 basic_machine=m68k-rom68k
812 os=-coff
813 ;;
814 morphos)
815 basic_machine=powerpc-unknown
816 os=-morphos
817 ;;
818 msdos)
819 basic_machine=i386-pc
820 os=-msdos
821 ;;
822 ms1-*)
823 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
824 ;;
825 msys)
826 basic_machine=i386-pc
827 os=-msys
828 ;;
829 mvs)
830 basic_machine=i370-ibm
831 os=-mvs
832 ;;
833 nacl)
834 basic_machine=le32-unknown
835 os=-nacl
836 ;;
837 ncr3000)
838 basic_machine=i486-ncr
839 os=-sysv4
840 ;;
841 netbsd386)
842 basic_machine=i386-unknown
843 os=-netbsd
844 ;;
845 netwinder)
846 basic_machine=armv4l-rebel
847 os=-linux
848 ;;
849 news | news700 | news800 | news900)
850 basic_machine=m68k-sony
851 os=-newsos
852 ;;
853 news1000)
854 basic_machine=m68030-sony
855 os=-newsos
856 ;;
857 news-3600 | risc-news)
858 basic_machine=mips-sony
859 os=-newsos
860 ;;
861 necv70)
862 basic_machine=v70-nec
863 os=-sysv
864 ;;
865 next | m*-next )
866 basic_machine=m68k-next
867 case $os in
868 -nextstep* )
869 ;;
870 -ns2*)
871 os=-nextstep2
872 ;;
873 *)
874 os=-nextstep3
875 ;;
876 esac
877 ;;
878 nh3000)
879 basic_machine=m68k-harris
880 os=-cxux
881 ;;
882 nh[45]000)
883 basic_machine=m88k-harris
884 os=-cxux
885 ;;
886 nindy960)
887 basic_machine=i960-intel
888 os=-nindy
889 ;;
890 mon960)
891 basic_machine=i960-intel
892 os=-mon960
893 ;;
894 nonstopux)
895 basic_machine=mips-compaq
896 os=-nonstopux
897 ;;
898 np1)
899 basic_machine=np1-gould
900 ;;
901 neo-tandem)
902 basic_machine=neo-tandem
903 ;;
904 nse-tandem)
905 basic_machine=nse-tandem
906 ;;
907 nsr-tandem)
908 basic_machine=nsr-tandem
909 ;;
910 op50n-* | op60c-*)
911 basic_machine=hppa1.1-oki
912 os=-proelf
913 ;;
914 openrisc | openrisc-*)
915 basic_machine=or32-unknown
916 ;;
917 os400)
918 basic_machine=powerpc-ibm
919 os=-os400
920 ;;
921 OSE68000 | ose68000)
922 basic_machine=m68000-ericsson
923 os=-ose
924 ;;
925 os68k)
926 basic_machine=m68k-none
927 os=-os68k
928 ;;
929 pa-hitachi)
930 basic_machine=hppa1.1-hitachi
931 os=-hiuxwe2
932 ;;
933 paragon)
934 basic_machine=i860-intel
935 os=-osf
936 ;;
937 parisc)
938 basic_machine=hppa-unknown
939 os=-linux
940 ;;
941 parisc-*)
942 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
943 os=-linux
944 ;;
945 pbd)
946 basic_machine=sparc-tti
947 ;;
948 pbb)
949 basic_machine=m68k-tti
950 ;;
951 pc532 | pc532-*)
952 basic_machine=ns32k-pc532
953 ;;
954 pc98)
955 basic_machine=i386-pc
956 ;;
957 pc98-*)
958 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
959 ;;
960 pentium | p5 | k5 | k6 | nexgen | viac3)
961 basic_machine=i586-pc
962 ;;
963 pentiumpro | p6 | 6x86 | athlon | athlon_*)
964 basic_machine=i686-pc
965 ;;
966 pentiumii | pentium2 | pentiumiii | pentium3)
967 basic_machine=i686-pc
968 ;;
969 pentium4)
970 basic_machine=i786-pc
971 ;;
972 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
973 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
974 ;;
975 pentiumpro-* | p6-* | 6x86-* | athlon-*)
976 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
977 ;;
978 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
979 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
980 ;;
981 pentium4-*)
982 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
983 ;;
984 pn)
985 basic_machine=pn-gould
986 ;;
987 power) basic_machine=power-ibm
988 ;;
989 ppc | ppcbe) basic_machine=powerpc-unknown
990 ;;
991 ppc-* | ppcbe-*)
992 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
993 ;;
994 ppcle | powerpclittle | ppc-le | powerpc-little)
995 basic_machine=powerpcle-unknown
996 ;;
997 ppcle-* | powerpclittle-*)
998 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
999 ;;
1000 ppc64) basic_machine=powerpc64-unknown
1001 ;;
1002 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1003 ;;
1004 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1005 basic_machine=powerpc64le-unknown
1006 ;;
1007 ppc64le-* | powerpc64little-*)
1008 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1009 ;;
1010 ps2)
1011 basic_machine=i386-ibm
1012 ;;
1013 pw32)
1014 basic_machine=i586-unknown
1015 os=-pw32
1016 ;;
1017 rdos | rdos64)
1018 basic_machine=x86_64-pc
1019 os=-rdos
1020 ;;
1021 rdos32)
1022 basic_machine=i386-pc
1023 os=-rdos
1024 ;;
1025 rom68k)
1026 basic_machine=m68k-rom68k
1027 os=-coff
1028 ;;
1029 rm[46]00)
1030 basic_machine=mips-siemens
1031 ;;
1032 rtpc | rtpc-*)
1033 basic_machine=romp-ibm
1034 ;;
1035 s390 | s390-*)
1036 basic_machine=s390-ibm
1037 ;;
1038 s390x | s390x-*)
1039 basic_machine=s390x-ibm
1040 ;;
1041 sa29200)
1042 basic_machine=a29k-amd
1043 os=-udi
1044 ;;
1045 sb1)
1046 basic_machine=mipsisa64sb1-unknown
1047 ;;
1048 sb1el)
1049 basic_machine=mipsisa64sb1el-unknown
1050 ;;
1051 sde)
1052 basic_machine=mipsisa32-sde
1053 os=-elf
1054 ;;
1055 sei)
1056 basic_machine=mips-sei
1057 os=-seiux
1058 ;;
1059 sequent)
1060 basic_machine=i386-sequent
1061 ;;
1062 sh)
1063 basic_machine=sh-hitachi
1064 os=-hms
1065 ;;
1066 sh5el)
1067 basic_machine=sh5le-unknown
1068 ;;
1069 sh64)
1070 basic_machine=sh64-unknown
1071 ;;
1072 sparclite-wrs | simso-wrs)
1073 basic_machine=sparclite-wrs
1074 os=-vxworks
1075 ;;
1076 sps7)
1077 basic_machine=m68k-bull
1078 os=-sysv2
1079 ;;
1080 spur)
1081 basic_machine=spur-unknown
1082 ;;
1083 st2000)
1084 basic_machine=m68k-tandem
1085 ;;
1086 stratus)
1087 basic_machine=i860-stratus
1088 os=-sysv4
1089 ;;
1090 strongarm-* | thumb-*)
1091 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1092 ;;
1093 sun2)
1094 basic_machine=m68000-sun
1095 ;;
1096 sun2os3)
1097 basic_machine=m68000-sun
1098 os=-sunos3
1099 ;;
1100 sun2os4)
1101 basic_machine=m68000-sun
1102 os=-sunos4
1103 ;;
1104 sun3os3)
1105 basic_machine=m68k-sun
1106 os=-sunos3
1107 ;;
1108 sun3os4)
1109 basic_machine=m68k-sun
1110 os=-sunos4
1111 ;;
1112 sun4os3)
1113 basic_machine=sparc-sun
1114 os=-sunos3
1115 ;;
1116 sun4os4)
1117 basic_machine=sparc-sun
1118 os=-sunos4
1119 ;;
1120 sun4sol2)
1121 basic_machine=sparc-sun
1122 os=-solaris2
1123 ;;
1124 sun3 | sun3-*)
1125 basic_machine=m68k-sun
1126 ;;
1127 sun4)
1128 basic_machine=sparc-sun
1129 ;;
1130 sun386 | sun386i | roadrunner)
1131 basic_machine=i386-sun
1132 ;;
1133 sv1)
1134 basic_machine=sv1-cray
1135 os=-unicos
1136 ;;
1137 symmetry)
1138 basic_machine=i386-sequent
1139 os=-dynix
1140 ;;
1141 t3e)
1142 basic_machine=alphaev5-cray
1143 os=-unicos
1144 ;;
1145 t90)
1146 basic_machine=t90-cray
1147 os=-unicos
1148 ;;
1149 tile*)
1150 basic_machine=$basic_machine-unknown
1151 os=-linux-gnu
1152 ;;
1153 tx39)
1154 basic_machine=mipstx39-unknown
1155 ;;
1156 tx39el)
1157 basic_machine=mipstx39el-unknown
1158 ;;
1159 toad1)
1160 basic_machine=pdp10-xkl
1161 os=-tops20
1162 ;;
1163 tower | tower-32)
1164 basic_machine=m68k-ncr
1165 ;;
1166 tpf)
1167 basic_machine=s390x-ibm
1168 os=-tpf
1169 ;;
1170 udi29k)
1171 basic_machine=a29k-amd
1172 os=-udi
1173 ;;
1174 ultra3)
1175 basic_machine=a29k-nyu
1176 os=-sym1
1177 ;;
1178 v810 | necv810)
1179 basic_machine=v810-nec
1180 os=-none
1181 ;;
1182 vaxv)
1183 basic_machine=vax-dec
1184 os=-sysv
1185 ;;
1186 vms)
1187 basic_machine=vax-dec
1188 os=-vms
1189 ;;
1190 vpp*|vx|vx-*)
1191 basic_machine=f301-fujitsu
1192 ;;
1193 vxworks960)
1194 basic_machine=i960-wrs
1195 os=-vxworks
1196 ;;
1197 vxworks68)
1198 basic_machine=m68k-wrs
1199 os=-vxworks
1200 ;;
1201 vxworks29k)
1202 basic_machine=a29k-wrs
1203 os=-vxworks
1204 ;;
1205 w65*)
1206 basic_machine=w65-wdc
1207 os=-none
1208 ;;
1209 w89k-*)
1210 basic_machine=hppa1.1-winbond
1211 os=-proelf
1212 ;;
1213 xbox)
1214 basic_machine=i686-pc
1215 os=-mingw32
1216 ;;
1217 xps | xps100)
1218 basic_machine=xps100-honeywell
1219 ;;
1220 xscale-* | xscalee[bl]-*)
1221 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1222 ;;
1223 ymp)
1224 basic_machine=ymp-cray
1225 os=-unicos
1226 ;;
1227 z8k-*-coff)
1228 basic_machine=z8k-unknown
1229 os=-sim
1230 ;;
1231 z80-*-coff)
1232 basic_machine=z80-unknown
1233 os=-sim
1234 ;;
1235 none)
1236 basic_machine=none-none
1237 os=-none
1238 ;;
1239
1240 # Here we handle the default manufacturer of certain CPU types. It is in
1241 # some cases the only manufacturer, in others, it is the most popular.
1242 w89k)
1243 basic_machine=hppa1.1-winbond
1244 ;;
1245 op50n)
1246 basic_machine=hppa1.1-oki
1247 ;;
1248 op60c)
1249 basic_machine=hppa1.1-oki
1250 ;;
1251 romp)
1252 basic_machine=romp-ibm
1253 ;;
1254 mmix)
1255 basic_machine=mmix-knuth
1256 ;;
1257 rs6000)
1258 basic_machine=rs6000-ibm
1259 ;;
1260 vax)
1261 basic_machine=vax-dec
1262 ;;
1263 pdp10)
1264 # there are many clones, so DEC is not a safe bet
1265 basic_machine=pdp10-unknown
1266 ;;
1267 pdp11)
1268 basic_machine=pdp11-dec
1269 ;;
1270 we32k)
1271 basic_machine=we32k-att
1272 ;;
1273 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1274 basic_machine=sh-unknown
1275 ;;
1276 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1277 basic_machine=sparc-sun
1278 ;;
1279 cydra)
1280 basic_machine=cydra-cydrome
1281 ;;
1282 orion)
1283 basic_machine=orion-highlevel
1284 ;;
1285 orion105)
1286 basic_machine=clipper-highlevel
1287 ;;
1288 mac | mpw | mac-mpw)
1289 basic_machine=m68k-apple
1290 ;;
1291 pmac | pmac-mpw)
1292 basic_machine=powerpc-apple
1293 ;;
1294 *-unknown)
1295 # Make sure to match an already-canonicalized machine name.
1296 ;;
1297 *)
1298 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1299 exit 1
1300 ;;
1301 esac
1302
1303 # Here we canonicalize certain aliases for manufacturers.
1304 case $basic_machine in
1305 *-digital*)
1306 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1307 ;;
1308 *-commodore*)
1309 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1310 ;;
1311 *)
1312 ;;
1313 esac
1314
1315 # Decode manufacturer-specific aliases for certain operating systems.
1316
1317 if [ x"$os" != x"" ]
1318 then
1319 case $os in
1320 # First match some system type aliases
1321 # that might get confused with valid system types.
1322 # -solaris* is a basic system type, with this one exception.
1323 -auroraux)
1324 os=-auroraux
1325 ;;
1326 -solaris1 | -solaris1.*)
1327 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1328 ;;
1329 -solaris)
1330 os=-solaris2
1331 ;;
1332 -svr4*)
1333 os=-sysv4
1334 ;;
1335 -unixware*)
1336 os=-sysv4.2uw
1337 ;;
1338 -gnu/linux*)
1339 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1340 ;;
1341 # First accept the basic system types.
1342 # The portable systems comes first.
1343 # Each alternative MUST END IN A *, to match a version number.
1344 # -sysv* is not here because it comes later, after sysvr4.
1345 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1346 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1347 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1348 | -sym* | -kopensolaris* | -plan9* \
1349 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1350 | -aos* | -aros* \
1351 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1352 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1353 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1354 | -bitrig* | -openbsd* | -solidbsd* \
1355 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1356 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1357 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1358 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1359 | -chorusos* | -chorusrdb* | -cegcc* \
1360 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1361 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1362 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1363 | -uxpv* | -beos* | -mpeix* | -udk* \
1364 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1365 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1366 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1367 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1368 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1369 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1370 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1371 # Remember, each alternative MUST END IN *, to match a version number.
1372 ;;
1373 -qnx*)
1374 case $basic_machine in
1375 x86-* | i*86-*)
1376 ;;
1377 *)
1378 os=-nto$os
1379 ;;
1380 esac
1381 ;;
1382 -nto-qnx*)
1383 ;;
1384 -nto*)
1385 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1386 ;;
1387 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1388 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1389 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1390 ;;
1391 -mac*)
1392 os=`echo $os | sed -e 's|mac|macos|'`
1393 ;;
1394 -linux-dietlibc)
1395 os=-linux-dietlibc
1396 ;;
1397 -linux*)
1398 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1399 ;;
1400 -sunos5*)
1401 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1402 ;;
1403 -sunos6*)
1404 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1405 ;;
1406 -opened*)
1407 os=-openedition
1408 ;;
1409 -os400*)
1410 os=-os400
1411 ;;
1412 -wince*)
1413 os=-wince
1414 ;;
1415 -osfrose*)
1416 os=-osfrose
1417 ;;
1418 -osf*)
1419 os=-osf
1420 ;;
1421 -utek*)
1422 os=-bsd
1423 ;;
1424 -dynix*)
1425 os=-bsd
1426 ;;
1427 -acis*)
1428 os=-aos
1429 ;;
1430 -atheos*)
1431 os=-atheos
1432 ;;
1433 -syllable*)
1434 os=-syllable
1435 ;;
1436 -386bsd)
1437 os=-bsd
1438 ;;
1439 -ctix* | -uts*)
1440 os=-sysv
1441 ;;
1442 -nova*)
1443 os=-rtmk-nova
1444 ;;
1445 -ns2 )
1446 os=-nextstep2
1447 ;;
1448 -nsk*)
1449 os=-nsk
1450 ;;
1451 # Preserve the version number of sinix5.
1452 -sinix5.*)
1453 os=`echo $os | sed -e 's|sinix|sysv|'`
1454 ;;
1455 -sinix*)
1456 os=-sysv4
1457 ;;
1458 -tpf*)
1459 os=-tpf
1460 ;;
1461 -triton*)
1462 os=-sysv3
1463 ;;
1464 -oss*)
1465 os=-sysv3
1466 ;;
1467 -svr4)
1468 os=-sysv4
1469 ;;
1470 -svr3)
1471 os=-sysv3
1472 ;;
1473 -sysvr4)
1474 os=-sysv4
1475 ;;
1476 # This must come after -sysvr4.
1477 -sysv*)
1478 ;;
1479 -ose*)
1480 os=-ose
1481 ;;
1482 -es1800*)
1483 os=-ose
1484 ;;
1485 -xenix)
1486 os=-xenix
1487 ;;
1488 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1489 os=-mint
1490 ;;
1491 -aros*)
1492 os=-aros
1493 ;;
1494 -zvmoe)
1495 os=-zvmoe
1496 ;;
1497 -dicos*)
1498 os=-dicos
1499 ;;
1500 -nacl*)
1501 ;;
1502 -none)
1503 ;;
1504 *)
1505 # Get rid of the `-' at the beginning of $os.
1506 os=`echo $os | sed 's/[^-]*-//'`
1507 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1508 exit 1
1509 ;;
1510 esac
1511 else
1512
1513 # Here we handle the default operating systems that come with various machines.
1514 # The value should be what the vendor currently ships out the door with their
1515 # machine or put another way, the most popular os provided with the machine.
1516
1517 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1518 # "-sun"), then you have to tell the case statement up towards the top
1519 # that MANUFACTURER isn't an operating system. Otherwise, code above
1520 # will signal an error saying that MANUFACTURER isn't an operating
1521 # system, and we'll never get to this point.
1522
1523 case $basic_machine in
1524 score-*)
1525 os=-elf
1526 ;;
1527 spu-*)
1528 os=-elf
1529 ;;
1530 *-acorn)
1531 os=-riscix1.2
1532 ;;
1533 arm*-rebel)
1534 os=-linux
1535 ;;
1536 arm*-semi)
1537 os=-aout
1538 ;;
1539 c4x-* | tic4x-*)
1540 os=-coff
1541 ;;
1542 hexagon-*)
1543 os=-elf
1544 ;;
1545 tic54x-*)
1546 os=-coff
1547 ;;
1548 tic55x-*)
1549 os=-coff
1550 ;;
1551 tic6x-*)
1552 os=-coff
1553 ;;
1554 # This must come before the *-dec entry.
1555 pdp10-*)
1556 os=-tops20
1557 ;;
1558 pdp11-*)
1559 os=-none
1560 ;;
1561 *-dec | vax-*)
1562 os=-ultrix4.2
1563 ;;
1564 m68*-apollo)
1565 os=-domain
1566 ;;
1567 i386-sun)
1568 os=-sunos4.0.2
1569 ;;
1570 m68000-sun)
1571 os=-sunos3
1572 ;;
1573 m68*-cisco)
1574 os=-aout
1575 ;;
1576 mep-*)
1577 os=-elf
1578 ;;
1579 mips*-cisco)
1580 os=-elf
1581 ;;
1582 mips*-*)
1583 os=-elf
1584 ;;
1585 or1k-*)
1586 os=-elf
1587 ;;
1588 or32-*)
1589 os=-coff
1590 ;;
1591 *-tti) # must be before sparc entry or we get the wrong os.
1592 os=-sysv3
1593 ;;
1594 sparc-* | *-sun)
1595 os=-sunos4.1.1
1596 ;;
1597 *-be)
1598 os=-beos
1599 ;;
1600 *-haiku)
1601 os=-haiku
1602 ;;
1603 *-ibm)
1604 os=-aix
1605 ;;
1606 *-knuth)
1607 os=-mmixware
1608 ;;
1609 *-wec)
1610 os=-proelf
1611 ;;
1612 *-winbond)
1613 os=-proelf
1614 ;;
1615 *-oki)
1616 os=-proelf
1617 ;;
1618 *-hp)
1619 os=-hpux
1620 ;;
1621 *-hitachi)
1622 os=-hiux
1623 ;;
1624 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1625 os=-sysv
1626 ;;
1627 *-cbm)
1628 os=-amigaos
1629 ;;
1630 *-dg)
1631 os=-dgux
1632 ;;
1633 *-dolphin)
1634 os=-sysv3
1635 ;;
1636 m68k-ccur)
1637 os=-rtu
1638 ;;
1639 m88k-omron*)
1640 os=-luna
1641 ;;
1642 *-next )
1643 os=-nextstep
1644 ;;
1645 *-sequent)
1646 os=-ptx
1647 ;;
1648 *-crds)
1649 os=-unos
1650 ;;
1651 *-ns)
1652 os=-genix
1653 ;;
1654 i370-*)
1655 os=-mvs
1656 ;;
1657 *-next)
1658 os=-nextstep3
1659 ;;
1660 *-gould)
1661 os=-sysv
1662 ;;
1663 *-highlevel)
1664 os=-bsd
1665 ;;
1666 *-encore)
1667 os=-bsd
1668 ;;
1669 *-sgi)
1670 os=-irix
1671 ;;
1672 *-siemens)
1673 os=-sysv4
1674 ;;
1675 *-masscomp)
1676 os=-rtu
1677 ;;
1678 f30[01]-fujitsu | f700-fujitsu)
1679 os=-uxpv
1680 ;;
1681 *-rom68k)
1682 os=-coff
1683 ;;
1684 *-*bug)
1685 os=-coff
1686 ;;
1687 *-apple)
1688 os=-macos
1689 ;;
1690 *-atari*)
1691 os=-mint
1692 ;;
1693 *)
1694 os=-none
1695 ;;
1696 esac
1697 fi
1698
1699 # Here we handle the case where we know the os, and the CPU type, but not the
1700 # manufacturer. We pick the logical manufacturer.
1701 vendor=unknown
1702 case $basic_machine in
1703 *-unknown)
1704 case $os in
1705 -riscix*)
1706 vendor=acorn
1707 ;;
1708 -sunos*)
1709 vendor=sun
1710 ;;
1711 -cnk*|-aix*)
1712 vendor=ibm
1713 ;;
1714 -beos*)
1715 vendor=be
1716 ;;
1717 -hpux*)
1718 vendor=hp
1719 ;;
1720 -mpeix*)
1721 vendor=hp
1722 ;;
1723 -hiux*)
1724 vendor=hitachi
1725 ;;
1726 -unos*)
1727 vendor=crds
1728 ;;
1729 -dgux*)
1730 vendor=dg
1731 ;;
1732 -luna*)
1733 vendor=omron
1734 ;;
1735 -genix*)
1736 vendor=ns
1737 ;;
1738 -mvs* | -opened*)
1739 vendor=ibm
1740 ;;
1741 -os400*)
1742 vendor=ibm
1743 ;;
1744 -ptx*)
1745 vendor=sequent
1746 ;;
1747 -tpf*)
1748 vendor=ibm
1749 ;;
1750 -vxsim* | -vxworks* | -windiss*)
1751 vendor=wrs
1752 ;;
1753 -aux*)
1754 vendor=apple
1755 ;;
1756 -hms*)
1757 vendor=hitachi
1758 ;;
1759 -mpw* | -macos*)
1760 vendor=apple
1761 ;;
1762 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1763 vendor=atari
1764 ;;
1765 -vos*)
1766 vendor=stratus
1767 ;;
1768 esac
1769 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1770 ;;
1771 esac
1772
1773 echo $basic_machine$os
1774 exit
1775
1776 # Local variables:
1777 # eval: (add-hook 'write-file-hooks 'time-stamp)
1778 # time-stamp-start: "timestamp='"
1779 # time-stamp-format: "%:y-%02m-%02d"
1780 # time-stamp-end: "'"
1781 # End:
3434 ID="$ac_cv_path_ID"
3535 AC_SUBST([ID])
3636 ])
37
38
39 # AC_PROG_BSDMAKE
40 # ---------------
41 # Check for a BSD Make program which is compatible with a recent
42 # version of BSD Make (2014-02-14 or later).
43 #
44 # - On FreeBSD 10.0 or newer, it will use `make' from the base system.
45 # - On NetBSD 6.1.5 or newer, it will use `make' from the base system.
46 # - On other platforms, it will look for a `bmake' program.
47 #
48 # If a suitable program is found, its name is affected to the BSDMAKE
49 # variable. If no such a program has been found, this variable is set
50 # to `no'.
51 #
52 # Note that OpenBSD is not supported as there is modern no version of
53 # bmake available wether in the base system nor in the ports at time
54 # of writing (OpenBSD 5.6).
55 #
56 # This macro will break for NetBSD 10.X, many years from now.
57 AC_DEFUN([AC_PROG_BSDMAKE_BASEBSD],
58 [case $host_os in
59 # FreeBSD 10.0 or newer will match.
60 freebsd*)
61 ac_cv_path_BSDMAKE_freebsd_version=${host_os#freebsd}
62 if test ${ac_cv_path_BSDMAKE_freebsd_version%%.*} -ge 10; then
63 ac_cv_path_BSDMAKE=make
64 fi
65 ;;
66 # NetBSD 6.0 or newer will match.
67 netbsd*)
68 ac_cv_path_BSDMAKE_netbsd_version=${host_os#netbsd}
69 if test ${ac_cv_path_BSDMAKE_netbsd_version%%.*} -ge 6; then
70 ac_cv_path_BSDMAKE=make
71 fi
72 ;;
73 esac])dnl
74 AC_DEFUN([AC_PROG_BSDMAKE],
75 [AC_CACHE_CHECK([for a modern BSD Make program], ac_cv_path_BSDMAKE,
76 [AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
77 ac_cv_path_BSDMAKE=no
78 if test "$ac_cv_path_BSDMAKE" = "no"; then
79 AC_PROG_BSDMAKE_BASEBSD
80 fi
81 if test "$ac_cv_path_BSDMAKE" = "no"; then
82 if ! test "x$(which bmake)" = "x"; then
83 ac_cv_path_BSDMAKE=bmake
84 fi
85 fi;])
86 BSDMAKE="$ac_cv_path_BSDMAKE"
87 AC_SUBST([BSDMAKE])
88 ])dnl
89
90
91 # AC_CHECK_BSDMAKE([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
92 # ----------------------------------------------------------
93 # Macro for checking if a modern version of BSD make is installed.
94 AC_DEFUN([AC_CHECK_BSDMAKE],
95 [AC_REQUIRE([AC_PROG_BSDMAKE])[]dnl
96 AS_IF([test "$BSDMAKE" = "no"], [$2], [$3])])dnl
97
98
99 # AC_NEED_BSDMAKE
100 # ---------------
101 AC_DEFUN([AC_NEED_BSDMAKE],
102 [AC_CHECK_BSDMAKE([], [AC_MSG_ERROR([*** BSD Make not found.])])])
11 AC_INIT(bps/Makefile)
22 version='3.0-pre'
33 AC_CONFIG_AUX_DIR([Library/Autoconf])
4 AC_CANONICAL_HOST
45 AC_PROG_AWK()
56 AC_PROG_GREP()
67 AC_PROG_INSTALL()
2425 AC_CHECK_PROG([has_gm], [gm], [yes], [no])
2526 if test "x$has_gm" = 'xno'; then
2627 AC_MSG_ERROR([*** GraphicsMagick not found.])
27 fi
28 #
29 # Check for BSD Make
30 #
31 AC_CHECK_PROG([has_bmake], [bmake], [yes], [no])
32 if test "x$has_bmake" = 'xno' && test \! $(uname) = 'FreeBSD'; then
33 AC_MSG_ERROR([*** BSD Make not found.])
3428 fi
3529 #
3630 # Determine compression tools
5953 if test "${USE_XZ}" = "yes"; then
6054 COMPRESS="${COMPRESS}${COMPRESS:+ }xz"
6155 fi
56 AC_NEED_BSDMAKE()
6257 AC_SUBST([version])
6358 AC_SUBST([COMPRESS])
6459 AC_SUBST([SYSTEMOWN])