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