]> git.saurik.com Git - apt.git/blame - buildlib/config.sub
* apt-pkg/acquire.cc:
[apt.git] / buildlib / config.sub
CommitLineData
d7bccc73 1#! /bin/sh
48d13628 2# Configuration validation subroutine script.
402eaa98 3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
bd3849e8
EL
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5# Free Software Foundation, Inc.
b2e465d6 6
bd3849e8 7timestamp='2008-01-16'
b2e465d6 8
d7bccc73
AL
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
bd3849e8
EL
25# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26# 02110-1301, USA.
27#
d7bccc73
AL
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
bd3849e8 33
402eaa98
AL
34# Please send patches to <config-patches@gnu.org>. Submit a context
35# diff and a properly formatted ChangeLog entry.
b2e465d6 36#
d7bccc73
AL
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
b2e465d6 57me=`echo "$0" | sed -e 's,.*/,,'`
d7bccc73 58
b2e465d6
AL
59usage="\
60Usage: $0 [OPTION] CPU-MFR-OPSYS
61 $0 [OPTION] ALIAS
62
63Canonicalize a configuration name.
64
65Operation modes:
48d13628
AL
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
bd3849e8
EL
75Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
762002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
48d13628
AL
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."
b2e465d6
AL
80
81help="
82Try \`$me --help' for more information."
83
84# Parse command line
85while test $# -gt 0 ; do
48d13628
AL
86 case $1 in
87 --time-stamp | --time* | -t )
bd3849e8 88 echo "$timestamp" ; exit ;;
48d13628 89 --version | -v )
bd3849e8 90 echo "$version" ; exit ;;
b2e465d6 91 --help | --h* | -h )
bd3849e8 92 echo "$usage"; exit ;;
b2e465d6
AL
93 -- ) # Stop option processing
94 shift; break ;;
95 - ) # Use stdin as input.
96 break ;;
97 -* )
48d13628 98 echo "$me: invalid option $1$help"
b2e465d6
AL
99 exit 1 ;;
100
101 *local*)
102 # First pass through any local machine types.
103 echo $1
bd3849e8 104 exit ;;
b2e465d6
AL
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;;
d7bccc73
AL
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
bd3849e8
EL
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*)
d7bccc73
AL
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 | \
bd3849e8 151 -apple | -axis | -knuth | -cray)
d7bccc73
AL
152 os=
153 basic_machine=$1
154 ;;
1cecba4d
AL
155 -sim | -cisco | -oki | -wec | -winbond)
156 os=
157 basic_machine=$1
158 ;;
159 -scout)
160 ;;
161 -wrs)
b2e465d6 162 os=-vxworks
1cecba4d
AL
163 basic_machine=$1
164 ;;
402eaa98
AL
165 -chorusos*)
166 os=-chorusos
167 basic_machine=$1
168 ;;
169 -chorusrdb)
170 os=-chorusrdb
171 basic_machine=$1
172 ;;
d7bccc73
AL
173 -hiux*)
174 os=-hiuxwe2
175 ;;
bd3849e8
EL
176 -sco6)
177 os=-sco5v6
178 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179 ;;
d7bccc73 180 -sco5)
1cecba4d 181 os=-sco3.2v5
d7bccc73
AL
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 ;;
bd3849e8
EL
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 ;;
d7bccc73
AL
200 -sco*)
201 os=-sco3.2v2
202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203 ;;
1cecba4d
AL
204 -udk*)
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;
d7bccc73
AL
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 ;;
b2e465d6
AL
229 -mint | -mint[0-9]*)
230 basic_machine=m68k-atari
231 os=-mint
232 ;;
d7bccc73
AL
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.
402eaa98
AL
239 1750a | 580 \
240 | a29k \
241 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
c79f3187 243 | am33_2.0 \
bd3849e8
EL
244 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245 | bfin \
c79f3187 246 | c4x | clipper \
402eaa98 247 | d10v | d30v | dlx | dsp16xx \
bd3849e8 248 | fido | fr30 | frv \
402eaa98
AL
249 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250 | i370 | i860 | i960 | ia64 \
c79f3187 251 | ip2k | iq2000 \
bd3849e8
EL
252 | m32c | m32r | m32rle | m68000 | m68k | m88k \
253 | maxq | mb | microblaze | mcore | mep \
402eaa98
AL
254 | mips | mipsbe | mipseb | mipsel | mipsle \
255 | mips16 \
256 | mips64 | mips64el \
257 | mips64vr | mips64vrel \
258 | mips64orion | mips64orionel \
259 | mips64vr4100 | mips64vr4100el \
260 | mips64vr4300 | mips64vr4300el \
261 | mips64vr5000 | mips64vr5000el \
bd3849e8 262 | mips64vr5900 | mips64vr5900el \
402eaa98 263 | mipsisa32 | mipsisa32el \
66afd2e8 264 | mipsisa32r2 | mipsisa32r2el \
402eaa98 265 | mipsisa64 | mipsisa64el \
9fdac852 266 | mipsisa64r2 | mipsisa64r2el \
402eaa98
AL
267 | mipsisa64sb1 | mipsisa64sb1el \
268 | mipsisa64sr71k | mipsisa64sr71kel \
269 | mipstx39 | mipstx39el \
270 | mn10200 | mn10300 \
bd3849e8 271 | mt \
66afd2e8 272 | msp430 \
bd3849e8 273 | nios | nios2 \
402eaa98 274 | ns16k | ns32k \
bd3849e8 275 | or32 \
402eaa98
AL
276 | pdp10 | pdp11 | pj | pjl \
277 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278 | pyramid \
bd3849e8
EL
279 | score \
280 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
402eaa98 281 | sh64 | sh64le \
bd3849e8
EL
282 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284 | spu | strongarm \
c79f3187 285 | tahoe | thumb | tic4x | tic80 | tron \
402eaa98
AL
286 | v850 | v850e \
287 | we32k \
bd3849e8 288 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
402eaa98 289 | z8k)
d7bccc73
AL
290 basic_machine=$basic_machine-unknown
291 ;;
b2e465d6
AL
292 m6811 | m68hc11 | m6812 | m68hc12)
293 # Motorola 68HC11/12.
294 basic_machine=$basic_machine-unknown
295 os=-none
296 ;;
402eaa98 297 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
1cecba4d 298 ;;
bd3849e8
EL
299 ms1)
300 basic_machine=mt-unknown
301 ;;
1cecba4d 302
d7bccc73
AL
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.
402eaa98 306 i*86 | x86_64)
d7bccc73
AL
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.
402eaa98
AL
315 580-* \
316 | a29k-* \
317 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
bd3849e8
EL
321 | avr-* | avr32-* \
322 | bfin-* | bs2000-* \
98572af6 323 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
bd3849e8 324 | clipper-* | craynv-* | cydra-* \
402eaa98
AL
325 | d10v-* | d30v-* | dlx-* \
326 | elxsi-* \
bd3849e8 327 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
402eaa98
AL
328 | h8300-* | h8500-* \
329 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330 | i*86-* | i860-* | i960-* | ia64-* \
c79f3187 331 | ip2k-* | iq2000-* \
bd3849e8 332 | m32c-* | m32r-* | m32rle-* \
402eaa98 333 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
bd3849e8 334 | m88110-* | m88k-* | maxq-* | mcore-* \
402eaa98
AL
335 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336 | mips16-* \
337 | mips64-* | mips64el-* \
338 | mips64vr-* | mips64vrel-* \
339 | mips64orion-* | mips64orionel-* \
340 | mips64vr4100-* | mips64vr4100el-* \
341 | mips64vr4300-* | mips64vr4300el-* \
342 | mips64vr5000-* | mips64vr5000el-* \
bd3849e8 343 | mips64vr5900-* | mips64vr5900el-* \
402eaa98 344 | mipsisa32-* | mipsisa32el-* \
66afd2e8 345 | mipsisa32r2-* | mipsisa32r2el-* \
402eaa98 346 | mipsisa64-* | mipsisa64el-* \
9fdac852 347 | mipsisa64r2-* | mipsisa64r2el-* \
402eaa98
AL
348 | mipsisa64sb1-* | mipsisa64sb1el-* \
349 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
66afd2e8 350 | mipstx39-* | mipstx39el-* \
bd3849e8
EL
351 | mmix-* \
352 | mt-* \
66afd2e8 353 | msp430-* \
bd3849e8
EL
354 | nios-* | nios2-* \
355 | none-* | np1-* | ns16k-* | ns32k-* \
402eaa98
AL
356 | orion-* \
357 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359 | pyramid-* \
360 | romp-* | rs6000-* \
bd3849e8 361 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
402eaa98 362 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
bd3849e8
EL
363 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364 | sparclite-* \
365 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
98572af6
AL
366 | tahoe-* | thumb-* \
367 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368 | tron-* \
402eaa98
AL
369 | v850-* | v850e-* | vax-* \
370 | we32k-* \
bd3849e8
EL
371 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372 | xstormy16-* | xtensa*-* \
402eaa98
AL
373 | ymp-* \
374 | z8k-*)
d7bccc73 375 ;;
bd3849e8
EL
376 # Recognize the basic CPU types without company name, with glob match.
377 xtensa*)
378 basic_machine=$basic_machine-unknown
379 ;;
d7bccc73
AL
380 # Recognize the various machine names and aliases which stand
381 # for a CPU type and a company and sometimes even an OS.
1cecba4d
AL
382 386bsd)
383 basic_machine=i386-unknown
384 os=-bsd
385 ;;
d7bccc73
AL
386 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
387 basic_machine=m68000-att
388 ;;
389 3b*)
390 basic_machine=we32k-att
391 ;;
1cecba4d
AL
392 a29khif)
393 basic_machine=a29k-amd
394 os=-udi
395 ;;
bd3849e8
EL
396 abacus)
397 basic_machine=abacus-unknown
398 ;;
1cecba4d
AL
399 adobe68k)
400 basic_machine=m68010-adobe
401 os=-scout
402 ;;
d7bccc73
AL
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 ;;
98572af6
AL
413 amd64)
414 basic_machine=x86_64-pc
415 ;;
bd3849e8
EL
416 amd64-*)
417 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
418 ;;
d7bccc73
AL
419 amdahl)
420 basic_machine=580-amdahl
421 os=-sysv
422 ;;
423 amiga | amiga-*)
b2e465d6 424 basic_machine=m68k-unknown
d7bccc73 425 ;;
1cecba4d 426 amigaos | amigados)
b2e465d6 427 basic_machine=m68k-unknown
1cecba4d 428 os=-amigaos
d7bccc73
AL
429 ;;
430 amigaunix | amix)
b2e465d6 431 basic_machine=m68k-unknown
d7bccc73
AL
432 os=-sysv4
433 ;;
434 apollo68)
435 basic_machine=m68k-apollo
436 os=-sysv
437 ;;
1cecba4d
AL
438 apollo68bsd)
439 basic_machine=m68k-apollo
440 os=-bsd
441 ;;
d7bccc73
AL
442 aux)
443 basic_machine=m68k-apple
444 os=-aux
445 ;;
446 balance)
447 basic_machine=ns32k-sequent
448 os=-dynix
449 ;;
bd3849e8
EL
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 ;;
402eaa98
AL
458 c90)
459 basic_machine=c90-cray
460 os=-unicos
461 ;;
d7bccc73
AL
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 ;;
402eaa98
AL
482 cray | j90)
483 basic_machine=j90-cray
d7bccc73
AL
484 os=-unicos
485 ;;
bd3849e8
EL
486 craynv)
487 basic_machine=craynv-cray
488 os=-unicosmp
489 ;;
490 cr16)
491 basic_machine=cr16-unknown
492 os=-elf
493 ;;
d7bccc73
AL
494 crds | unos)
495 basic_machine=m68k-crds
496 ;;
bd3849e8
EL
497 crisv32 | crisv32-* | etraxfs*)
498 basic_machine=crisv32-axis
499 ;;
b2e465d6
AL
500 cris | cris-* | etrax*)
501 basic_machine=cris-axis
502 ;;
bd3849e8
EL
503 crx)
504 basic_machine=crx-unknown
505 os=-elf
506 ;;
d7bccc73
AL
507 da30 | da30-*)
508 basic_machine=m68k-da30
509 ;;
510 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
511 basic_machine=mips-dec
512 ;;
402eaa98
AL
513 decsystem10* | dec10*)
514 basic_machine=pdp10-dec
515 os=-tops10
516 ;;
517 decsystem20* | dec20*)
518 basic_machine=pdp10-dec
519 os=-tops20
520 ;;
d7bccc73
AL
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 ;;
bd3849e8
EL
529 djgpp)
530 basic_machine=i586-pc
531 os=-msdosdjgpp
532 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
552 es1800 | OSE68k | ose68k | ose | OSE)
553 basic_machine=m68k-ericsson
554 os=-ose
555 ;;
d7bccc73
AL
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 ;;
48d13628
AL
566 go32)
567 basic_machine=i386-pc
568 os=-go32
569 ;;
d7bccc73
AL
570 h3050r* | hiux*)
571 basic_machine=hppa1.1-hitachi
572 os=-hiuxwe2
573 ;;
574 h8300hms)
575 basic_machine=h8300-hitachi
576 os=-hms
577 ;;
1cecba4d
AL
578 h8300xray)
579 basic_machine=h8300-hitachi
580 os=-xray
581 ;;
582 h8500hms)
583 basic_machine=h8500-hitachi
584 os=-hms
585 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
601 hp3k9[0-9][0-9] | hp9[0-9][0-9])
602 basic_machine=hppa1.0-hp
603 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
610 hp9k6[0-9][0-9] | hp6[0-9][0-9])
611 basic_machine=hppa1.0-hp
612 ;;
613 hp9k7[0-79][0-9] | hp7[0-79][0-9])
614 basic_machine=hppa1.1-hp
615 ;;
616 hp9k78[0-9] | hp78[0-9])
617 # FIXME: really hppa2.0-hp
618 basic_machine=hppa1.1-hp
619 ;;
620 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
621 # FIXME: really hppa2.0-hp
622 basic_machine=hppa1.1-hp
623 ;;
624 hp9k8[0-9][13679] | hp8[0-9][13679])
d7bccc73
AL
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 ;;
1cecba4d
AL
633 hppaosf)
634 basic_machine=hppa1.1-hp
635 os=-osf
636 ;;
637 hppro)
638 basic_machine=hppa1.1-hp
639 os=-proelf
640 ;;
d7bccc73
AL
641 i370-ibm* | ibm*)
642 basic_machine=i370-ibm
d7bccc73
AL
643 ;;
644# I'm not sure what "Sysv32" means. Should this be sysv3.2?
402eaa98 645 i*86v32)
d7bccc73
AL
646 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647 os=-sysv32
648 ;;
402eaa98 649 i*86v4*)
d7bccc73
AL
650 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
651 os=-sysv4
652 ;;
402eaa98 653 i*86v)
d7bccc73
AL
654 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
655 os=-sysv
656 ;;
402eaa98 657 i*86sol2)
d7bccc73
AL
658 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
659 os=-solaris2
660 ;;
1cecba4d
AL
661 i386mach)
662 basic_machine=i386-mach
663 os=-mach
664 ;;
665 i386-vsta | vsta)
666 basic_machine=i386-unknown
667 os=-vsta
668 ;;
d7bccc73
AL
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 ;;
bd3849e8
EL
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 ;;
d7bccc73
AL
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 ;;
48d13628
AL
702 mingw32)
703 basic_machine=i386-pc
704 os=-mingw32
705 ;;
bd3849e8
EL
706 mingw32ce)
707 basic_machine=arm-unknown
708 os=-mingw32ce
709 ;;
d7bccc73
AL
710 miniframe)
711 basic_machine=m68000-convergent
712 ;;
b2e465d6 713 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
1cecba4d
AL
714 basic_machine=m68k-atari
715 os=-mint
716 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
723 monitor)
724 basic_machine=m68k-rom68k
725 os=-coff
726 ;;
402eaa98
AL
727 morphos)
728 basic_machine=powerpc-unknown
729 os=-morphos
730 ;;
1cecba4d 731 msdos)
48d13628 732 basic_machine=i386-pc
1cecba4d
AL
733 os=-msdos
734 ;;
bd3849e8
EL
735 ms1-*)
736 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737 ;;
b2e465d6
AL
738 mvs)
739 basic_machine=i370-ibm
740 os=-mvs
741 ;;
d7bccc73
AL
742 ncr3000)
743 basic_machine=i486-ncr
744 os=-sysv4
745 ;;
1cecba4d
AL
746 netbsd386)
747 basic_machine=i386-unknown
748 os=-netbsd
749 ;;
750 netwinder)
b2e465d6 751 basic_machine=armv4l-rebel
1cecba4d
AL
752 os=-linux
753 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
766 necv70)
767 basic_machine=v70-nec
768 os=-sysv
769 ;;
d7bccc73
AL
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 ;;
1cecba4d
AL
795 mon960)
796 basic_machine=i960-intel
797 os=-mon960
798 ;;
48d13628
AL
799 nonstopux)
800 basic_machine=mips-compaq
801 os=-nonstopux
802 ;;
d7bccc73
AL
803 np1)
804 basic_machine=np1-gould
805 ;;
b2e465d6
AL
806 nsr-tandem)
807 basic_machine=nsr-tandem
808 ;;
1cecba4d
AL
809 op50n-* | op60c-*)
810 basic_machine=hppa1.1-oki
811 os=-proelf
812 ;;
bd3849e8 813 openrisc | openrisc-*)
402eaa98 814 basic_machine=or32-unknown
bd3849e8
EL
815 ;;
816 os400)
817 basic_machine=powerpc-ibm
818 os=-os400
402eaa98 819 ;;
1cecba4d
AL
820 OSE68000 | ose68000)
821 basic_machine=m68000-ericsson
822 os=-ose
823 ;;
824 os68k)
825 basic_machine=m68k-none
826 os=-os68k
827 ;;
d7bccc73
AL
828 pa-hitachi)
829 basic_machine=hppa1.1-hitachi
830 os=-hiuxwe2
831 ;;
832 paragon)
833 basic_machine=i860-intel
834 os=-osf
835 ;;
bd3849e8
EL
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 ;;
d7bccc73
AL
844 pbd)
845 basic_machine=sparc-tti
846 ;;
847 pbb)
848 basic_machine=m68k-tti
849 ;;
402eaa98 850 pc532 | pc532-*)
d7bccc73
AL
851 basic_machine=ns32k-pc532
852 ;;
bd3849e8
EL
853 pc98)
854 basic_machine=i386-pc
855 ;;
856 pc98-*)
857 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
858 ;;
402eaa98 859 pentium | p5 | k5 | k6 | nexgen | viac3)
1cecba4d
AL
860 basic_machine=i586-pc
861 ;;
402eaa98 862 pentiumpro | p6 | 6x86 | athlon | athlon_*)
1cecba4d 863 basic_machine=i686-pc
d7bccc73 864 ;;
c79f3187 865 pentiumii | pentium2 | pentiumiii | pentium3)
48d13628 866 basic_machine=i686-pc
d7bccc73 867 ;;
c79f3187
AL
868 pentium4)
869 basic_machine=i786-pc
870 ;;
402eaa98 871 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
d7bccc73
AL
872 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
873 ;;
b2e465d6 874 pentiumpro-* | p6-* | 6x86-* | athlon-*)
d7bccc73
AL
875 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
876 ;;
c79f3187 877 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
48d13628 878 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
d7bccc73 879 ;;
c79f3187
AL
880 pentium4-*)
881 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
882 ;;
d7bccc73
AL
883 pn)
884 basic_machine=pn-gould
885 ;;
48d13628 886 power) basic_machine=power-ibm
d7bccc73
AL
887 ;;
888 ppc) basic_machine=powerpc-unknown
402eaa98 889 ;;
d7bccc73
AL
890 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891 ;;
892 ppcle | powerpclittle | ppc-le | powerpc-little)
893 basic_machine=powerpcle-unknown
402eaa98 894 ;;
d7bccc73
AL
895 ppcle-* | powerpclittle-*)
896 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
897 ;;
402eaa98
AL
898 ppc64) basic_machine=powerpc64-unknown
899 ;;
900 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
901 ;;
902 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
903 basic_machine=powerpc64le-unknown
904 ;;
905 ppc64le-* | powerpc64little-*)
906 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
907 ;;
d7bccc73
AL
908 ps2)
909 basic_machine=i386-ibm
910 ;;
48d13628
AL
911 pw32)
912 basic_machine=i586-unknown
913 os=-pw32
914 ;;
bd3849e8
EL
915 rdos)
916 basic_machine=i386-pc
917 os=-rdos
918 ;;
1cecba4d
AL
919 rom68k)
920 basic_machine=m68k-rom68k
921 os=-coff
922 ;;
d7bccc73
AL
923 rm[46]00)
924 basic_machine=mips-siemens
925 ;;
926 rtpc | rtpc-*)
927 basic_machine=romp-ibm
928 ;;
402eaa98
AL
929 s390 | s390-*)
930 basic_machine=s390-ibm
931 ;;
932 s390x | s390x-*)
933 basic_machine=s390x-ibm
934 ;;
1cecba4d
AL
935 sa29200)
936 basic_machine=a29k-amd
937 os=-udi
938 ;;
402eaa98
AL
939 sb1)
940 basic_machine=mipsisa64sb1-unknown
941 ;;
942 sb1el)
943 basic_machine=mipsisa64sb1el-unknown
944 ;;
bd3849e8
EL
945 sde)
946 basic_machine=mipsisa32-sde
947 os=-elf
948 ;;
c79f3187
AL
949 sei)
950 basic_machine=mips-sei
951 os=-seiux
952 ;;
d7bccc73
AL
953 sequent)
954 basic_machine=i386-sequent
955 ;;
956 sh)
957 basic_machine=sh-hitachi
958 os=-hms
959 ;;
bd3849e8
EL
960 sh5el)
961 basic_machine=sh5le-unknown
962 ;;
c79f3187
AL
963 sh64)
964 basic_machine=sh64-unknown
965 ;;
402eaa98 966 sparclite-wrs | simso-wrs)
1cecba4d
AL
967 basic_machine=sparclite-wrs
968 os=-vxworks
969 ;;
d7bccc73
AL
970 sps7)
971 basic_machine=m68k-bull
972 os=-sysv2
973 ;;
974 spur)
975 basic_machine=spur-unknown
976 ;;
1cecba4d
AL
977 st2000)
978 basic_machine=m68k-tandem
979 ;;
980 stratus)
981 basic_machine=i860-stratus
982 os=-sysv4
983 ;;
d7bccc73
AL
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 ;;
b2e465d6
AL
1024 sv1)
1025 basic_machine=sv1-cray
1026 os=-unicos
1027 ;;
d7bccc73
AL
1028 symmetry)
1029 basic_machine=i386-sequent
1030 os=-dynix
1031 ;;
1cecba4d 1032 t3e)
402eaa98 1033 basic_machine=alphaev5-cray
1cecba4d
AL
1034 os=-unicos
1035 ;;
402eaa98
AL
1036 t90)
1037 basic_machine=t90-cray
1038 os=-unicos
1039 ;;
b2e465d6
AL
1040 tic54x | c54x*)
1041 basic_machine=tic54x-unknown
1042 os=-coff
1043 ;;
98572af6
AL
1044 tic55x | c55x*)
1045 basic_machine=tic55x-unknown
1046 os=-coff
1047 ;;
1048 tic6x | c6x*)
1049 basic_machine=tic6x-unknown
1050 os=-coff
1051 ;;
bd3849e8
EL
1052 tile*)
1053 basic_machine=tile-unknown
1054 os=-linux-gnu
1055 ;;
1cecba4d
AL
1056 tx39)
1057 basic_machine=mipstx39-unknown
1058 ;;
1059 tx39el)
1060 basic_machine=mipstx39el-unknown
1061 ;;
402eaa98
AL
1062 toad1)
1063 basic_machine=pdp10-xkl
1064 os=-tops20
1065 ;;
d7bccc73
AL
1066 tower | tower-32)
1067 basic_machine=m68k-ncr
1068 ;;
bd3849e8
EL
1069 tpf)
1070 basic_machine=s390x-ibm
1071 os=-tpf
1072 ;;
d7bccc73
AL
1073 udi29k)
1074 basic_machine=a29k-amd
1075 os=-udi
1076 ;;
1077 ultra3)
1078 basic_machine=a29k-nyu
1079 os=-sym1
1080 ;;
1cecba4d
AL
1081 v810 | necv810)
1082 basic_machine=v810-nec
1083 os=-none
1084 ;;
d7bccc73
AL
1085 vaxv)
1086 basic_machine=vax-dec
1087 os=-sysv
1088 ;;
1089 vms)
1090 basic_machine=vax-dec
1091 os=-vms
1092 ;;
1cecba4d 1093 vpp*|vx|vx-*)
402eaa98
AL
1094 basic_machine=f301-fujitsu
1095 ;;
d7bccc73
AL
1096 vxworks960)
1097 basic_machine=i960-wrs
1098 os=-vxworks
1099 ;;
1100 vxworks68)
1101 basic_machine=m68k-wrs
1102 os=-vxworks
1103 ;;
1104 vxworks29k)
1105 basic_machine=a29k-wrs
1106 os=-vxworks
1107 ;;
1cecba4d
AL
1108 w65*)
1109 basic_machine=w65-wdc
1110 os=-none
1111 ;;
1112 w89k-*)
1113 basic_machine=hppa1.1-winbond
1114 os=-proelf
1115 ;;
bd3849e8
EL
1116 xbox)
1117 basic_machine=i686-pc
1118 os=-mingw32
1119 ;;
402eaa98 1120 xps | xps100)
d7bccc73
AL
1121 basic_machine=xps100-honeywell
1122 ;;
402eaa98
AL
1123 ymp)
1124 basic_machine=ymp-cray
1125 os=-unicos
1126 ;;
1cecba4d
AL
1127 z8k-*-coff)
1128 basic_machine=z8k-unknown
1129 os=-sim
1130 ;;
d7bccc73
AL
1131 none)
1132 basic_machine=none-none
1133 os=-none
1134 ;;
1135
1136# Here we handle the default manufacturer of certain CPU types. It is in
1137# some cases the only manufacturer, in others, it is the most popular.
1cecba4d
AL
1138 w89k)
1139 basic_machine=hppa1.1-winbond
1140 ;;
1141 op50n)
1142 basic_machine=hppa1.1-oki
1143 ;;
1144 op60c)
1145 basic_machine=hppa1.1-oki
1146 ;;
d7bccc73
AL
1147 romp)
1148 basic_machine=romp-ibm
1149 ;;
bd3849e8
EL
1150 mmix)
1151 basic_machine=mmix-knuth
1152 ;;
d7bccc73
AL
1153 rs6000)
1154 basic_machine=rs6000-ibm
1155 ;;
1156 vax)
1157 basic_machine=vax-dec
1158 ;;
48d13628
AL
1159 pdp10)
1160 # there are many clones, so DEC is not a safe bet
1161 basic_machine=pdp10-unknown
1162 ;;
d7bccc73
AL
1163 pdp11)
1164 basic_machine=pdp11-dec
1165 ;;
1166 we32k)
1167 basic_machine=we32k-att
1168 ;;
bd3849e8 1169 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
48d13628 1170 basic_machine=sh-unknown
b2e465d6 1171 ;;
bd3849e8 1172 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
d7bccc73
AL
1173 basic_machine=sparc-sun
1174 ;;
402eaa98 1175 cydra)
d7bccc73
AL
1176 basic_machine=cydra-cydrome
1177 ;;
1178 orion)
1179 basic_machine=orion-highlevel
1180 ;;
1181 orion105)
1182 basic_machine=clipper-highlevel
1183 ;;
1cecba4d
AL
1184 mac | mpw | mac-mpw)
1185 basic_machine=m68k-apple
1186 ;;
1187 pmac | pmac-mpw)
1188 basic_machine=powerpc-apple
1189 ;;
402eaa98
AL
1190 *-unknown)
1191 # Make sure to match an already-canonicalized machine name.
1cecba4d 1192 ;;
d7bccc73
AL
1193 *)
1194 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1195 exit 1
1196 ;;
1197esac
1198
1199# Here we canonicalize certain aliases for manufacturers.
1200case $basic_machine in
1201 *-digital*)
1202 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1203 ;;
1204 *-commodore*)
1205 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1206 ;;
1207 *)
1208 ;;
1209esac
1210
1211# Decode manufacturer-specific aliases for certain operating systems.
1212
1213if [ x"$os" != x"" ]
1214then
1215case $os in
1216 # First match some system type aliases
1217 # that might get confused with valid system types.
1218 # -solaris* is a basic system type, with this one exception.
1219 -solaris1 | -solaris1.*)
1220 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1221 ;;
1222 -solaris)
1223 os=-solaris2
1224 ;;
1cecba4d 1225 -svr4*)
d7bccc73
AL
1226 os=-sysv4
1227 ;;
1cecba4d
AL
1228 -unixware*)
1229 os=-sysv4.2uw
1230 ;;
d7bccc73
AL
1231 -gnu/linux*)
1232 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1233 ;;
1234 # First accept the basic system types.
1235 # The portable systems comes first.
1236 # Each alternative MUST END IN A *, to match a version number.
1237 # -sysv* is not here because it comes later, after sysvr4.
1238 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1239 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1240 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1cecba4d
AL
1241 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242 | -aos* \
d7bccc73
AL
1243 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
bd3849e8
EL
1245 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246 | -openbsd* | -solidbsd* \
1247 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1248 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
d7bccc73
AL
1249 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
402eaa98 1251 | -chorusos* | -chorusrdb* \
1cecba4d 1252 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
bd3849e8
EL
1253 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254 | -uxpv* | -beos* | -mpeix* | -udk* \
66afd2e8 1255 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
48d13628 1256 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
402eaa98
AL
1257 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1258 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
66afd2e8 1259 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
bd3849e8
EL
1260 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
d7bccc73
AL
1262 # Remember, each alternative MUST END IN *, to match a version number.
1263 ;;
b2e465d6
AL
1264 -qnx*)
1265 case $basic_machine in
402eaa98 1266 x86-* | i*86-*)
b2e465d6
AL
1267 ;;
1268 *)
1269 os=-nto$os
1270 ;;
1271 esac
1272 ;;
66afd2e8
AL
1273 -nto-qnx*)
1274 ;;
b2e465d6 1275 -nto*)
66afd2e8 1276 os=`echo $os | sed -e 's|nto|nto-qnx|'`
b2e465d6 1277 ;;
1cecba4d 1278 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
bd3849e8 1279 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
b2e465d6 1280 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1cecba4d
AL
1281 ;;
1282 -mac*)
1283 os=`echo $os | sed -e 's|mac|macos|'`
1284 ;;
9fdac852
AL
1285 -linux-dietlibc)
1286 os=-linux-dietlibc
1287 ;;
d7bccc73
AL
1288 -linux*)
1289 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1290 ;;
1291 -sunos5*)
1292 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1293 ;;
1294 -sunos6*)
1295 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1296 ;;
b2e465d6
AL
1297 -opened*)
1298 os=-openedition
1299 ;;
bd3849e8
EL
1300 -os400*)
1301 os=-os400
1302 ;;
b2e465d6
AL
1303 -wince*)
1304 os=-wince
1305 ;;
d7bccc73
AL
1306 -osfrose*)
1307 os=-osfrose
1308 ;;
1309 -osf*)
1310 os=-osf
1311 ;;
1312 -utek*)
1313 os=-bsd
1314 ;;
1315 -dynix*)
1316 os=-bsd
1317 ;;
1318 -acis*)
1319 os=-aos
1320 ;;
402eaa98
AL
1321 -atheos*)
1322 os=-atheos
1323 ;;
bd3849e8
EL
1324 -syllable*)
1325 os=-syllable
1326 ;;
1cecba4d
AL
1327 -386bsd)
1328 os=-bsd
1329 ;;
d7bccc73
AL
1330 -ctix* | -uts*)
1331 os=-sysv
1332 ;;
402eaa98
AL
1333 -nova*)
1334 os=-rtmk-nova
1335 ;;
d7bccc73 1336 -ns2 )
402eaa98 1337 os=-nextstep2
d7bccc73 1338 ;;
48d13628 1339 -nsk*)
b2e465d6
AL
1340 os=-nsk
1341 ;;
d7bccc73
AL
1342 # Preserve the version number of sinix5.
1343 -sinix5.*)
1344 os=`echo $os | sed -e 's|sinix|sysv|'`
1345 ;;
1346 -sinix*)
1347 os=-sysv4
1348 ;;
bd3849e8
EL
1349 -tpf*)
1350 os=-tpf
1351 ;;
d7bccc73
AL
1352 -triton*)
1353 os=-sysv3
1354 ;;
1355 -oss*)
1356 os=-sysv3
1357 ;;
1358 -svr4)
1359 os=-sysv4
1360 ;;
1361 -svr3)
1362 os=-sysv3
1363 ;;
1364 -sysvr4)
1365 os=-sysv4
1366 ;;
1367 # This must come after -sysvr4.
1368 -sysv*)
1369 ;;
1cecba4d
AL
1370 -ose*)
1371 os=-ose
1372 ;;
1373 -es1800*)
1374 os=-ose
1375 ;;
d7bccc73
AL
1376 -xenix)
1377 os=-xenix
1378 ;;
402eaa98
AL
1379 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1380 os=-mint
1cecba4d 1381 ;;
98572af6
AL
1382 -aros*)
1383 os=-aros
1384 ;;
1385 -kaos*)
1386 os=-kaos
1387 ;;
bd3849e8
EL
1388 -zvmoe)
1389 os=-zvmoe
1390 ;;
d7bccc73
AL
1391 -none)
1392 ;;
1393 *)
1394 # Get rid of the `-' at the beginning of $os.
1395 os=`echo $os | sed 's/[^-]*-//'`
1396 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1397 exit 1
1398 ;;
1399esac
1400else
1401
1402# Here we handle the default operating systems that come with various machines.
1403# The value should be what the vendor currently ships out the door with their
1404# machine or put another way, the most popular os provided with the machine.
1405
1406# Note that if you're going to try to match "-MANUFACTURER" here (say,
1407# "-sun"), then you have to tell the case statement up towards the top
1408# that MANUFACTURER isn't an operating system. Otherwise, code above
1409# will signal an error saying that MANUFACTURER isn't an operating
1410# system, and we'll never get to this point.
1411
1412case $basic_machine in
bd3849e8
EL
1413 score-*)
1414 os=-elf
1415 ;;
1416 spu-*)
1417 os=-elf
1418 ;;
d7bccc73
AL
1419 *-acorn)
1420 os=-riscix1.2
1421 ;;
b2e465d6 1422 arm*-rebel)
1cecba4d
AL
1423 os=-linux
1424 ;;
d7bccc73
AL
1425 arm*-semi)
1426 os=-aout
1427 ;;
bd3849e8
EL
1428 c4x-* | tic4x-*)
1429 os=-coff
1430 ;;
402eaa98 1431 # This must come before the *-dec entry.
48d13628
AL
1432 pdp10-*)
1433 os=-tops20
1434 ;;
402eaa98 1435 pdp11-*)
d7bccc73
AL
1436 os=-none
1437 ;;
1438 *-dec | vax-*)
1439 os=-ultrix4.2
1440 ;;
1441 m68*-apollo)
1442 os=-domain
1443 ;;
1444 i386-sun)
1445 os=-sunos4.0.2
1446 ;;
1447 m68000-sun)
1448 os=-sunos3
1449 # This also exists in the configure program, but was not the
1450 # default.
1451 # os=-sunos4
1452 ;;
1cecba4d
AL
1453 m68*-cisco)
1454 os=-aout
1455 ;;
bd3849e8
EL
1456 mep-*)
1457 os=-elf
1458 ;;
1cecba4d
AL
1459 mips*-cisco)
1460 os=-elf
1461 ;;
1462 mips*-*)
1463 os=-elf
1464 ;;
402eaa98
AL
1465 or32-*)
1466 os=-coff
1467 ;;
d7bccc73
AL
1468 *-tti) # must be before sparc entry or we get the wrong os.
1469 os=-sysv3
1470 ;;
1471 sparc-* | *-sun)
1472 os=-sunos4.1.1
1473 ;;
1cecba4d
AL
1474 *-be)
1475 os=-beos
1476 ;;
bd3849e8
EL
1477 *-haiku)
1478 os=-haiku
1479 ;;
d7bccc73
AL
1480 *-ibm)
1481 os=-aix
1482 ;;
bd3849e8
EL
1483 *-knuth)
1484 os=-mmixware
1485 ;;
1cecba4d
AL
1486 *-wec)
1487 os=-proelf
1488 ;;
1489 *-winbond)
1490 os=-proelf
1491 ;;
1492 *-oki)
1493 os=-proelf
1494 ;;
d7bccc73
AL
1495 *-hp)
1496 os=-hpux
1497 ;;
1498 *-hitachi)
1499 os=-hiux
1500 ;;
1501 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1502 os=-sysv
1503 ;;
1504 *-cbm)
1cecba4d 1505 os=-amigaos
d7bccc73
AL
1506 ;;
1507 *-dg)
1508 os=-dgux
1509 ;;
1510 *-dolphin)
1511 os=-sysv3
1512 ;;
1513 m68k-ccur)
1514 os=-rtu
1515 ;;
1516 m88k-omron*)
1517 os=-luna
1518 ;;
1519 *-next )
1520 os=-nextstep
1521 ;;
1522 *-sequent)
1523 os=-ptx
1524 ;;
1525 *-crds)
1526 os=-unos
1527 ;;
1528 *-ns)
1529 os=-genix
1530 ;;
1531 i370-*)
1532 os=-mvs
1533 ;;
1534 *-next)
1535 os=-nextstep3
1536 ;;
402eaa98 1537 *-gould)
d7bccc73
AL
1538 os=-sysv
1539 ;;
402eaa98 1540 *-highlevel)
d7bccc73
AL
1541 os=-bsd
1542 ;;
1543 *-encore)
1544 os=-bsd
1545 ;;
402eaa98 1546 *-sgi)
d7bccc73
AL
1547 os=-irix
1548 ;;
402eaa98 1549 *-siemens)
d7bccc73
AL
1550 os=-sysv4
1551 ;;
1552 *-masscomp)
1553 os=-rtu
1554 ;;
48d13628 1555 f30[01]-fujitsu | f700-fujitsu)
d7bccc73
AL
1556 os=-uxpv
1557 ;;
1cecba4d
AL
1558 *-rom68k)
1559 os=-coff
1560 ;;
1561 *-*bug)
1562 os=-coff
1563 ;;
1564 *-apple)
1565 os=-macos
1566 ;;
1567 *-atari*)
1568 os=-mint
1569 ;;
d7bccc73
AL
1570 *)
1571 os=-none
1572 ;;
1573esac
1574fi
1575
1576# Here we handle the case where we know the os, and the CPU type, but not the
1577# manufacturer. We pick the logical manufacturer.
1578vendor=unknown
1579case $basic_machine in
1580 *-unknown)
1581 case $os in
1582 -riscix*)
1583 vendor=acorn
1584 ;;
1585 -sunos*)
1586 vendor=sun
1587 ;;
1588 -aix*)
1589 vendor=ibm
1590 ;;
1cecba4d
AL
1591 -beos*)
1592 vendor=be
1593 ;;
d7bccc73
AL
1594 -hpux*)
1595 vendor=hp
1596 ;;
1cecba4d
AL
1597 -mpeix*)
1598 vendor=hp
1599 ;;
d7bccc73
AL
1600 -hiux*)
1601 vendor=hitachi
1602 ;;
1603 -unos*)
1604 vendor=crds
1605 ;;
1606 -dgux*)
1607 vendor=dg
1608 ;;
1609 -luna*)
1610 vendor=omron
1611 ;;
1612 -genix*)
1613 vendor=ns
1614 ;;
b2e465d6 1615 -mvs* | -opened*)
d7bccc73
AL
1616 vendor=ibm
1617 ;;
bd3849e8
EL
1618 -os400*)
1619 vendor=ibm
1620 ;;
d7bccc73
AL
1621 -ptx*)
1622 vendor=sequent
1623 ;;
bd3849e8
EL
1624 -tpf*)
1625 vendor=ibm
1626 ;;
402eaa98 1627 -vxsim* | -vxworks* | -windiss*)
d7bccc73
AL
1628 vendor=wrs
1629 ;;
1630 -aux*)
1631 vendor=apple
1632 ;;
1cecba4d
AL
1633 -hms*)
1634 vendor=hitachi
1635 ;;
1636 -mpw* | -macos*)
1637 vendor=apple
1638 ;;
48d13628 1639 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1cecba4d
AL
1640 vendor=atari
1641 ;;
402eaa98
AL
1642 -vos*)
1643 vendor=stratus
1644 ;;
d7bccc73
AL
1645 esac
1646 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1647 ;;
1648esac
1649
1650echo $basic_machine$os
bd3849e8 1651exit
b2e465d6
AL
1652
1653# Local variables:
1654# eval: (add-hook 'write-file-hooks 'time-stamp)
48d13628 1655# time-stamp-start: "timestamp='"
b2e465d6
AL
1656# time-stamp-format: "%:y-%02m-%02d"
1657# time-stamp-end: "'"
1658# End: