Add mh-windows.
[deliverable/binutils-gdb.git] / config.sub
CommitLineData
84849c9c 1#! /bin/sh
378fd382 2# Configuration validation subroutine script, version 1.1.
d586f394 3# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
378fd382
DZ
4# This file is (in principle) common to ALL GNU software.
5# The presence of a machine in this file suggests that SOME GNU software
6# can handle that machine. It does not imply ALL GNU software can.
032d50a9
DE
7#
8# This file is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
d586f394
ILT
20# Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA.
a2ee3e6d 22
84849c9c
ILT
23# As a special exception to the GNU General Public License, if you
24# distribute this file as part of a program that contains a
25# configuration script generated by Autoconf, you may include it under
26# the same distribution terms that you use for the rest of that program.
4f183929
RP
27
28# Configuration subroutine to validate and canonicalize a configuration type.
29# Supply the specified configuration type as an argument.
30# If it is invalid, we print an error message on stderr and exit with code 1.
31# Otherwise, we print the canonical config type on stdout and succeed.
32
33# This file is supposed to be the same for all GNU packages
34# and recognize all the CPU types, system types and aliases
35# that are meaningful with *any* GNU software.
36# Each package is responsible for reporting which valid configurations
37# it does not support. The user should be able to distinguish
38# a failure to support a valid configuration from a meaningless
a2ee3e6d 39# configuration.
4f183929 40
a2ee3e6d
JW
41# The goal of this file is to map all the various variations of a given
42# machine specification into a single specification in the form:
43# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
27a2a371 44# It is wrong to echo any other type of specification.
8b204e6e 45
032d50a9 46if [ x$1 = x ]
23ab00aa
KR
47then
48 echo Configuration name missing. 1>&2
49 echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
50 echo "or $0 ALIAS" 1>&2
51 echo where ALIAS is a recognized configuration type. 1>&2
52 exit 1
53fi
54
a2ee3e6d
JW
55# First pass through any local machine types.
56case $1 in
57 *local*)
58 echo $1
59 exit 0
60 ;;
61 *)
69e87de2 62 ;;
a2ee3e6d 63esac
b9fe720d 64
a2ee3e6d 65# Separate what the user gave into CPU-COMPANY and OS (if any).
378fd382 66basic_machine=`echo $1 | sed 's/-[^-]*$//'`
a2ee3e6d
JW
67if [ $basic_machine != $1 ]
68then os=`echo $1 | sed 's/.*-/-/'`
69else os=; fi
caebaa16 70
27a2a371
JW
71### Let's recognize common machines as not being operating systems so
72### that things like config.sub decstation-3100 work. We also
6559fbdb 73### recognize some manufacturers as not being operating systems, so we
27a2a371 74### can provide default operating systems below.
a2ee3e6d 75case $os in
939d9e8a
JL
76 -sun*os*)
77 # Prevent following clause from handling this invalid input.
78 ;;
a2ee3e6d
JW
79 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
80 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1983e432 81 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
939d9e8a 82 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
a2ee3e6d 83 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
032d50a9
DE
84 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
85 os=
86 basic_machine=$1
87 ;;
3b61a094 88 -sim | -cisco | -oki | -wec | -winbond ) # CYGNUS LOCAL
a2ee3e6d
JW
89 os=
90 basic_machine=$1
91 ;;
35262713 92 -apple*) # CYGNUS LOCAL
032d50a9
DE
93 os=
94 basic_machine=$1
95 ;;
378fd382 96 -scout) # CYGNUS LOCAL
f68be6f0 97 ;;
6559fbdb 98 -wrs) # CYGNUS LOCAL
300f6a4f
RS
99 os=vxworks
100 basic_machine=$1
101 ;;
939d9e8a 102 -hiux*)
aa6db781 103 os=-hiuxwe2
939d9e8a 104 ;;
d586f394
ILT
105 -sco5)
106 os=sco3.2v5
107 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
108 ;;
939d9e8a
JL
109 -sco4)
110 os=-sco3.2v4
111 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
112 ;;
113 -sco3.2.[4-9]*)
114 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
115 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
116 ;;
27a2a371
JW
117 -sco3.2v[4-9]*)
118 # Don't forget version if it is 3.2v4 or newer.
6559fbdb 119 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
27a2a371 120 ;;
a2ee3e6d 121 -sco*)
378fd382 122 os=-sco3.2v2
6559fbdb 123 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
a2ee3e6d 124 ;;
27a2a371
JW
125 -isc)
126 os=-isc2.2
6559fbdb 127 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
27a2a371 128 ;;
9d784b19
RS
129 -clix*)
130 basic_machine=clipper-intergraph
131 ;;
378fd382 132 -isc*)
6559fbdb 133 basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
a2ee3e6d 134 ;;
032d50a9 135 -lynx*)
939d9e8a
JL
136 os=-lynxos
137 ;;
d1c8b869
ILT
138 -ptx*)
139 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
aa6db781 140 ;;
d94aca1a
MT
141 -windowsnt*)
142 os=`echo $os | sed -e 's/windowsnt/winnt/'`
143 ;;
3f5d1c2c
C
144 -psos*)
145 os=-psos
146 ;;
a2ee3e6d 147esac
b9fe720d 148
a2ee3e6d
JW
149# Decode aliases for certain CPU-COMPANY combinations.
150case $basic_machine in
939d9e8a 151 # Recognize the basic CPU types without company name.
378fd382 152 # Some are omitted here because they have special meanings below.
d586f394
ILT
153 tahoe | i[3456]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
154 | arme[lb] | pyramid \
d1c8b869 155 | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
3f5d1c2c
C
156 | alpha | we32k | ns16k | clipper | i370 | sh \
157 | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
84849c9c 158 | pdp11 | mips64el | mips64orion | mips64orionel \
3f5d1c2c 159 | sparc | sparclet | sparclite | sparc64)
032d50a9
DE
160 basic_machine=$basic_machine-unknown
161 ;;
35262713 162 m88110 | m680[01234]0 | m683?2 | m68360 | z8k | v70 | h8500 | w65) # CYGNUS LOCAL
a2ee3e6d
JW
163 basic_machine=$basic_machine-unknown
164 ;;
d586f394
ILT
165 mips64vr4300 | mips64vr4300el) # CYGNUS LOCAL jsmith/vr4300
166 basic_machine=$basic_machine-unknown
167 ;;
168 mips64vr4100 | mips64vr4100el) # CYGNUS LOCAL jsmith/vr4100
48ac1853
ILT
169 basic_machine=$basic_machine-unknown
170 ;;
be9b9d69
JL
171 mips64vr5000 | mips64vr5000el) # CYGNUS LOCAL ian/vr5000
172 basic_machine=$basic_machine-unknown
173 ;;
88632436 174# start-sanitize-v850
3f5d1c2c
C
175 v850) # CYGNUS LOCAL jtc/v850
176 basic_machine=$basic_machine-unknown
177 ;;
88632436 178# end-sanitize-v850
3f5d1c2c
C
179# start-sanitize-d10v
180 d10v) # CYGNUS LOCAL meissner/d10v
181 basic_machine=$basic_machine-unknown
182 ;;
183# end-sanitize-d10v
88632436
DE
184# start-sanitize-m32r
185 m32r)
186 basic_machine=$basic_machine-unknown
187 ;;
188# end-sanitize-m32r
ae1b99e4
JL
189 mn10200)
190 basic_machine=$basic_machine-unknown
191 ;;
192 mn10300)
be9b9d69
JL
193 basic_machine=$basic_machine-unknown
194 ;;
939d9e8a
JL
195 # Object if more than one company name word.
196 *-*-*)
197 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
198 exit 1
199 ;;
200 # Recognize the basic CPU types with company name.
d586f394 201 vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
35262713
SC
202 | sparc-* | ns32k-* | fx80-* | arm-* | arme[lb]-* | c[123]* \
203 | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
d1c8b869 204 | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
27a2a371 205 | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
6559fbdb 206 | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
35262713 207 | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
032d50a9 208 | mips64el-* | mips64orion-* | mips64orionel-*)
a2ee3e6d 209 ;;
35262713 210 m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | h8500-*) # CYGNUS LOCAL
7c71fc39 211 ;;
d586f394
ILT
212 mips64vr4300-* | mips64vr4300el-*) # CYGNUS LOCAL jsmith/vr4300
213 ;;
214 mips64vr4100-* | mips64vr4100el-*) # CYGNUS LOCAL jsmith/vr4100
48ac1853 215 ;;
a2ee3e6d
JW
216 # Recognize the various machine names and aliases which stand
217 # for a CPU type and a company and sometimes even an OS.
842ca181
PB
218 386bsd) # CYGNUS LOCAL
219 basic_machine=i386-unknown
220 os=-bsd
a2ee3e6d 221 ;;
842ca181
PB
222 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
223 basic_machine=m68000-att
a2ee3e6d 224 ;;
842ca181
PB
225 3b*)
226 basic_machine=we32k-att
939d9e8a 227 ;;
842ca181
PB
228 a29khif) # CYGNUS LOCAL
229 basic_machine=a29k-amd
230 os=-udi
939d9e8a 231 ;;
842ca181
PB
232 adobe68k) # CYGNUS LOCAL
233 basic_machine=m68010-adobe
234 os=-scout
ba7f177a 235 ;;
842ca181
PB
236 alliant | fx80)
237 basic_machine=fx80-alliant
939d9e8a 238 ;;
842ca181
PB
239 altos | altos3068)
240 basic_machine=m68k-altos
a2ee3e6d 241 ;;
842ca181
PB
242 am29k)
243 basic_machine=a29k-none
244 os=-bsd
a2ee3e6d 245 ;;
842ca181
PB
246 amdahl)
247 basic_machine=580-amdahl
248 os=-sysv
939d9e8a 249 ;;
d1c8b869 250 amiga | amiga-*)
842ca181 251 basic_machine=m68k-cbm
68cd7865 252 ;;
842ca181
PB
253 amigados)
254 basic_machine=m68k-cbm
255 os=-amigados
a2ee3e6d 256 ;;
842ca181
PB
257 amigaunix | amix)
258 basic_machine=m68k-cbm
6559fbdb
RP
259 os=-sysv4
260 ;;
842ca181
PB
261 apollo68)
262 basic_machine=m68k-apollo
6559fbdb
RP
263 os=-sysv
264 ;;
842ca181
PB
265 apollo68bsd) # CYGNUS LOCAL
266 basic_machine=m68k-apollo
23ab00aa
KR
267 os=-bsd
268 ;;
35262713 269 arm | armel | armeb)
48ac1853 270 basic_machine=arm-arm
35262713
SC
271 os=-aout
272 ;;
032d50a9
DE
273# start-sanitize-arc
274 arc)
275 basic_machine=arc-unknown
276 ;;
277 arc-*)
278 ;;
279# end-sanitize-arc
349f03db
ILT
280 aux)
281 basic_machine=m68k-apple
282 os=-aux
283 ;;
842ca181
PB
284 balance)
285 basic_machine=ns32k-sequent
286 os=-dynix
939d9e8a 287 ;;
a2ee3e6d
JW
288 convex-c1)
289 basic_machine=c1-convex
378fd382 290 os=-bsd
a2ee3e6d
JW
291 ;;
292 convex-c2)
293 basic_machine=c2-convex
378fd382 294 os=-bsd
a2ee3e6d
JW
295 ;;
296 convex-c32)
297 basic_machine=c32-convex
378fd382 298 os=-bsd
a2ee3e6d
JW
299 ;;
300 convex-c34)
301 basic_machine=c34-convex
378fd382 302 os=-bsd
a2ee3e6d
JW
303 ;;
304 convex-c38)
305 basic_machine=c38-convex
378fd382 306 os=-bsd
a2ee3e6d 307 ;;
842ca181
PB
308 cray | ymp)
309 basic_machine=ymp-cray
310 os=-unicos
a2ee3e6d 311 ;;
842ca181
PB
312 cray2)
313 basic_machine=cray2-cray
314 os=-unicos
a2ee3e6d
JW
315 ;;
316 crds | unos)
317 basic_machine=m68k-crds
318 ;;
d1c8b869
ILT
319 da30 | da30-*)
320 basic_machine=m68k-da30
321 ;;
322 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
842ca181
PB
323 basic_machine=mips-dec
324 ;;
325 delta | 3300 | motorola-3300 | motorola-delta \
326 | 3300-motorola | delta-motorola)
327 basic_machine=m68k-motorola
328 ;;
329 delta88)
330 basic_machine=m88k-motorola
331 os=-sysv3
332 ;;
333 dpx20 | dpx20-*)
334 basic_machine=rs6000-bull
335 os=-bosx
336 ;;
337 dpx2* | dpx2*-bull)
338 basic_machine=m68k-bull
339 os=-sysv3
340 ;;
341 ebmon29k)
342 basic_machine=a29k-amd
343 os=-ebmon
344 ;;
378fd382
DZ
345 elxsi)
346 basic_machine=elxsi-elxsi
347 os=-bsd
348 ;;
a2ee3e6d
JW
349 encore | umax | mmax)
350 basic_machine=ns32k-encore
a2ee3e6d 351 ;;
842ca181
PB
352 es1800 | OSE68k | ose68k | ose | OSE) # CYGNUS LOCAL
353 basic_machine=m68k-ericsson
354 os=-ose
355 ;;
356 fx2800)
357 basic_machine=i860-alliant
358 ;;
a2ee3e6d
JW
359 genix)
360 basic_machine=ns32k-ns
361 ;;
842ca181
PB
362 gmicro)
363 basic_machine=tron-gmicro
364 os=-sysv
a2ee3e6d 365 ;;
842ca181
PB
366 h3050r* | hiux*)
367 basic_machine=hppa1.1-hitachi
368 os=-hiuxwe2
a2ee3e6d 369 ;;
d94aca1a 370 h8300hms)
842ca181
PB
371 basic_machine=h8300-hitachi
372 os=-hms
a2ee3e6d 373 ;;
842ca181
PB
374 h8300xray) # CYGNUS LOCAL
375 basic_machine=h8300-hitachi
376 os=-xray
a2ee3e6d 377 ;;
842ca181
PB
378 h8500hms) # CYGNUS LOCAL
379 basic_machine=h8500-hitachi
380 os=-hms
a2ee3e6d 381 ;;
842ca181
PB
382 harris)
383 basic_machine=m88k-harris
384 os=-sysv3
a2ee3e6d 385 ;;
d1c8b869
ILT
386 hp300-*)
387 basic_machine=m68k-hp
a2ee3e6d 388 ;;
842ca181
PB
389 hp300bsd)
390 basic_machine=m68k-hp
391 os=-bsd
a2ee3e6d 392 ;;
842ca181
PB
393 hp300hpux)
394 basic_machine=m68k-hp
395 os=-hpux
a2ee3e6d 396 ;;
d1c8b869
ILT
397 w89k-*) # CYGNUS LOCAL
398 basic_machine=hppa1.1-winbond
399 os=-proelf
400 ;;
401 op50n-*) # CYGNUS LOCAL
402 basic_machine=hppa1.1-oki
403 os=-proelf
404 ;;
405 op60c-*) # CYGNUS LOCAL
406 basic_machine=hppa1.1-oki
407 os=-proelf
408 ;;
409 hppro) # CYGNUS LOCAL
410 basic_machine=hppa1.1-hp
411 os=-proelf
412 ;;
842ca181
PB
413 hp9k2[0-9][0-9] | hp9k31[0-9])
414 basic_machine=m68000-hp
a2ee3e6d 415 ;;
842ca181
PB
416 hp9k3[2-9][0-9])
417 basic_machine=m68k-hp
a2ee3e6d 418 ;;
842ca181
PB
419 hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
420 basic_machine=hppa1.1-hp
a2ee3e6d 421 ;;
842ca181
PB
422 hp9k8[0-9][0-9] | hp8[0-9][0-9])
423 basic_machine=hppa1.0-hp
a2ee3e6d 424 ;;
d94aca1a 425 hppaosf) # CYGNUS LOCAL
842ca181
PB
426 basic_machine=hppa1.1-hp
427 os=-osf
428 ;;
429 i370-ibm* | ibm*)
430 basic_machine=i370-ibm
431 os=-mvs
432 ;;
842ca181 433# I'm not sure what "Sysv32" means. Should this be sysv3.2?
d586f394 434 i[3456]86v32)
842ca181
PB
435 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
436 os=-sysv32
437 ;;
d586f394 438 i[3456]86v4*)
842ca181
PB
439 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
440 os=-sysv4
441 ;;
d586f394 442 i[3456]86v)
842ca181
PB
443 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
444 os=-sysv
445 ;;
d586f394 446 i[3456]86sol2)
842ca181 447 basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
8bcd7db2
JW
448 os=-solaris2
449 ;;
d1c8b869
ILT
450 i386mach) # CYGNUS LOCAL
451 basic_machine=i386-mach
452 os=-mach
453 ;;
454 i386-vsta | vsta) # CYGNUS LOCAL
455 basic_machine=i386-unknown
456 os=-vsta
457 ;;
458 i386-go32 | go32) # CYGNUS LOCAL
459 basic_machine=i386-unknown
460 os=-go32
461 ;;
84849c9c 462 iris | iris4d)
842ca181
PB
463 basic_machine=mips-sgi
464 case $os in
465 -irix*)
466 ;;
467 *)
468 os=-irix4
469 ;;
470 esac
471 ;;
472 isi68 | isi)
473 basic_machine=m68k-isi
474 os=-sysv
475 ;;
842ca181
PB
476 m88k-omron*)
477 basic_machine=m88k-omron
478 ;;
479 magnum | m3230)
480 basic_machine=mips-mips
481 os=-sysv
482 ;;
483 merlin)
484 basic_machine=ns32k-utek
485 os=-sysv
486 ;;
487 miniframe)
d1c8b869 488 basic_machine=m68000-convergent
a2ee3e6d 489 ;;
d1c8b869 490 mips3*-*)
842ca181
PB
491 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
492 ;;
d1c8b869
ILT
493 mips3*)
494 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
842ca181 495 ;;
d94aca1a 496 monitor) # CYGNUS LOCAL
d1c8b869 497 basic_machine=m68k-rom68k
842ca181 498 os=-coff
d1c8b869 499 ;;
378fd382 500 msdos) # CYGNUS LOCAL
afba2b22
ILT
501 basic_machine=i386-unknown
502 os=-msdos
503 ;;
842ca181
PB
504 ncr3000)
505 basic_machine=i486-ncr
506 os=-sysv4
378fd382 507 ;;
842ca181
PB
508 netbsd386)
509 basic_machine=i386-unknown # CYGNUS LOCAL
510 os=-netbsd
a2ee3e6d 511 ;;
842ca181
PB
512 news | news700 | news800 | news900)
513 basic_machine=m68k-sony
514 os=-newsos
a2ee3e6d 515 ;;
842ca181
PB
516 news1000)
517 basic_machine=m68030-sony
518 os=-newsos
519 ;;
520 news-3600 | risc-news)
521 basic_machine=mips-sony
522 os=-newsos
378fd382 523 ;;
d1c8b869
ILT
524 necv70) # CYGNUS LOCAL
525 basic_machine=v70-nec
526 os=-sysv
527 ;;
528 next | m*-next )
a2ee3e6d 529 basic_machine=m68k-next
842ca181 530 case $os in
d1c8b869
ILT
531 -nextstep* )
532 ;;
533 -ns2*)
534 os=-nextstep2
842ca181
PB
535 ;;
536 *)
1983e432 537 os=-nextstep3
842ca181
PB
538 ;;
539 esac
a2ee3e6d 540 ;;
842ca181
PB
541 nh3000)
542 basic_machine=m68k-harris
543 os=-cxux
378fd382 544 ;;
842ca181
PB
545 nh[45]000)
546 basic_machine=m88k-harris
547 os=-cxux
27a2a371 548 ;;
842ca181
PB
549 nindy960)
550 basic_machine=i960-intel
551 os=-nindy
a2ee3e6d 552 ;;
3f5d1c2c
C
553 mon960)
554 basic_machine=i960-intel
555 os=-mon960
556 ;;
842ca181
PB
557 np1)
558 basic_machine=np1-gould
a2ee3e6d 559 ;;
842ca181
PB
560 OSE68000 | ose68000) # CYGNUS LOCAL
561 basic_machine=m68000-ericsson
562 os=-ose
a2ee3e6d 563 ;;
d1c8b869
ILT
564 os68k) # CYGNUS LOCAL
565 basic_machine=m68k-none
566 os=-os68k
567 ;;
842ca181 568 pa-hitachi)
9117f609 569 basic_machine=hppa1.1-hitachi
842ca181 570 os=-hiuxwe2
9117f609 571 ;;
842ca181
PB
572 paragon)
573 basic_machine=i860-intel
574 os=-osf
a2ee3e6d 575 ;;
842ca181
PB
576 pbd)
577 basic_machine=sparc-tti
a2ee3e6d 578 ;;
842ca181
PB
579 pbb)
580 basic_machine=m68k-tti
a2ee3e6d 581 ;;
d1c8b869 582 pc532 | pc532-*)
842ca181 583 basic_machine=ns32k-pc532
a2ee3e6d 584 ;;
d586f394 585 pentium | p5)
35262713
SC
586 basic_machine=i586-intel
587 ;;
d586f394
ILT
588 pentiumpro | p6)
589 basic_machine=i686-intel
590 ;;
591 pentium-* | p5-*)
35262713
SC
592 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
593 ;;
d586f394
ILT
594 pentiumpro-* | p6-*)
595 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
596 ;;
35262713
SC
597 k5)
598 # We don't have specific support for AMD's K5 yet, so just call it a Pentium
599 basic_machine=i586-amd
600 ;;
d586f394 601 nexen)
35262713
SC
602 # We don't have specific support for Nexgen yet, so just call it a Pentium
603 basic_machine=i586-nexgen
d1c8b869 604 ;;
842ca181
PB
605 pn)
606 basic_machine=pn-gould
607 ;;
35262713
SC
608 power) basic_machine=rs6000-ibm
609 ;;
610 ppc) basic_machine=powerpc-unknown
611 ;;
612 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
613 ;;
614 ppcle | powerpclittle | ppc-le | powerpc-little)
615 basic_machine=powerpcle-unknown
616 ;;
617 ppcle-* | powerpclittle-*)
618 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
619 ;;
842ca181
PB
620 ps2)
621 basic_machine=i386-ibm
68cd7865 622 ;;
d1c8b869
ILT
623 rom68k) # CYGNUS LOCAL
624 basic_machine=m68k-rom68k
9d784b19 625 os=-coff
d1c8b869 626 ;;
84849c9c
ILT
627 rm[46]00)
628 basic_machine=mips-siemens
629 ;;
842ca181
PB
630 rtpc | rtpc-*)
631 basic_machine=romp-ibm
a2ee3e6d 632 ;;
842ca181
PB
633 sa29200) # CYGNUS LOCAL
634 basic_machine=a29k-amd
635 os=-udi
a2ee3e6d 636 ;;
d1c8b869
ILT
637 sequent)
638 basic_machine=i386-sequent
639 ;;
640 sh)
842ca181
PB
641 basic_machine=sh-hitachi
642 os=-hms
a2ee3e6d 643 ;;
842ca181
PB
644 sparclite-wrs) # CYGNUS LOCAL
645 basic_machine=sparclite-wrs
646 os=-vxworks
647 ;;
842ca181
PB
648 sps7)
649 basic_machine=m68k-bull
650 os=-sysv2
651 ;;
652 spur)
653 basic_machine=spur-unknown
654 ;;
655 st2000) # CYGNUS LOCAL
656 basic_machine=m68k-tandem
a2ee3e6d 657 ;;
378fd382 658 stratus) # CYGNUS LOCAL
dd16baba
SEF
659 basic_machine=i860-stratus
660 os=-sysv4
661 ;;
842ca181
PB
662 sun2)
663 basic_machine=m68000-sun
a2ee3e6d 664 ;;
842ca181
PB
665 sun2os3)
666 basic_machine=m68000-sun
667 os=-sunos3
a2ee3e6d 668 ;;
842ca181
PB
669 sun2os4)
670 basic_machine=m68000-sun
671 os=-sunos4
a2ee3e6d 672 ;;
842ca181
PB
673 sun3os3)
674 basic_machine=m68k-sun
675 os=-sunos3
a2ee3e6d 676 ;;
842ca181
PB
677 sun3os4)
678 basic_machine=m68k-sun
679 os=-sunos4
a2ee3e6d 680 ;;
842ca181
PB
681 sun4os3)
682 basic_machine=sparc-sun
683 os=-sunos3
a2ee3e6d 684 ;;
842ca181
PB
685 sun4os4)
686 basic_machine=sparc-sun
687 os=-sunos4
2501643a 688 ;;
84849c9c 689 sun4sol2)
842ca181
PB
690 basic_machine=sparc-sun
691 os=-solaris2
984b27cb 692 ;;
d1c8b869 693 sun3 | sun3-*)
842ca181 694 basic_machine=m68k-sun
984b27cb 695 ;;
842ca181
PB
696 sun4)
697 basic_machine=sparc-sun
378fd382 698 ;;
842ca181
PB
699 sun386 | sun386i | roadrunner)
700 basic_machine=i386-sun
378fd382 701 ;;
842ca181
PB
702 symmetry)
703 basic_machine=i386-sequent
704 os=-dynix
2501643a 705 ;;
842ca181
PB
706 tower | tower-32)
707 basic_machine=m68k-ncr
2501643a 708 ;;
032d50a9 709 udi29k)
2501643a
PB
710 basic_machine=a29k-amd
711 os=-udi
712 ;;
842ca181
PB
713 ultra3)
714 basic_machine=a29k-nyu
715 os=-sym1
99a5da15 716 ;;
d94aca1a 717 v810 | necv810) # CYGNUS LOCAL
4a967132
PB
718 basic_machine=v810-nec
719 os=-none
720 ;;
842ca181
PB
721 vaxv)
722 basic_machine=vax-dec
723 os=-sysv
a2ee3e6d 724 ;;
842ca181
PB
725 vms)
726 basic_machine=vax-dec
727 os=-vms
a2ee3e6d
JW
728 ;;
729 vxworks960)
730 basic_machine=i960-wrs
731 os=-vxworks
732 ;;
733 vxworks68)
734 basic_machine=m68k-wrs
735 os=-vxworks
736 ;;
d586f394
ILT
737 vxworks29k)
738 basic_machine=a29k-wrs
739 os=-vxworks
740 ;;
84849c9c 741 w65*) # CYGNUS LOCAL
032d50a9
DE
742 basic_machine=w65-wdc
743 os=-none
744 ;;
842ca181
PB
745 xmp)
746 basic_machine=xmp-cray
747 os=-unicos
f68be6f0 748 ;;
27a2a371
JW
749 xps | xps100)
750 basic_machine=xps100-honeywell
751 ;;
48ac1853 752 z8k-*-coff) # CYGNUS LOCAL
d1c8b869 753 basic_machine=z8k-unknown
842ca181
PB
754 os=-sim
755 ;;
a2ee3e6d
JW
756 none)
757 basic_machine=none-none
758 os=-none
759 ;;
69e87de2 760
a2ee3e6d
JW
761# Here we handle the default manufacturer of certain CPU types. It is in
762# some cases the only manufacturer, in others, it is the most popular.
d1c8b869 763 w89k) # CYGNUS LOCAL
3b61a094
RS
764 basic_machine=hppa1.1-winbond
765 ;;
d1c8b869 766 op50n) # CYGNUS LOCAL
3b61a094
RS
767 basic_machine=hppa1.1-oki
768 ;;
d1c8b869 769 op60c) # CYGNUS LOCAL
3b61a094
RS
770 basic_machine=hppa1.1-oki
771 ;;
a2ee3e6d
JW
772 mips)
773 basic_machine=mips-mips
774 ;;
775 romp)
776 basic_machine=romp-ibm
777 ;;
778 rs6000)
779 basic_machine=rs6000-ibm
780 ;;
781 vax)
782 basic_machine=vax-dec
783 ;;
84849c9c
ILT
784 pdp11)
785 basic_machine=pdp11-dec
786 ;;
378fd382
DZ
787 we32k)
788 basic_machine=we32k-att
789 ;;
6559fbdb
RP
790 sparc)
791 basic_machine=sparc-sun
792 ;;
27a2a371
JW
793 cydra)
794 basic_machine=cydra-cydrome
795 ;;
796 orion)
797 basic_machine=orion-highlevel
798 ;;
799 orion105)
800 basic_machine=clipper-highlevel
801 ;;
48ac1853 802 mac | mpw | mac-mpw) # CYGNUS LOCAL
939d9e8a
JL
803 basic_machine=m68k-apple
804 ;;
48ac1853
ILT
805 pmac | pmac-mpw) # CYGNUS LOCAL
806 basic_machine=powerpc-apple
939d9e8a 807 ;;
a2ee3e6d
JW
808 *)
809 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
4f183929 810 exit 1
a2ee3e6d 811 ;;
4f183929
RP
812esac
813
378fd382
DZ
814# Here we canonicalize certain aliases for manufacturers.
815case $basic_machine in
816 *-digital*)
817 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
818 ;;
819 *-commodore*)
820 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
821 ;;
822 *)
823 ;;
824esac
825
a2ee3e6d 826# Decode manufacturer-specific aliases for certain operating systems.
e6602723 827
b48eb8b7 828if [ x"$os" != x"" ]
a2ee3e6d
JW
829then
830case $os in
6559fbdb
RP
831 # -solaris* is a basic system type, with this one exception.
832 -solaris1 | -solaris1.*)
833 os=`echo $os | sed -e 's|solaris1|sunos4|'`
834 ;;
b2eed00f
DE
835 -solaris)
836 os=-solaris2
837 ;;
84849c9c
ILT
838 -unixware* | svr4*)
839 os=-sysv4
840 ;;
d94aca1a
MT
841 -gnu/linux*)
842 os=`echo $os | sed -e 's|gnu/linux|linux|'`
843 ;;
a2ee3e6d
JW
844 # First accept the basic system types.
845 # The portable systems comes first.
d586f394 846 # Each alternative MUST END IN A *, to match a version number.
939d9e8a 847 # -sysv* is not here because it comes later, after sysvr4.
d586f394 848 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
3f5d1c2c 849 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[3456]* \
d1c8b869 850 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
3f5d1c2c
C
851 | -amigados* | -msdos* | -moss* | -newsos* | -unicos* | -aos* | -aof* \
852 | -nindy* | -mon960* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
27a2a371 853 | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
d586f394 854 | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
d1c8b869 855 | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
d586f394 856 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
3f5d1c2c
C
857 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
858 | -cygwin32* | -pe* | -psos*)
d586f394 859 # Remember, each alternative MUST END IN *, to match a version number.
d1c8b869 860 ;;
032d50a9 861 # CYGNUS LOCAL
d586f394 862 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
48ac1853 863 | -windows* | -osx | -abug | -netware* | -proelf | -os9* \
3f5d1c2c 864 | -macos* | -mpw* | -magic* | -rtems*)
032d50a9 865 ;;
d586f394 866 -mac*)
032d50a9
DE
867 os=`echo $os | sed -e 's|mac|macos|'`
868 ;;
d586f394 869 # END CYGNUS LOCAL
6559fbdb
RP
870 -sunos5*)
871 os=`echo $os | sed -e 's|sunos5|solaris2|'`
872 ;;
873 -sunos6*)
874 os=`echo $os | sed -e 's|sunos6|solaris3|'`
875 ;;
a2ee3e6d 876 -osfrose*)
378fd382 877 os=-osfrose
a2ee3e6d
JW
878 ;;
879 -osf*)
378fd382
DZ
880 os=-osf
881 ;;
882 -utek*)
a2ee3e6d
JW
883 os=-bsd
884 ;;
885 -dynix*)
886 os=-bsd
887 ;;
378fd382
DZ
888 -acis*)
889 os=-aos
a2ee3e6d 890 ;;
378fd382 891 -386bsd) # CYGNUS LOCAL
23ab00aa
KR
892 os=-bsd
893 ;;
68cd7865 894 -ctix* | -uts*)
a2ee3e6d
JW
895 os=-sysv
896 ;;
d586f394
ILT
897 -ns2 )
898 os=-nextstep2
899 ;;
84849c9c
ILT
900 # Preserve the version number of sinix5.
901 -sinix5.*)
902 os=`echo $os | sed -e 's|sinix|sysv|'`
903 ;;
904 -sinix*)
905 os=-sysv4
906 ;;
378fd382
DZ
907 -triton*)
908 os=-sysv3
909 ;;
910 -oss*)
911 os=-sysv3
912 ;;
c1e296fc
SG
913 -svr4)
914 os=-sysv4
915 ;;
916 -svr3)
917 os=-sysv3
918 ;;
939d9e8a
JL
919 -sysvr4)
920 os=-sysv4
921 ;;
922 # This must come after -sysvr4.
923 -sysv*)
924 ;;
378fd382 925 -ose*) # CYGNUS LOCAL
afba2b22
ILT
926 os=-ose
927 ;;
378fd382 928 -es1800*) # CYGNUS LOCAL
afba2b22
ILT
929 os=-ose
930 ;;
27a2a371
JW
931 -xenix)
932 os=-xenix
933 ;;
378fd382
DZ
934 -none)
935 ;;
a2ee3e6d
JW
936 *)
937 # Get rid of the `-' at the beginning of $os.
d1c8b869 938 os=`echo $os | sed 's/[^-]*-//'`
a2ee3e6d
JW
939 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
940 exit 1
941 ;;
69e87de2 942esac
a2ee3e6d 943else
69e87de2 944
a2ee3e6d
JW
945# Here we handle the default operating systems that come with various machines.
946# The value should be what the vendor currently ships out the door with their
947# machine or put another way, the most popular os provided with the machine.
27a2a371
JW
948
949# Note that if you're going to try to match "-MANUFACTURER" here (say,
950# "-sun"), then you have to tell the case statement up towards the top
951# that MANUFACTURER isn't an operating system. Otherwise, code above
952# will signal an error saying that MANUFACTURER isn't an operating
953# system, and we'll never get to this point.
954
a2ee3e6d 955case $basic_machine in
939d9e8a
JL
956 *-acorn)
957 os=-riscix1.2
958 ;;
d586f394
ILT
959 arm*-semi)
960 os=-aout
961 ;;
84849c9c
ILT
962 pdp11-*)
963 os=-none
964 ;;
a2ee3e6d 965 *-dec | vax-*)
378fd382 966 os=-ultrix4.2
a2ee3e6d 967 ;;
84849c9c
ILT
968 m68*-apollo)
969 os=-domain
970 ;;
a2ee3e6d 971 i386-sun)
378fd382 972 os=-sunos4.0.2
a2ee3e6d
JW
973 ;;
974 m68000-sun)
975 os=-sunos3
976 # This also exists in the configure program, but was not the
977 # default.
978 # os=-sunos4
979 ;;
d94aca1a 980 m68*-cisco) # CYGNUS LOCAL
aa6db781
DE
981 os=-aout
982 ;;
d94aca1a 983 mips*-cisco) # CYGNUS LOCAL
aa6db781
DE
984 os=-elf
985 ;;
378fd382
DZ
986 *-tti) # must be before sparc entry or we get the wrong os.
987 os=-sysv3
a2ee3e6d 988 ;;
378fd382
DZ
989 sparc-* | *-sun)
990 os=-sunos4.1.1
a2ee3e6d
JW
991 ;;
992 *-ibm)
993 os=-aix
994 ;;
3b61a094 995 *-wec) # CYGNUS LOCAL
d1c8b869 996 os=-proelf
3b61a094
RS
997 ;;
998 *-winbond) # CYGNUS LOCAL
d1c8b869 999 os=-proelf
3b61a094
RS
1000 ;;
1001 *-oki) # CYGNUS LOCAL
d1c8b869
ILT
1002 os=-proelf
1003 ;;
1004 *-hp)
1005 os=-hpux
3b61a094 1006 ;;
9117f609
JK
1007 *-hitachi)
1008 os=-hiux
1009 ;;
27a2a371 1010 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
a2ee3e6d
JW
1011 os=-sysv
1012 ;;
378fd382
DZ
1013 *-cbm)
1014 os=-amigados
1015 ;;
a2ee3e6d
JW
1016 *-dg)
1017 os=-dgux
1018 ;;
378fd382
DZ
1019 *-dolphin)
1020 os=-sysv3
1021 ;;
d1c8b869
ILT
1022 m68k-ccur)
1023 os=-rtu
1024 ;;
a2ee3e6d
JW
1025 m88k-omron*)
1026 os=-luna
1027 ;;
d586f394
ILT
1028 *-next )
1029 os=-nextstep
1030 ;;
a70c9959 1031 *-sequent)
d1c8b869 1032 os=-ptx
a70c9959 1033 ;;
a2ee3e6d
JW
1034 *-crds)
1035 os=-unos
1036 ;;
1037 *-ns)
1038 os=-genix
1039 ;;
939d9e8a
JL
1040 i370-*)
1041 os=-mvs
1042 ;;
1043 *-next)
d1c8b869 1044 os=-nextstep3
a2ee3e6d 1045 ;;
27a2a371
JW
1046 *-gould)
1047 os=-sysv
1048 ;;
1049 *-highlevel)
1050 os=-bsd
1051 ;;
1052 *-encore)
1053 os=-bsd
1054 ;;
1055 *-sgi)
1056 os=-irix
1057 ;;
84849c9c
ILT
1058 *-siemens)
1059 os=-sysv4
1060 ;;
27a2a371
JW
1061 *-masscomp)
1062 os=-rtu
1063 ;;
9d784b19
RS
1064 *-rom68k) # CYGNUS LOCAL
1065 os=-coff
1066 ;;
1067 *-*bug) # CYGNUS LOCAL
1068 os=-coff
1069 ;;
939d9e8a 1070 *-apple) # CYGNUS LOCAL
48ac1853 1071 os=-macos
939d9e8a 1072 ;;
a2ee3e6d
JW
1073 *)
1074 os=-none
1075 ;;
69e87de2 1076esac
a2ee3e6d 1077fi
69e87de2 1078
a2ee3e6d
JW
1079# Here we handle the case where we know the os, and the CPU type, but not the
1080# manufacturer. We pick the logical manufacturer.
1081vendor=unknown
1082case $basic_machine in
1083 *-unknown)
1084 case $os in
939d9e8a
JL
1085 -riscix*)
1086 vendor=acorn
1087 ;;
a2ee3e6d
JW
1088 -sunos*)
1089 vendor=sun
1090 ;;
84849c9c 1091 -bosx*) # CYGNUS LOCAL
ba7f177a
PB
1092 vendor=bull
1093 ;;
b2eed00f
DE
1094 -lynxos*)
1095 vendor=lynx
1096 ;;
a2ee3e6d
JW
1097 -aix*)
1098 vendor=ibm
1099 ;;
1100 -hpux*)
1101 vendor=hp
1102 ;;
9117f609
JK
1103 -hiux*)
1104 vendor=hitachi
1105 ;;
a2ee3e6d
JW
1106 -unos*)
1107 vendor=crds
1108 ;;
1109 -dgux*)
1110 vendor=dg
1111 ;;
1112 -luna*)
1113 vendor=omron
1114 ;;
1115 -genix*)
1116 vendor=ns
1117 ;;
939d9e8a
JL
1118 -mvs*)
1119 vendor=ibm
1120 ;;
d1c8b869
ILT
1121 -ptx*)
1122 vendor=sequent
1123 ;;
939d9e8a 1124 -vxworks*)
032d50a9 1125 vendor=wrs
afba2b22 1126 ;;
349f03db
ILT
1127 -aux*)
1128 vendor=apple
1129 ;;
984b27cb
SC
1130 -hms*) # CYGNUS LOCAL
1131 vendor=hitachi
1132 ;;
35262713 1133 -mpw* | -macos*) # CYGNUS LOCAL
939d9e8a
JL
1134 vendor=apple
1135 ;;
a2ee3e6d
JW
1136 esac
1137 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1138 ;;
4f183929
RP
1139esac
1140
a2ee3e6d 1141echo $basic_machine$os
This page took 0.220387 seconds and 4 git commands to generate.