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