]> git.saurik.com Git - cycript.git/blame - config.sub
Only link libcycript against libffi (not cycript).
[cycript.git] / config.sub
CommitLineData
35fa52c0
DWT
1#! /bin/sh
2# Configuration validation subroutine script.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
ee134472 4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
53ba6704 5# 2011, 2012, 2013 Free Software Foundation, Inc.
35fa52c0 6
53ba6704 7timestamp='2012-12-29'
35fa52c0 8
53ba6704
JF
9# This file is free software; you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 3 of the License, or
35fa52c0
DWT
12# (at your option) any later version.
13#
53ba6704
JF
14# This program is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17# General Public License for more details.
35fa52c0
DWT
18#
19# You should have received a copy of the GNU General Public License
53ba6704 20# along with this program; if not, see <http://www.gnu.org/licenses/>.
35fa52c0
DWT
21#
22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under
53ba6704
JF
25# the same distribution terms that you use for the rest of that
26# program. This Exception is an additional permission under section 7
27# of the GNU General Public License, version 3 ("GPLv3").
35fa52c0
DWT
28
29
53ba6704 30# Please send patches with a ChangeLog entry to config-patches@gnu.org.
35fa52c0
DWT
31#
32# Configuration subroutine to validate and canonicalize a configuration type.
33# Supply the specified configuration type as an argument.
34# If it is invalid, we print an error message on stderr and exit with code 1.
35# Otherwise, we print the canonical config type on stdout and succeed.
36
12833ad8
JF
37# You can get the latest version of this script from:
38# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
39
35fa52c0
DWT
40# This file is supposed to be the same for all GNU packages
41# and recognize all the CPU types, system types and aliases
42# that are meaningful with *any* GNU software.
43# Each package is responsible for reporting which valid configurations
44# it does not support. The user should be able to distinguish
45# a failure to support a valid configuration from a meaningless
46# configuration.
47
48# The goal of this file is to map all the various variations of a given
49# machine specification into a single specification in the form:
50# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51# or in some cases, the newer four-part form:
52# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53# It is wrong to echo any other type of specification.
54
55me=`echo "$0" | sed -e 's,.*/,,'`
56
57usage="\
58Usage: $0 [OPTION] CPU-MFR-OPSYS
59 $0 [OPTION] ALIAS
60
61Canonicalize a configuration name.
62
63Operation modes:
64 -h, --help print this help, then exit
65 -t, --time-stamp print date of last modification, then exit
66 -v, --version print version number, then exit
67
68Report bugs and patches to <config-patches@gnu.org>."
69
70version="\
71GNU config.sub ($timestamp)
72
12833ad8 73Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
53ba6704
JF
742001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
752012, 2013 Free Software Foundation, Inc.
35fa52c0
DWT
76
77This is free software; see the source for copying conditions. There is NO
78warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
79
80help="
81Try \`$me --help' for more information."
82
83# Parse command line
84while test $# -gt 0 ; do
85 case $1 in
86 --time-stamp | --time* | -t )
87 echo "$timestamp" ; exit ;;
88 --version | -v )
89 echo "$version" ; exit ;;
90 --help | --h* | -h )
91 echo "$usage"; exit ;;
92 -- ) # Stop option processing
93 shift; break ;;
94 - ) # Use stdin as input.
95 break ;;
96 -* )
97 echo "$me: invalid option $1$help"
98 exit 1 ;;
99
100 *local*)
101 # First pass through any local machine types.
102 echo $1
103 exit ;;
104
105 * )
106 break ;;
107 esac
108done
109
110case $# in
111 0) echo "$me: missing argument$help" >&2
112 exit 1;;
113 1) ;;
114 *) echo "$me: too many arguments$help" >&2
115 exit 1;;
116esac
117
118# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119# Here we must recognize all the valid KERNEL-OS combinations.
120maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
121case $maybe_os in
ee134472 122 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
53ba6704 123 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
ee134472 124 knetbsd*-gnu* | netbsd*-gnu* | \
35fa52c0
DWT
125 kopensolaris*-gnu* | \
126 storm-chaos* | os2-emx* | rtmk-nova*)
127 os=-$maybe_os
128 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
129 ;;
53ba6704
JF
130 android-linux)
131 os=-linux-android
132 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
133 ;;
35fa52c0
DWT
134 *)
135 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136 if [ $basic_machine != $1 ]
137 then os=`echo $1 | sed 's/.*-/-/'`
138 else os=; fi
139 ;;
140esac
141
142### Let's recognize common machines as not being operating systems so
143### that things like config.sub decstation-3100 work. We also
144### recognize some manufacturers as not being operating systems, so we
145### can provide default operating systems below.
146case $os in
147 -sun*os*)
148 # Prevent following clause from handling this invalid input.
149 ;;
150 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
53ba6704 156 -apple | -axis | -knuth | -cray | -microblaze*)
35fa52c0
DWT
157 os=
158 basic_machine=$1
159 ;;
ee134472
JF
160 -bluegene*)
161 os=-cnk
9c60689e 162 ;;
35fa52c0
DWT
163 -sim | -cisco | -oki | -wec | -winbond)
164 os=
165 basic_machine=$1
166 ;;
167 -scout)
168 ;;
169 -wrs)
170 os=-vxworks
171 basic_machine=$1
172 ;;
173 -chorusos*)
174 os=-chorusos
175 basic_machine=$1
176 ;;
ee134472
JF
177 -chorusrdb)
178 os=-chorusrdb
35fa52c0 179 basic_machine=$1
ee134472 180 ;;
35fa52c0
DWT
181 -hiux*)
182 os=-hiuxwe2
183 ;;
184 -sco6)
185 os=-sco5v6
186 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187 ;;
188 -sco5)
189 os=-sco3.2v5
190 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191 ;;
192 -sco4)
193 os=-sco3.2v4
194 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195 ;;
196 -sco3.2.[4-9]*)
197 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199 ;;
200 -sco3.2v[4-9]*)
201 # Don't forget version if it is 3.2v4 or newer.
202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203 ;;
204 -sco5v6*)
205 # Don't forget version if it is 3.2v4 or newer.
206 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207 ;;
208 -sco*)
209 os=-sco3.2v2
210 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211 ;;
212 -udk*)
213 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214 ;;
215 -isc)
216 os=-isc2.2
217 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218 ;;
219 -clix*)
220 basic_machine=clipper-intergraph
221 ;;
222 -isc*)
223 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
224 ;;
53ba6704
JF
225 -lynx*178)
226 os=-lynxos178
227 ;;
228 -lynx*5)
229 os=-lynxos5
230 ;;
35fa52c0
DWT
231 -lynx*)
232 os=-lynxos
233 ;;
234 -ptx*)
235 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
236 ;;
237 -windowsnt*)
238 os=`echo $os | sed -e 's/windowsnt/winnt/'`
239 ;;
240 -psos*)
241 os=-psos
242 ;;
243 -mint | -mint[0-9]*)
244 basic_machine=m68k-atari
245 os=-mint
246 ;;
247esac
248
249# Decode aliases for certain CPU-COMPANY combinations.
250case $basic_machine in
251 # Recognize the basic CPU types without company name.
252 # Some are omitted here because they have special meanings below.
253 1750a | 580 \
254 | a29k \
53ba6704 255 | aarch64 | aarch64_be \
35fa52c0
DWT
256 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
257 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
258 | am33_2.0 \
53ba6704
JF
259 | arc \
260 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
261 | avr | avr32 \
262 | be32 | be64 \
35fa52c0
DWT
263 | bfin \
264 | c4x | clipper \
265 | d10v | d30v | dlx | dsp16xx \
53ba6704 266 | epiphany \
35fa52c0
DWT
267 | fido | fr30 | frv \
268 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
53ba6704 269 | hexagon \
35fa52c0
DWT
270 | i370 | i860 | i960 | ia64 \
271 | ip2k | iq2000 \
53ba6704 272 | le32 | le64 \
35fa52c0
DWT
273 | lm32 \
274 | m32c | m32r | m32rle | m68000 | m68k | m88k \
53ba6704 275 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
35fa52c0
DWT
276 | mips | mipsbe | mipseb | mipsel | mipsle \
277 | mips16 \
278 | mips64 | mips64el \
279 | mips64octeon | mips64octeonel \
280 | mips64orion | mips64orionel \
281 | mips64r5900 | mips64r5900el \
282 | mips64vr | mips64vrel \
283 | mips64vr4100 | mips64vr4100el \
284 | mips64vr4300 | mips64vr4300el \
285 | mips64vr5000 | mips64vr5000el \
286 | mips64vr5900 | mips64vr5900el \
287 | mipsisa32 | mipsisa32el \
288 | mipsisa32r2 | mipsisa32r2el \
289 | mipsisa64 | mipsisa64el \
290 | mipsisa64r2 | mipsisa64r2el \
291 | mipsisa64sb1 | mipsisa64sb1el \
292 | mipsisa64sr71k | mipsisa64sr71kel \
293 | mipstx39 | mipstx39el \
294 | mn10200 | mn10300 \
295 | moxie \
296 | mt \
297 | msp430 \
ee134472 298 | nds32 | nds32le | nds32be \
35fa52c0
DWT
299 | nios | nios2 \
300 | ns16k | ns32k \
ee134472 301 | open8 \
35fa52c0
DWT
302 | or32 \
303 | pdp10 | pdp11 | pj | pjl \
ee134472 304 | powerpc | powerpc64 | powerpc64le | powerpcle \
35fa52c0 305 | pyramid \
53ba6704 306 | rl78 | rx \
35fa52c0
DWT
307 | score \
308 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309 | sh64 | sh64le \
310 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
ee134472
JF
312 | spu \
313 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
12833ad8 314 | ubicom32 \
53ba6704 315 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
35fa52c0 316 | we32k \
ee134472 317 | x86 | xc16x | xstormy16 | xtensa \
35fa52c0
DWT
318 | z8k | z80)
319 basic_machine=$basic_machine-unknown
320 ;;
ee134472
JF
321 c54x)
322 basic_machine=tic54x-unknown
323 ;;
324 c55x)
325 basic_machine=tic55x-unknown
326 ;;
327 c6x)
328 basic_machine=tic6x-unknown
329 ;;
53ba6704 330 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
35fa52c0
DWT
331 basic_machine=$basic_machine-unknown
332 os=-none
333 ;;
334 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
335 ;;
336 ms1)
337 basic_machine=mt-unknown
338 ;;
339
ee134472
JF
340 strongarm | thumb | xscale)
341 basic_machine=arm-unknown
342 ;;
53ba6704
JF
343 xgate)
344 basic_machine=$basic_machine-unknown
345 os=-none
346 ;;
ee134472
JF
347 xscaleeb)
348 basic_machine=armeb-unknown
349 ;;
350
351 xscaleel)
352 basic_machine=armel-unknown
353 ;;
354
35fa52c0
DWT
355 # We use `pc' rather than `unknown'
356 # because (1) that's what they normally are, and
357 # (2) the word "unknown" tends to confuse beginning users.
358 i*86 | x86_64)
359 basic_machine=$basic_machine-pc
360 ;;
361 # Object if more than one company name word.
362 *-*-*)
363 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
364 exit 1
365 ;;
366 # Recognize the basic CPU types with company name.
367 580-* \
368 | a29k-* \
53ba6704 369 | aarch64-* | aarch64_be-* \
35fa52c0
DWT
370 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
371 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
372 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
373 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
374 | avr-* | avr32-* \
53ba6704 375 | be32-* | be64-* \
35fa52c0 376 | bfin-* | bs2000-* \
ee134472 377 | c[123]* | c30-* | [cjt]90-* | c4x-* \
35fa52c0
DWT
378 | clipper-* | craynv-* | cydra-* \
379 | d10v-* | d30v-* | dlx-* \
380 | elxsi-* \
381 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
382 | h8300-* | h8500-* \
383 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
53ba6704 384 | hexagon-* \
35fa52c0
DWT
385 | i*86-* | i860-* | i960-* | ia64-* \
386 | ip2k-* | iq2000-* \
53ba6704 387 | le32-* | le64-* \
35fa52c0
DWT
388 | lm32-* \
389 | m32c-* | m32r-* | m32rle-* \
390 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
53ba6704
JF
391 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
392 | microblaze-* | microblazeel-* \
35fa52c0
DWT
393 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
394 | mips16-* \
395 | mips64-* | mips64el-* \
396 | mips64octeon-* | mips64octeonel-* \
397 | mips64orion-* | mips64orionel-* \
398 | mips64r5900-* | mips64r5900el-* \
399 | mips64vr-* | mips64vrel-* \
400 | mips64vr4100-* | mips64vr4100el-* \
401 | mips64vr4300-* | mips64vr4300el-* \
402 | mips64vr5000-* | mips64vr5000el-* \
403 | mips64vr5900-* | mips64vr5900el-* \
404 | mipsisa32-* | mipsisa32el-* \
405 | mipsisa32r2-* | mipsisa32r2el-* \
406 | mipsisa64-* | mipsisa64el-* \
407 | mipsisa64r2-* | mipsisa64r2el-* \
408 | mipsisa64sb1-* | mipsisa64sb1el-* \
409 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
410 | mipstx39-* | mipstx39el-* \
411 | mmix-* \
412 | mt-* \
413 | msp430-* \
ee134472 414 | nds32-* | nds32le-* | nds32be-* \
35fa52c0
DWT
415 | nios-* | nios2-* \
416 | none-* | np1-* | ns16k-* | ns32k-* \
ee134472 417 | open8-* \
35fa52c0
DWT
418 | orion-* \
419 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
ee134472 420 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
35fa52c0 421 | pyramid-* \
53ba6704 422 | rl78-* | romp-* | rs6000-* | rx-* \
35fa52c0
DWT
423 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
426 | sparclite-* \
ee134472
JF
427 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428 | tahoe-* \
12833ad8 429 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
53ba6704 430 | tile*-* \
35fa52c0 431 | tron-* \
12833ad8 432 | ubicom32-* \
53ba6704
JF
433 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434 | vax-* \
35fa52c0 435 | we32k-* \
ee134472 436 | x86-* | x86_64-* | xc16x-* | xps100-* \
35fa52c0
DWT
437 | xstormy16-* | xtensa*-* \
438 | ymp-* \
439 | z8k-* | z80-*)
440 ;;
441 # Recognize the basic CPU types without company name, with glob match.
442 xtensa*)
443 basic_machine=$basic_machine-unknown
444 ;;
445 # Recognize the various machine names and aliases which stand
446 # for a CPU type and a company and sometimes even an OS.
447 386bsd)
448 basic_machine=i386-unknown
449 os=-bsd
450 ;;
451 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452 basic_machine=m68000-att
453 ;;
454 3b*)
455 basic_machine=we32k-att
456 ;;
457 a29khif)
458 basic_machine=a29k-amd
459 os=-udi
460 ;;
ee134472 461 abacus)
35fa52c0
DWT
462 basic_machine=abacus-unknown
463 ;;
464 adobe68k)
465 basic_machine=m68010-adobe
466 os=-scout
467 ;;
468 alliant | fx80)
469 basic_machine=fx80-alliant
470 ;;
471 altos | altos3068)
472 basic_machine=m68k-altos
473 ;;
474 am29k)
475 basic_machine=a29k-none
476 os=-bsd
477 ;;
478 amd64)
479 basic_machine=x86_64-pc
480 ;;
481 amd64-*)
482 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
483 ;;
484 amdahl)
485 basic_machine=580-amdahl
486 os=-sysv
487 ;;
488 amiga | amiga-*)
489 basic_machine=m68k-unknown
490 ;;
491 amigaos | amigados)
492 basic_machine=m68k-unknown
493 os=-amigaos
494 ;;
495 amigaunix | amix)
496 basic_machine=m68k-unknown
497 os=-sysv4
498 ;;
499 apollo68)
500 basic_machine=m68k-apollo
501 os=-sysv
502 ;;
503 apollo68bsd)
504 basic_machine=m68k-apollo
505 os=-bsd
506 ;;
507 aros)
508 basic_machine=i386-pc
509 os=-aros
510 ;;
511 aux)
512 basic_machine=m68k-apple
513 os=-aux
514 ;;
515 balance)
516 basic_machine=ns32k-sequent
517 os=-dynix
518 ;;
519 blackfin)
520 basic_machine=bfin-unknown
521 os=-linux
522 ;;
523 blackfin-*)
524 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
525 os=-linux
526 ;;
9c60689e
DWT
527 bluegene*)
528 basic_machine=powerpc-ibm
529 os=-cnk
530 ;;
ee134472
JF
531 c54x-*)
532 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533 ;;
534 c55x-*)
535 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536 ;;
537 c6x-*)
538 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539 ;;
35fa52c0
DWT
540 c90)
541 basic_machine=c90-cray
542 os=-unicos
543 ;;
ee134472 544 cegcc)
35fa52c0
DWT
545 basic_machine=arm-unknown
546 os=-cegcc
547 ;;
548 convex-c1)
549 basic_machine=c1-convex
550 os=-bsd
551 ;;
552 convex-c2)
553 basic_machine=c2-convex
554 os=-bsd
555 ;;
556 convex-c32)
557 basic_machine=c32-convex
558 os=-bsd
559 ;;
560 convex-c34)
561 basic_machine=c34-convex
562 os=-bsd
563 ;;
564 convex-c38)
565 basic_machine=c38-convex
566 os=-bsd
567 ;;
568 cray | j90)
569 basic_machine=j90-cray
570 os=-unicos
571 ;;
572 craynv)
573 basic_machine=craynv-cray
574 os=-unicosmp
575 ;;
ee134472 576 cr16 | cr16-*)
35fa52c0
DWT
577 basic_machine=cr16-unknown
578 os=-elf
579 ;;
580 crds | unos)
581 basic_machine=m68k-crds
582 ;;
583 crisv32 | crisv32-* | etraxfs*)
584 basic_machine=crisv32-axis
585 ;;
586 cris | cris-* | etrax*)
587 basic_machine=cris-axis
588 ;;
589 crx)
590 basic_machine=crx-unknown
591 os=-elf
592 ;;
593 da30 | da30-*)
594 basic_machine=m68k-da30
595 ;;
596 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597 basic_machine=mips-dec
598 ;;
599 decsystem10* | dec10*)
600 basic_machine=pdp10-dec
601 os=-tops10
602 ;;
603 decsystem20* | dec20*)
604 basic_machine=pdp10-dec
605 os=-tops20
606 ;;
607 delta | 3300 | motorola-3300 | motorola-delta \
608 | 3300-motorola | delta-motorola)
609 basic_machine=m68k-motorola
610 ;;
611 delta88)
612 basic_machine=m88k-motorola
613 os=-sysv3
614 ;;
615 dicos)
616 basic_machine=i686-pc
617 os=-dicos
618 ;;
619 djgpp)
620 basic_machine=i586-pc
621 os=-msdosdjgpp
622 ;;
623 dpx20 | dpx20-*)
624 basic_machine=rs6000-bull
625 os=-bosx
626 ;;
627 dpx2* | dpx2*-bull)
628 basic_machine=m68k-bull
629 os=-sysv3
630 ;;
631 ebmon29k)
632 basic_machine=a29k-amd
633 os=-ebmon
634 ;;
635 elxsi)
636 basic_machine=elxsi-elxsi
637 os=-bsd
638 ;;
639 encore | umax | mmax)
640 basic_machine=ns32k-encore
641 ;;
642 es1800 | OSE68k | ose68k | ose | OSE)
643 basic_machine=m68k-ericsson
644 os=-ose
645 ;;
646 fx2800)
647 basic_machine=i860-alliant
648 ;;
649 genix)
650 basic_machine=ns32k-ns
651 ;;
652 gmicro)
653 basic_machine=tron-gmicro
654 os=-sysv
655 ;;
656 go32)
657 basic_machine=i386-pc
658 os=-go32
659 ;;
660 h3050r* | hiux*)
661 basic_machine=hppa1.1-hitachi
662 os=-hiuxwe2
663 ;;
664 h8300hms)
665 basic_machine=h8300-hitachi
666 os=-hms
667 ;;
668 h8300xray)
669 basic_machine=h8300-hitachi
670 os=-xray
671 ;;
672 h8500hms)
673 basic_machine=h8500-hitachi
674 os=-hms
675 ;;
676 harris)
677 basic_machine=m88k-harris
678 os=-sysv3
679 ;;
680 hp300-*)
681 basic_machine=m68k-hp
682 ;;
683 hp300bsd)
684 basic_machine=m68k-hp
685 os=-bsd
686 ;;
687 hp300hpux)
688 basic_machine=m68k-hp
689 os=-hpux
690 ;;
691 hp3k9[0-9][0-9] | hp9[0-9][0-9])
692 basic_machine=hppa1.0-hp
693 ;;
694 hp9k2[0-9][0-9] | hp9k31[0-9])
695 basic_machine=m68000-hp
696 ;;
697 hp9k3[2-9][0-9])
698 basic_machine=m68k-hp
699 ;;
700 hp9k6[0-9][0-9] | hp6[0-9][0-9])
701 basic_machine=hppa1.0-hp
702 ;;
703 hp9k7[0-79][0-9] | hp7[0-79][0-9])
704 basic_machine=hppa1.1-hp
705 ;;
706 hp9k78[0-9] | hp78[0-9])
707 # FIXME: really hppa2.0-hp
708 basic_machine=hppa1.1-hp
709 ;;
710 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711 # FIXME: really hppa2.0-hp
712 basic_machine=hppa1.1-hp
713 ;;
714 hp9k8[0-9][13679] | hp8[0-9][13679])
715 basic_machine=hppa1.1-hp
716 ;;
717 hp9k8[0-9][0-9] | hp8[0-9][0-9])
718 basic_machine=hppa1.0-hp
719 ;;
720 hppa-next)
721 os=-nextstep3
722 ;;
723 hppaosf)
724 basic_machine=hppa1.1-hp
725 os=-osf
726 ;;
727 hppro)
728 basic_machine=hppa1.1-hp
729 os=-proelf
730 ;;
731 i370-ibm* | ibm*)
732 basic_machine=i370-ibm
733 ;;
35fa52c0
DWT
734 i*86v32)
735 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
736 os=-sysv32
737 ;;
738 i*86v4*)
739 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740 os=-sysv4
741 ;;
742 i*86v)
743 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744 os=-sysv
745 ;;
746 i*86sol2)
747 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748 os=-solaris2
749 ;;
750 i386mach)
751 basic_machine=i386-mach
752 os=-mach
753 ;;
754 i386-vsta | vsta)
755 basic_machine=i386-unknown
756 os=-vsta
757 ;;
758 iris | iris4d)
759 basic_machine=mips-sgi
760 case $os in
761 -irix*)
762 ;;
763 *)
764 os=-irix4
765 ;;
766 esac
767 ;;
768 isi68 | isi)
769 basic_machine=m68k-isi
770 os=-sysv
771 ;;
772 m68knommu)
773 basic_machine=m68k-unknown
774 os=-linux
775 ;;
776 m68knommu-*)
777 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
778 os=-linux
779 ;;
780 m88k-omron*)
781 basic_machine=m88k-omron
782 ;;
783 magnum | m3230)
784 basic_machine=mips-mips
785 os=-sysv
786 ;;
787 merlin)
788 basic_machine=ns32k-utek
789 os=-sysv
790 ;;
53ba6704 791 microblaze*)
12833ad8
JF
792 basic_machine=microblaze-xilinx
793 ;;
53ba6704
JF
794 mingw64)
795 basic_machine=x86_64-pc
796 os=-mingw64
797 ;;
35fa52c0
DWT
798 mingw32)
799 basic_machine=i386-pc
800 os=-mingw32
801 ;;
802 mingw32ce)
803 basic_machine=arm-unknown
804 os=-mingw32ce
805 ;;
806 miniframe)
807 basic_machine=m68000-convergent
808 ;;
809 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
810 basic_machine=m68k-atari
811 os=-mint
812 ;;
813 mips3*-*)
814 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
815 ;;
816 mips3*)
817 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
818 ;;
819 monitor)
820 basic_machine=m68k-rom68k
821 os=-coff
822 ;;
823 morphos)
824 basic_machine=powerpc-unknown
825 os=-morphos
826 ;;
827 msdos)
828 basic_machine=i386-pc
829 os=-msdos
830 ;;
831 ms1-*)
832 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
833 ;;
53ba6704
JF
834 msys)
835 basic_machine=i386-pc
836 os=-msys
837 ;;
35fa52c0
DWT
838 mvs)
839 basic_machine=i370-ibm
840 os=-mvs
841 ;;
53ba6704
JF
842 nacl)
843 basic_machine=le32-unknown
844 os=-nacl
845 ;;
35fa52c0
DWT
846 ncr3000)
847 basic_machine=i486-ncr
848 os=-sysv4
849 ;;
850 netbsd386)
851 basic_machine=i386-unknown
852 os=-netbsd
853 ;;
854 netwinder)
855 basic_machine=armv4l-rebel
856 os=-linux
857 ;;
858 news | news700 | news800 | news900)
859 basic_machine=m68k-sony
860 os=-newsos
861 ;;
862 news1000)
863 basic_machine=m68030-sony
864 os=-newsos
865 ;;
866 news-3600 | risc-news)
867 basic_machine=mips-sony
868 os=-newsos
869 ;;
870 necv70)
871 basic_machine=v70-nec
872 os=-sysv
873 ;;
874 next | m*-next )
875 basic_machine=m68k-next
876 case $os in
877 -nextstep* )
878 ;;
879 -ns2*)
880 os=-nextstep2
881 ;;
882 *)
883 os=-nextstep3
884 ;;
885 esac
886 ;;
887 nh3000)
888 basic_machine=m68k-harris
889 os=-cxux
890 ;;
891 nh[45]000)
892 basic_machine=m88k-harris
893 os=-cxux
894 ;;
895 nindy960)
896 basic_machine=i960-intel
897 os=-nindy
898 ;;
899 mon960)
900 basic_machine=i960-intel
901 os=-mon960
902 ;;
903 nonstopux)
904 basic_machine=mips-compaq
905 os=-nonstopux
906 ;;
907 np1)
908 basic_machine=np1-gould
909 ;;
ee134472
JF
910 neo-tandem)
911 basic_machine=neo-tandem
912 ;;
913 nse-tandem)
914 basic_machine=nse-tandem
915 ;;
35fa52c0
DWT
916 nsr-tandem)
917 basic_machine=nsr-tandem
918 ;;
919 op50n-* | op60c-*)
920 basic_machine=hppa1.1-oki
921 os=-proelf
922 ;;
923 openrisc | openrisc-*)
924 basic_machine=or32-unknown
925 ;;
926 os400)
927 basic_machine=powerpc-ibm
928 os=-os400
929 ;;
930 OSE68000 | ose68000)
931 basic_machine=m68000-ericsson
932 os=-ose
933 ;;
934 os68k)
935 basic_machine=m68k-none
936 os=-os68k
937 ;;
938 pa-hitachi)
939 basic_machine=hppa1.1-hitachi
940 os=-hiuxwe2
941 ;;
942 paragon)
943 basic_machine=i860-intel
944 os=-osf
945 ;;
946 parisc)
947 basic_machine=hppa-unknown
948 os=-linux
949 ;;
950 parisc-*)
951 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
952 os=-linux
953 ;;
954 pbd)
955 basic_machine=sparc-tti
956 ;;
957 pbb)
958 basic_machine=m68k-tti
959 ;;
960 pc532 | pc532-*)
961 basic_machine=ns32k-pc532
962 ;;
963 pc98)
964 basic_machine=i386-pc
965 ;;
966 pc98-*)
967 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
968 ;;
969 pentium | p5 | k5 | k6 | nexgen | viac3)
970 basic_machine=i586-pc
971 ;;
972 pentiumpro | p6 | 6x86 | athlon | athlon_*)
973 basic_machine=i686-pc
974 ;;
975 pentiumii | pentium2 | pentiumiii | pentium3)
976 basic_machine=i686-pc
977 ;;
978 pentium4)
979 basic_machine=i786-pc
980 ;;
981 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
982 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
983 ;;
984 pentiumpro-* | p6-* | 6x86-* | athlon-*)
985 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
986 ;;
987 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
988 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
989 ;;
990 pentium4-*)
991 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
992 ;;
993 pn)
994 basic_machine=pn-gould
995 ;;
996 power) basic_machine=power-ibm
997 ;;
ee134472 998 ppc | ppcbe) basic_machine=powerpc-unknown
35fa52c0 999 ;;
ee134472
JF
1000 ppc-* | ppcbe-*)
1001 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
35fa52c0
DWT
1002 ;;
1003 ppcle | powerpclittle | ppc-le | powerpc-little)
1004 basic_machine=powerpcle-unknown
1005 ;;
1006 ppcle-* | powerpclittle-*)
1007 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1008 ;;
1009 ppc64) basic_machine=powerpc64-unknown
1010 ;;
1011 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1012 ;;
1013 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1014 basic_machine=powerpc64le-unknown
1015 ;;
1016 ppc64le-* | powerpc64little-*)
1017 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1018 ;;
1019 ps2)
1020 basic_machine=i386-ibm
1021 ;;
1022 pw32)
1023 basic_machine=i586-unknown
1024 os=-pw32
1025 ;;
53ba6704
JF
1026 rdos | rdos64)
1027 basic_machine=x86_64-pc
1028 os=-rdos
1029 ;;
1030 rdos32)
35fa52c0
DWT
1031 basic_machine=i386-pc
1032 os=-rdos
1033 ;;
1034 rom68k)
1035 basic_machine=m68k-rom68k
1036 os=-coff
1037 ;;
1038 rm[46]00)
1039 basic_machine=mips-siemens
1040 ;;
1041 rtpc | rtpc-*)
1042 basic_machine=romp-ibm
1043 ;;
1044 s390 | s390-*)
1045 basic_machine=s390-ibm
1046 ;;
1047 s390x | s390x-*)
1048 basic_machine=s390x-ibm
1049 ;;
1050 sa29200)
1051 basic_machine=a29k-amd
1052 os=-udi
1053 ;;
1054 sb1)
1055 basic_machine=mipsisa64sb1-unknown
1056 ;;
1057 sb1el)
1058 basic_machine=mipsisa64sb1el-unknown
1059 ;;
1060 sde)
1061 basic_machine=mipsisa32-sde
1062 os=-elf
1063 ;;
1064 sei)
1065 basic_machine=mips-sei
1066 os=-seiux
1067 ;;
1068 sequent)
1069 basic_machine=i386-sequent
1070 ;;
1071 sh)
1072 basic_machine=sh-hitachi
1073 os=-hms
1074 ;;
1075 sh5el)
1076 basic_machine=sh5le-unknown
1077 ;;
1078 sh64)
1079 basic_machine=sh64-unknown
1080 ;;
1081 sparclite-wrs | simso-wrs)
1082 basic_machine=sparclite-wrs
1083 os=-vxworks
1084 ;;
1085 sps7)
1086 basic_machine=m68k-bull
1087 os=-sysv2
1088 ;;
1089 spur)
1090 basic_machine=spur-unknown
1091 ;;
1092 st2000)
1093 basic_machine=m68k-tandem
1094 ;;
1095 stratus)
1096 basic_machine=i860-stratus
1097 os=-sysv4
1098 ;;
ee134472
JF
1099 strongarm-* | thumb-*)
1100 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1101 ;;
35fa52c0
DWT
1102 sun2)
1103 basic_machine=m68000-sun
1104 ;;
1105 sun2os3)
1106 basic_machine=m68000-sun
1107 os=-sunos3
1108 ;;
1109 sun2os4)
1110 basic_machine=m68000-sun
1111 os=-sunos4
1112 ;;
1113 sun3os3)
1114 basic_machine=m68k-sun
1115 os=-sunos3
1116 ;;
1117 sun3os4)
1118 basic_machine=m68k-sun
1119 os=-sunos4
1120 ;;
1121 sun4os3)
1122 basic_machine=sparc-sun
1123 os=-sunos3
1124 ;;
1125 sun4os4)
1126 basic_machine=sparc-sun
1127 os=-sunos4
1128 ;;
1129 sun4sol2)
1130 basic_machine=sparc-sun
1131 os=-solaris2
1132 ;;
1133 sun3 | sun3-*)
1134 basic_machine=m68k-sun
1135 ;;
1136 sun4)
1137 basic_machine=sparc-sun
1138 ;;
1139 sun386 | sun386i | roadrunner)
1140 basic_machine=i386-sun
1141 ;;
1142 sv1)
1143 basic_machine=sv1-cray
1144 os=-unicos
1145 ;;
1146 symmetry)
1147 basic_machine=i386-sequent
1148 os=-dynix
1149 ;;
1150 t3e)
1151 basic_machine=alphaev5-cray
1152 os=-unicos
1153 ;;
1154 t90)
1155 basic_machine=t90-cray
1156 os=-unicos
1157 ;;
35fa52c0 1158 tile*)
53ba6704 1159 basic_machine=$basic_machine-unknown
35fa52c0
DWT
1160 os=-linux-gnu
1161 ;;
1162 tx39)
1163 basic_machine=mipstx39-unknown
1164 ;;
1165 tx39el)
1166 basic_machine=mipstx39el-unknown
1167 ;;
1168 toad1)
1169 basic_machine=pdp10-xkl
1170 os=-tops20
1171 ;;
1172 tower | tower-32)
1173 basic_machine=m68k-ncr
1174 ;;
1175 tpf)
1176 basic_machine=s390x-ibm
1177 os=-tpf
1178 ;;
1179 udi29k)
1180 basic_machine=a29k-amd
1181 os=-udi
1182 ;;
1183 ultra3)
1184 basic_machine=a29k-nyu
1185 os=-sym1
1186 ;;
1187 v810 | necv810)
1188 basic_machine=v810-nec
1189 os=-none
1190 ;;
1191 vaxv)
1192 basic_machine=vax-dec
1193 os=-sysv
1194 ;;
1195 vms)
1196 basic_machine=vax-dec
1197 os=-vms
1198 ;;
1199 vpp*|vx|vx-*)
1200 basic_machine=f301-fujitsu
1201 ;;
1202 vxworks960)
1203 basic_machine=i960-wrs
1204 os=-vxworks
1205 ;;
1206 vxworks68)
1207 basic_machine=m68k-wrs
1208 os=-vxworks
1209 ;;
1210 vxworks29k)
1211 basic_machine=a29k-wrs
1212 os=-vxworks
1213 ;;
1214 w65*)
1215 basic_machine=w65-wdc
1216 os=-none
1217 ;;
1218 w89k-*)
1219 basic_machine=hppa1.1-winbond
1220 os=-proelf
1221 ;;
1222 xbox)
1223 basic_machine=i686-pc
1224 os=-mingw32
1225 ;;
1226 xps | xps100)
1227 basic_machine=xps100-honeywell
1228 ;;
ee134472
JF
1229 xscale-* | xscalee[bl]-*)
1230 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1231 ;;
35fa52c0
DWT
1232 ymp)
1233 basic_machine=ymp-cray
1234 os=-unicos
1235 ;;
1236 z8k-*-coff)
1237 basic_machine=z8k-unknown
1238 os=-sim
1239 ;;
1240 z80-*-coff)
1241 basic_machine=z80-unknown
1242 os=-sim
1243 ;;
1244 none)
1245 basic_machine=none-none
1246 os=-none
1247 ;;
1248
1249# Here we handle the default manufacturer of certain CPU types. It is in
1250# some cases the only manufacturer, in others, it is the most popular.
1251 w89k)
1252 basic_machine=hppa1.1-winbond
1253 ;;
1254 op50n)
1255 basic_machine=hppa1.1-oki
1256 ;;
1257 op60c)
1258 basic_machine=hppa1.1-oki
1259 ;;
1260 romp)
1261 basic_machine=romp-ibm
1262 ;;
1263 mmix)
1264 basic_machine=mmix-knuth
1265 ;;
1266 rs6000)
1267 basic_machine=rs6000-ibm
1268 ;;
1269 vax)
1270 basic_machine=vax-dec
1271 ;;
1272 pdp10)
1273 # there are many clones, so DEC is not a safe bet
1274 basic_machine=pdp10-unknown
1275 ;;
1276 pdp11)
1277 basic_machine=pdp11-dec
1278 ;;
1279 we32k)
1280 basic_machine=we32k-att
1281 ;;
1282 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1283 basic_machine=sh-unknown
1284 ;;
1285 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1286 basic_machine=sparc-sun
1287 ;;
1288 cydra)
1289 basic_machine=cydra-cydrome
1290 ;;
1291 orion)
1292 basic_machine=orion-highlevel
1293 ;;
1294 orion105)
1295 basic_machine=clipper-highlevel
1296 ;;
1297 mac | mpw | mac-mpw)
1298 basic_machine=m68k-apple
1299 ;;
1300 pmac | pmac-mpw)
1301 basic_machine=powerpc-apple
1302 ;;
1303 *-unknown)
1304 # Make sure to match an already-canonicalized machine name.
1305 ;;
1306 *)
1307 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1308 exit 1
1309 ;;
1310esac
1311
1312# Here we canonicalize certain aliases for manufacturers.
1313case $basic_machine in
1314 *-digital*)
1315 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1316 ;;
1317 *-commodore*)
1318 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1319 ;;
1320 *)
1321 ;;
1322esac
1323
1324# Decode manufacturer-specific aliases for certain operating systems.
1325
1326if [ x"$os" != x"" ]
1327then
1328case $os in
ee134472
JF
1329 # First match some system type aliases
1330 # that might get confused with valid system types.
35fa52c0 1331 # -solaris* is a basic system type, with this one exception.
ee134472
JF
1332 -auroraux)
1333 os=-auroraux
12833ad8 1334 ;;
35fa52c0
DWT
1335 -solaris1 | -solaris1.*)
1336 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1337 ;;
1338 -solaris)
1339 os=-solaris2
1340 ;;
1341 -svr4*)
1342 os=-sysv4
1343 ;;
1344 -unixware*)
1345 os=-sysv4.2uw
1346 ;;
1347 -gnu/linux*)
1348 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1349 ;;
1350 # First accept the basic system types.
1351 # The portable systems comes first.
1352 # Each alternative MUST END IN A *, to match a version number.
1353 # -sysv* is not here because it comes later, after sysvr4.
1354 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
9c60689e 1355 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
12833ad8
JF
1356 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1357 | -sym* | -kopensolaris* \
35fa52c0
DWT
1358 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1359 | -aos* | -aros* \
1360 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1361 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1362 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
53ba6704 1363 | -bitrig* | -openbsd* | -solidbsd* \
35fa52c0
DWT
1364 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1365 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1366 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1367 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1368 | -chorusos* | -chorusrdb* | -cegcc* \
53ba6704
JF
1369 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1370 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1371 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
35fa52c0
DWT
1372 | -uxpv* | -beos* | -mpeix* | -udk* \
1373 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1374 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1375 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1376 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1377 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1378 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12833ad8 1379 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
35fa52c0
DWT
1380 # Remember, each alternative MUST END IN *, to match a version number.
1381 ;;
1382 -qnx*)
1383 case $basic_machine in
1384 x86-* | i*86-*)
1385 ;;
1386 *)
1387 os=-nto$os
1388 ;;
1389 esac
1390 ;;
1391 -nto-qnx*)
1392 ;;
1393 -nto*)
1394 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1395 ;;
1396 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1397 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1398 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1399 ;;
1400 -mac*)
1401 os=`echo $os | sed -e 's|mac|macos|'`
1402 ;;
1403 -linux-dietlibc)
1404 os=-linux-dietlibc
1405 ;;
1406 -linux*)
1407 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1408 ;;
1409 -sunos5*)
1410 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1411 ;;
1412 -sunos6*)
1413 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1414 ;;
1415 -opened*)
1416 os=-openedition
1417 ;;
ee134472 1418 -os400*)
35fa52c0
DWT
1419 os=-os400
1420 ;;
1421 -wince*)
1422 os=-wince
1423 ;;
1424 -osfrose*)
1425 os=-osfrose
1426 ;;
1427 -osf*)
1428 os=-osf
1429 ;;
1430 -utek*)
1431 os=-bsd
1432 ;;
1433 -dynix*)
1434 os=-bsd
1435 ;;
1436 -acis*)
1437 os=-aos
1438 ;;
1439 -atheos*)
1440 os=-atheos
1441 ;;
1442 -syllable*)
1443 os=-syllable
1444 ;;
1445 -386bsd)
1446 os=-bsd
1447 ;;
1448 -ctix* | -uts*)
1449 os=-sysv
1450 ;;
1451 -nova*)
1452 os=-rtmk-nova
1453 ;;
1454 -ns2 )
1455 os=-nextstep2
1456 ;;
1457 -nsk*)
1458 os=-nsk
1459 ;;
1460 # Preserve the version number of sinix5.
1461 -sinix5.*)
1462 os=`echo $os | sed -e 's|sinix|sysv|'`
1463 ;;
1464 -sinix*)
1465 os=-sysv4
1466 ;;
ee134472 1467 -tpf*)
35fa52c0
DWT
1468 os=-tpf
1469 ;;
1470 -triton*)
1471 os=-sysv3
1472 ;;
1473 -oss*)
1474 os=-sysv3
1475 ;;
1476 -svr4)
1477 os=-sysv4
1478 ;;
1479 -svr3)
1480 os=-sysv3
1481 ;;
1482 -sysvr4)
1483 os=-sysv4
1484 ;;
1485 # This must come after -sysvr4.
1486 -sysv*)
1487 ;;
1488 -ose*)
1489 os=-ose
1490 ;;
1491 -es1800*)
1492 os=-ose
1493 ;;
1494 -xenix)
1495 os=-xenix
1496 ;;
1497 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1498 os=-mint
1499 ;;
1500 -aros*)
1501 os=-aros
1502 ;;
1503 -kaos*)
1504 os=-kaos
1505 ;;
1506 -zvmoe)
1507 os=-zvmoe
1508 ;;
1509 -dicos*)
1510 os=-dicos
1511 ;;
ee134472
JF
1512 -nacl*)
1513 ;;
35fa52c0
DWT
1514 -none)
1515 ;;
1516 *)
1517 # Get rid of the `-' at the beginning of $os.
1518 os=`echo $os | sed 's/[^-]*-//'`
1519 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1520 exit 1
1521 ;;
1522esac
1523else
1524
1525# Here we handle the default operating systems that come with various machines.
1526# The value should be what the vendor currently ships out the door with their
1527# machine or put another way, the most popular os provided with the machine.
1528
1529# Note that if you're going to try to match "-MANUFACTURER" here (say,
1530# "-sun"), then you have to tell the case statement up towards the top
1531# that MANUFACTURER isn't an operating system. Otherwise, code above
1532# will signal an error saying that MANUFACTURER isn't an operating
1533# system, and we'll never get to this point.
1534
1535case $basic_machine in
ee134472 1536 score-*)
35fa52c0
DWT
1537 os=-elf
1538 ;;
ee134472 1539 spu-*)
35fa52c0
DWT
1540 os=-elf
1541 ;;
1542 *-acorn)
1543 os=-riscix1.2
1544 ;;
1545 arm*-rebel)
1546 os=-linux
1547 ;;
1548 arm*-semi)
1549 os=-aout
1550 ;;
ee134472
JF
1551 c4x-* | tic4x-*)
1552 os=-coff
1553 ;;
53ba6704
JF
1554 hexagon-*)
1555 os=-elf
1556 ;;
ee134472
JF
1557 tic54x-*)
1558 os=-coff
1559 ;;
1560 tic55x-*)
1561 os=-coff
1562 ;;
1563 tic6x-*)
1564 os=-coff
35fa52c0
DWT
1565 ;;
1566 # This must come before the *-dec entry.
1567 pdp10-*)
1568 os=-tops20
1569 ;;
1570 pdp11-*)
1571 os=-none
1572 ;;
1573 *-dec | vax-*)
1574 os=-ultrix4.2
1575 ;;
1576 m68*-apollo)
1577 os=-domain
1578 ;;
1579 i386-sun)
1580 os=-sunos4.0.2
1581 ;;
1582 m68000-sun)
1583 os=-sunos3
35fa52c0
DWT
1584 ;;
1585 m68*-cisco)
1586 os=-aout
1587 ;;
ee134472 1588 mep-*)
35fa52c0
DWT
1589 os=-elf
1590 ;;
1591 mips*-cisco)
1592 os=-elf
1593 ;;
1594 mips*-*)
1595 os=-elf
1596 ;;
1597 or32-*)
1598 os=-coff
1599 ;;
1600 *-tti) # must be before sparc entry or we get the wrong os.
1601 os=-sysv3
1602 ;;
1603 sparc-* | *-sun)
1604 os=-sunos4.1.1
1605 ;;
1606 *-be)
1607 os=-beos
1608 ;;
1609 *-haiku)
1610 os=-haiku
1611 ;;
1612 *-ibm)
1613 os=-aix
1614 ;;
ee134472 1615 *-knuth)
35fa52c0
DWT
1616 os=-mmixware
1617 ;;
1618 *-wec)
1619 os=-proelf
1620 ;;
1621 *-winbond)
1622 os=-proelf
1623 ;;
1624 *-oki)
1625 os=-proelf
1626 ;;
1627 *-hp)
1628 os=-hpux
1629 ;;
1630 *-hitachi)
1631 os=-hiux
1632 ;;
1633 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1634 os=-sysv
1635 ;;
1636 *-cbm)
1637 os=-amigaos
1638 ;;
1639 *-dg)
1640 os=-dgux
1641 ;;
1642 *-dolphin)
1643 os=-sysv3
1644 ;;
1645 m68k-ccur)
1646 os=-rtu
1647 ;;
1648 m88k-omron*)
1649 os=-luna
1650 ;;
1651 *-next )
1652 os=-nextstep
1653 ;;
1654 *-sequent)
1655 os=-ptx
1656 ;;
1657 *-crds)
1658 os=-unos
1659 ;;
1660 *-ns)
1661 os=-genix
1662 ;;
1663 i370-*)
1664 os=-mvs
1665 ;;
1666 *-next)
1667 os=-nextstep3
1668 ;;
1669 *-gould)
1670 os=-sysv
1671 ;;
1672 *-highlevel)
1673 os=-bsd
1674 ;;
1675 *-encore)
1676 os=-bsd
1677 ;;
1678 *-sgi)
1679 os=-irix
1680 ;;
1681 *-siemens)
1682 os=-sysv4
1683 ;;
1684 *-masscomp)
1685 os=-rtu
1686 ;;
1687 f30[01]-fujitsu | f700-fujitsu)
1688 os=-uxpv
1689 ;;
1690 *-rom68k)
1691 os=-coff
1692 ;;
1693 *-*bug)
1694 os=-coff
1695 ;;
1696 *-apple)
1697 os=-macos
1698 ;;
1699 *-atari*)
1700 os=-mint
1701 ;;
1702 *)
1703 os=-none
1704 ;;
1705esac
1706fi
1707
1708# Here we handle the case where we know the os, and the CPU type, but not the
1709# manufacturer. We pick the logical manufacturer.
1710vendor=unknown
1711case $basic_machine in
1712 *-unknown)
1713 case $os in
1714 -riscix*)
1715 vendor=acorn
1716 ;;
1717 -sunos*)
1718 vendor=sun
1719 ;;
9c60689e 1720 -cnk*|-aix*)
35fa52c0
DWT
1721 vendor=ibm
1722 ;;
1723 -beos*)
1724 vendor=be
1725 ;;
1726 -hpux*)
1727 vendor=hp
1728 ;;
1729 -mpeix*)
1730 vendor=hp
1731 ;;
1732 -hiux*)
1733 vendor=hitachi
1734 ;;
1735 -unos*)
1736 vendor=crds
1737 ;;
1738 -dgux*)
1739 vendor=dg
1740 ;;
1741 -luna*)
1742 vendor=omron
1743 ;;
1744 -genix*)
1745 vendor=ns
1746 ;;
1747 -mvs* | -opened*)
1748 vendor=ibm
1749 ;;
1750 -os400*)
1751 vendor=ibm
1752 ;;
1753 -ptx*)
1754 vendor=sequent
1755 ;;
1756 -tpf*)
1757 vendor=ibm
1758 ;;
1759 -vxsim* | -vxworks* | -windiss*)
1760 vendor=wrs
1761 ;;
1762 -aux*)
1763 vendor=apple
1764 ;;
1765 -hms*)
1766 vendor=hitachi
1767 ;;
1768 -mpw* | -macos*)
1769 vendor=apple
1770 ;;
1771 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1772 vendor=atari
1773 ;;
1774 -vos*)
1775 vendor=stratus
1776 ;;
1777 esac
1778 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1779 ;;
1780esac
1781
1782echo $basic_machine$os
1783exit
1784
1785# Local variables:
1786# eval: (add-hook 'write-file-hooks 'time-stamp)
1787# time-stamp-start: "timestamp='"
1788# time-stamp-format: "%:y-%02m-%02d"
1789# time-stamp-end: "'"
1790# End: