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