]> git.saurik.com Git - apt-legacy.git/blame - buildlib/config.sub
Upgraded to APT 0.7.
[apt-legacy.git] / buildlib / config.sub
CommitLineData
da6ee469
JF
1#! /bin/sh
2# Configuration validation subroutine script.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
00ec24d0
JF
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5# Free Software Foundation, Inc.
da6ee469 6
00ec24d0 7timestamp='2008-01-16'
da6ee469
JF
8
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
00ec24d0
JF
25# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26# 02110-1301, USA.
27#
da6ee469
JF
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
00ec24d0 33
da6ee469
JF
34# Please send patches to <config-patches@gnu.org>. Submit a context
35# diff and a properly formatted ChangeLog entry.
36#
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
57me=`echo "$0" | sed -e 's,.*/,,'`
58
59usage="\
60Usage: $0 [OPTION] CPU-MFR-OPSYS
61 $0 [OPTION] ALIAS
62
63Canonicalize a configuration name.
64
65Operation modes:
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
00ec24d0
JF
75Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
762002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
da6ee469
JF
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."
80
81help="
82Try \`$me --help' for more information."
83
84# Parse command line
85while test $# -gt 0 ; do
86 case $1 in
87 --time-stamp | --time* | -t )
00ec24d0 88 echo "$timestamp" ; exit ;;
da6ee469 89 --version | -v )
00ec24d0 90 echo "$version" ; exit ;;
da6ee469 91 --help | --h* | -h )
00ec24d0 92 echo "$usage"; exit ;;
da6ee469
JF
93 -- ) # Stop option processing
94 shift; break ;;
95 - ) # Use stdin as input.
96 break ;;
97 -* )
98 echo "$me: invalid option $1$help"
99 exit 1 ;;
100
101 *local*)
102 # First pass through any local machine types.
103 echo $1
00ec24d0 104 exit ;;
da6ee469
JF
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;;
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
00ec24d0
JF
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*)
da6ee469
JF
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 | \
00ec24d0 151 -apple | -axis | -knuth | -cray)
da6ee469
JF
152 os=
153 basic_machine=$1
154 ;;
155 -sim | -cisco | -oki | -wec | -winbond)
156 os=
157 basic_machine=$1
158 ;;
159 -scout)
160 ;;
161 -wrs)
162 os=-vxworks
163 basic_machine=$1
164 ;;
165 -chorusos*)
166 os=-chorusos
167 basic_machine=$1
168 ;;
169 -chorusrdb)
170 os=-chorusrdb
171 basic_machine=$1
172 ;;
173 -hiux*)
174 os=-hiuxwe2
175 ;;
00ec24d0
JF
176 -sco6)
177 os=-sco5v6
178 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179 ;;
da6ee469
JF
180 -sco5)
181 os=-sco3.2v5
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 ;;
00ec24d0
JF
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 ;;
da6ee469
JF
200 -sco*)
201 os=-sco3.2v2
202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203 ;;
204 -udk*)
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;
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 ;;
229 -mint | -mint[0-9]*)
230 basic_machine=m68k-atari
231 os=-mint
232 ;;
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.
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] \
243 | am33_2.0 \
00ec24d0
JF
244 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245 | bfin \
da6ee469
JF
246 | c4x | clipper \
247 | d10v | d30v | dlx | dsp16xx \
00ec24d0 248 | fido | fr30 | frv \
da6ee469
JF
249 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250 | i370 | i860 | i960 | ia64 \
251 | ip2k | iq2000 \
00ec24d0
JF
252 | m32c | m32r | m32rle | m68000 | m68k | m88k \
253 | maxq | mb | microblaze | mcore | mep \
da6ee469
JF
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 \
00ec24d0 262 | mips64vr5900 | mips64vr5900el \
da6ee469
JF
263 | mipsisa32 | mipsisa32el \
264 | mipsisa32r2 | mipsisa32r2el \
265 | mipsisa64 | mipsisa64el \
266 | mipsisa64r2 | mipsisa64r2el \
267 | mipsisa64sb1 | mipsisa64sb1el \
268 | mipsisa64sr71k | mipsisa64sr71kel \
269 | mipstx39 | mipstx39el \
270 | mn10200 | mn10300 \
00ec24d0 271 | mt \
da6ee469 272 | msp430 \
00ec24d0 273 | nios | nios2 \
da6ee469 274 | ns16k | ns32k \
00ec24d0 275 | or32 \
da6ee469
JF
276 | pdp10 | pdp11 | pj | pjl \
277 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278 | pyramid \
00ec24d0
JF
279 | score \
280 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
da6ee469 281 | sh64 | sh64le \
00ec24d0
JF
282 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284 | spu | strongarm \
da6ee469
JF
285 | tahoe | thumb | tic4x | tic80 | tron \
286 | v850 | v850e \
287 | we32k \
00ec24d0 288 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
da6ee469
JF
289 | z8k)
290 basic_machine=$basic_machine-unknown
291 ;;
292 m6811 | m68hc11 | m6812 | m68hc12)
293 # Motorola 68HC11/12.
294 basic_machine=$basic_machine-unknown
295 os=-none
296 ;;
297 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
298 ;;
00ec24d0
JF
299 ms1)
300 basic_machine=mt-unknown
301 ;;
da6ee469
JF
302
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.
306 i*86 | x86_64)
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.
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*-* \
00ec24d0
JF
321 | avr-* | avr32-* \
322 | bfin-* | bs2000-* \
da6ee469 323 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
00ec24d0 324 | clipper-* | craynv-* | cydra-* \
da6ee469
JF
325 | d10v-* | d30v-* | dlx-* \
326 | elxsi-* \
00ec24d0 327 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
da6ee469
JF
328 | h8300-* | h8500-* \
329 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330 | i*86-* | i860-* | i960-* | ia64-* \
331 | ip2k-* | iq2000-* \
00ec24d0 332 | m32c-* | m32r-* | m32rle-* \
da6ee469 333 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
00ec24d0 334 | m88110-* | m88k-* | maxq-* | mcore-* \
da6ee469
JF
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-* \
00ec24d0 343 | mips64vr5900-* | mips64vr5900el-* \
da6ee469
JF
344 | mipsisa32-* | mipsisa32el-* \
345 | mipsisa32r2-* | mipsisa32r2el-* \
346 | mipsisa64-* | mipsisa64el-* \
347 | mipsisa64r2-* | mipsisa64r2el-* \
348 | mipsisa64sb1-* | mipsisa64sb1el-* \
349 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
350 | mipstx39-* | mipstx39el-* \
00ec24d0
JF
351 | mmix-* \
352 | mt-* \
da6ee469 353 | msp430-* \
00ec24d0
JF
354 | nios-* | nios2-* \
355 | none-* | np1-* | ns16k-* | ns32k-* \
da6ee469
JF
356 | orion-* \
357 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359 | pyramid-* \
360 | romp-* | rs6000-* \
00ec24d0 361 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
da6ee469 362 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
00ec24d0
JF
363 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364 | sparclite-* \
365 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
da6ee469
JF
366 | tahoe-* | thumb-* \
367 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368 | tron-* \
369 | v850-* | v850e-* | vax-* \
370 | we32k-* \
00ec24d0
JF
371 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372 | xstormy16-* | xtensa*-* \
da6ee469
JF
373 | ymp-* \
374 | z8k-*)
375 ;;
00ec24d0
JF
376 # Recognize the basic CPU types without company name, with glob match.
377 xtensa*)
378 basic_machine=$basic_machine-unknown
379 ;;
da6ee469
JF
380 # Recognize the various machine names and aliases which stand
381 # for a CPU type and a company and sometimes even an OS.
382 386bsd)
383 basic_machine=i386-unknown
384 os=-bsd
385 ;;
386 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
387 basic_machine=m68000-att
388 ;;
389 3b*)
390 basic_machine=we32k-att
391 ;;
392 a29khif)
393 basic_machine=a29k-amd
394 os=-udi
395 ;;
00ec24d0
JF
396 abacus)
397 basic_machine=abacus-unknown
398 ;;
da6ee469
JF
399 adobe68k)
400 basic_machine=m68010-adobe
401 os=-scout
402 ;;
403 alliant | fx80)
404 basic_machine=fx80-alliant
405 ;;
406 altos | altos3068)
407 basic_machine=m68k-altos
408 ;;
409 am29k)
410 basic_machine=a29k-none
411 os=-bsd
412 ;;
413 amd64)
414 basic_machine=x86_64-pc
415 ;;
00ec24d0
JF
416 amd64-*)
417 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
418 ;;
da6ee469
JF
419 amdahl)
420 basic_machine=580-amdahl
421 os=-sysv
422 ;;
423 amiga | amiga-*)
424 basic_machine=m68k-unknown
425 ;;
426 amigaos | amigados)
427 basic_machine=m68k-unknown
428 os=-amigaos
429 ;;
430 amigaunix | amix)
431 basic_machine=m68k-unknown
432 os=-sysv4
433 ;;
434 apollo68)
435 basic_machine=m68k-apollo
436 os=-sysv
437 ;;
438 apollo68bsd)
439 basic_machine=m68k-apollo
440 os=-bsd
441 ;;
442 aux)
443 basic_machine=m68k-apple
444 os=-aux
445 ;;
446 balance)
447 basic_machine=ns32k-sequent
448 os=-dynix
449 ;;
00ec24d0
JF
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 ;;
da6ee469
JF
458 c90)
459 basic_machine=c90-cray
460 os=-unicos
461 ;;
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 ;;
482 cray | j90)
483 basic_machine=j90-cray
484 os=-unicos
485 ;;
00ec24d0
JF
486 craynv)
487 basic_machine=craynv-cray
488 os=-unicosmp
489 ;;
490 cr16)
491 basic_machine=cr16-unknown
492 os=-elf
493 ;;
da6ee469
JF
494 crds | unos)
495 basic_machine=m68k-crds
496 ;;
00ec24d0
JF
497 crisv32 | crisv32-* | etraxfs*)
498 basic_machine=crisv32-axis
499 ;;
da6ee469
JF
500 cris | cris-* | etrax*)
501 basic_machine=cris-axis
502 ;;
00ec24d0
JF
503 crx)
504 basic_machine=crx-unknown
505 os=-elf
506 ;;
da6ee469
JF
507 da30 | da30-*)
508 basic_machine=m68k-da30
509 ;;
510 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
511 basic_machine=mips-dec
512 ;;
513 decsystem10* | dec10*)
514 basic_machine=pdp10-dec
515 os=-tops10
516 ;;
517 decsystem20* | dec20*)
518 basic_machine=pdp10-dec
519 os=-tops20
520 ;;
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 ;;
00ec24d0
JF
529 djgpp)
530 basic_machine=i586-pc
531 os=-msdosdjgpp
532 ;;
da6ee469
JF
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 ;;
552 es1800 | OSE68k | ose68k | ose | OSE)
553 basic_machine=m68k-ericsson
554 os=-ose
555 ;;
556 fx2800)
557 basic_machine=i860-alliant
558 ;;
559 genix)
560 basic_machine=ns32k-ns
561 ;;
562 gmicro)
563 basic_machine=tron-gmicro
564 os=-sysv
565 ;;
566 go32)
567 basic_machine=i386-pc
568 os=-go32
569 ;;
570 h3050r* | hiux*)
571 basic_machine=hppa1.1-hitachi
572 os=-hiuxwe2
573 ;;
574 h8300hms)
575 basic_machine=h8300-hitachi
576 os=-hms
577 ;;
578 h8300xray)
579 basic_machine=h8300-hitachi
580 os=-xray
581 ;;
582 h8500hms)
583 basic_machine=h8500-hitachi
584 os=-hms
585 ;;
586 harris)
587 basic_machine=m88k-harris
588 os=-sysv3
589 ;;
590 hp300-*)
591 basic_machine=m68k-hp
592 ;;
593 hp300bsd)
594 basic_machine=m68k-hp
595 os=-bsd
596 ;;
597 hp300hpux)
598 basic_machine=m68k-hp
599 os=-hpux
600 ;;
601 hp3k9[0-9][0-9] | hp9[0-9][0-9])
602 basic_machine=hppa1.0-hp
603 ;;
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 ;;
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])
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 ;;
633 hppaosf)
634 basic_machine=hppa1.1-hp
635 os=-osf
636 ;;
637 hppro)
638 basic_machine=hppa1.1-hp
639 os=-proelf
640 ;;
641 i370-ibm* | ibm*)
642 basic_machine=i370-ibm
643 ;;
644# I'm not sure what "Sysv32" means. Should this be sysv3.2?
645 i*86v32)
646 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647 os=-sysv32
648 ;;
649 i*86v4*)
650 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
651 os=-sysv4
652 ;;
653 i*86v)
654 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
655 os=-sysv
656 ;;
657 i*86sol2)
658 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
659 os=-solaris2
660 ;;
661 i386mach)
662 basic_machine=i386-mach
663 os=-mach
664 ;;
665 i386-vsta | vsta)
666 basic_machine=i386-unknown
667 os=-vsta
668 ;;
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 ;;
00ec24d0
JF
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 ;;
da6ee469
JF
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 ;;
702 mingw32)
703 basic_machine=i386-pc
704 os=-mingw32
705 ;;
00ec24d0
JF
706 mingw32ce)
707 basic_machine=arm-unknown
708 os=-mingw32ce
709 ;;
da6ee469
JF
710 miniframe)
711 basic_machine=m68000-convergent
712 ;;
713 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
714 basic_machine=m68k-atari
715 os=-mint
716 ;;
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 ;;
da6ee469
JF
723 monitor)
724 basic_machine=m68k-rom68k
725 os=-coff
726 ;;
727 morphos)
728 basic_machine=powerpc-unknown
729 os=-morphos
730 ;;
731 msdos)
732 basic_machine=i386-pc
733 os=-msdos
734 ;;
00ec24d0
JF
735 ms1-*)
736 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737 ;;
da6ee469
JF
738 mvs)
739 basic_machine=i370-ibm
740 os=-mvs
741 ;;
742 ncr3000)
743 basic_machine=i486-ncr
744 os=-sysv4
745 ;;
746 netbsd386)
747 basic_machine=i386-unknown
748 os=-netbsd
749 ;;
750 netwinder)
751 basic_machine=armv4l-rebel
752 os=-linux
753 ;;
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 ;;
766 necv70)
767 basic_machine=v70-nec
768 os=-sysv
769 ;;
770 next | m*-next )
771 basic_machine=m68k-next
772 case $os in
773 -nextstep* )
774 ;;
775 -ns2*)
776 os=-nextstep2
777 ;;
778 *)
779 os=-nextstep3
780 ;;
781 esac
782 ;;
783 nh3000)
784 basic_machine=m68k-harris
785 os=-cxux
786 ;;
787 nh[45]000)
788 basic_machine=m88k-harris
789 os=-cxux
790 ;;
791 nindy960)
792 basic_machine=i960-intel
793 os=-nindy
794 ;;
795 mon960)
796 basic_machine=i960-intel
797 os=-mon960
798 ;;
799 nonstopux)
800 basic_machine=mips-compaq
801 os=-nonstopux
802 ;;
803 np1)
804 basic_machine=np1-gould
805 ;;
da6ee469
JF
806 nsr-tandem)
807 basic_machine=nsr-tandem
808 ;;
809 op50n-* | op60c-*)
810 basic_machine=hppa1.1-oki
811 os=-proelf
812 ;;
00ec24d0 813 openrisc | openrisc-*)
da6ee469 814 basic_machine=or32-unknown
00ec24d0
JF
815 ;;
816 os400)
817 basic_machine=powerpc-ibm
818 os=-os400
da6ee469
JF
819 ;;
820 OSE68000 | ose68000)
821 basic_machine=m68000-ericsson
822 os=-ose
823 ;;
824 os68k)
825 basic_machine=m68k-none
826 os=-os68k
827 ;;
828 pa-hitachi)
829 basic_machine=hppa1.1-hitachi
830 os=-hiuxwe2
831 ;;
832 paragon)
833 basic_machine=i860-intel
834 os=-osf
835 ;;
00ec24d0
JF
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 ;;
da6ee469
JF
844 pbd)
845 basic_machine=sparc-tti
846 ;;
847 pbb)
848 basic_machine=m68k-tti
849 ;;
850 pc532 | pc532-*)
851 basic_machine=ns32k-pc532
852 ;;
00ec24d0
JF
853 pc98)
854 basic_machine=i386-pc
855 ;;
856 pc98-*)
857 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
858 ;;
da6ee469
JF
859 pentium | p5 | k5 | k6 | nexgen | viac3)
860 basic_machine=i586-pc
861 ;;
862 pentiumpro | p6 | 6x86 | athlon | athlon_*)
863 basic_machine=i686-pc
864 ;;
865 pentiumii | pentium2 | pentiumiii | pentium3)
866 basic_machine=i686-pc
867 ;;
868 pentium4)
869 basic_machine=i786-pc
870 ;;
871 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
872 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
873 ;;
874 pentiumpro-* | p6-* | 6x86-* | athlon-*)
875 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
876 ;;
877 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
878 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
879 ;;
880 pentium4-*)
881 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
882 ;;
883 pn)
884 basic_machine=pn-gould
885 ;;
886 power) basic_machine=power-ibm
887 ;;
888 ppc) basic_machine=powerpc-unknown
889 ;;
890 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891 ;;
892 ppcle | powerpclittle | ppc-le | powerpc-little)
893 basic_machine=powerpcle-unknown
894 ;;
895 ppcle-* | powerpclittle-*)
896 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
897 ;;
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 ;;
908 ps2)
909 basic_machine=i386-ibm
910 ;;
911 pw32)
912 basic_machine=i586-unknown
913 os=-pw32
914 ;;
00ec24d0
JF
915 rdos)
916 basic_machine=i386-pc
917 os=-rdos
918 ;;
da6ee469
JF
919 rom68k)
920 basic_machine=m68k-rom68k
921 os=-coff
922 ;;
923 rm[46]00)
924 basic_machine=mips-siemens
925 ;;
926 rtpc | rtpc-*)
927 basic_machine=romp-ibm
928 ;;
929 s390 | s390-*)
930 basic_machine=s390-ibm
931 ;;
932 s390x | s390x-*)
933 basic_machine=s390x-ibm
934 ;;
935 sa29200)
936 basic_machine=a29k-amd
937 os=-udi
938 ;;
939 sb1)
940 basic_machine=mipsisa64sb1-unknown
941 ;;
942 sb1el)
943 basic_machine=mipsisa64sb1el-unknown
944 ;;
00ec24d0
JF
945 sde)
946 basic_machine=mipsisa32-sde
947 os=-elf
948 ;;
da6ee469
JF
949 sei)
950 basic_machine=mips-sei
951 os=-seiux
952 ;;
953 sequent)
954 basic_machine=i386-sequent
955 ;;
956 sh)
957 basic_machine=sh-hitachi
958 os=-hms
959 ;;
00ec24d0
JF
960 sh5el)
961 basic_machine=sh5le-unknown
962 ;;
da6ee469
JF
963 sh64)
964 basic_machine=sh64-unknown
965 ;;
966 sparclite-wrs | simso-wrs)
967 basic_machine=sparclite-wrs
968 os=-vxworks
969 ;;
970 sps7)
971 basic_machine=m68k-bull
972 os=-sysv2
973 ;;
974 spur)
975 basic_machine=spur-unknown
976 ;;
977 st2000)
978 basic_machine=m68k-tandem
979 ;;
980 stratus)
981 basic_machine=i860-stratus
982 os=-sysv4
983 ;;
984 sun2)
985 basic_machine=m68000-sun
986 ;;
987 sun2os3)
988 basic_machine=m68000-sun
989 os=-sunos3
990 ;;
991 sun2os4)
992 basic_machine=m68000-sun
993 os=-sunos4
994 ;;
995 sun3os3)
996 basic_machine=m68k-sun
997 os=-sunos3
998 ;;
999 sun3os4)
1000 basic_machine=m68k-sun
1001 os=-sunos4
1002 ;;
1003 sun4os3)
1004 basic_machine=sparc-sun
1005 os=-sunos3
1006 ;;
1007 sun4os4)
1008 basic_machine=sparc-sun
1009 os=-sunos4
1010 ;;
1011 sun4sol2)
1012 basic_machine=sparc-sun
1013 os=-solaris2
1014 ;;
1015 sun3 | sun3-*)
1016 basic_machine=m68k-sun
1017 ;;
1018 sun4)
1019 basic_machine=sparc-sun
1020 ;;
1021 sun386 | sun386i | roadrunner)
1022 basic_machine=i386-sun
1023 ;;
1024 sv1)
1025 basic_machine=sv1-cray
1026 os=-unicos
1027 ;;
1028 symmetry)
1029 basic_machine=i386-sequent
1030 os=-dynix
1031 ;;
1032 t3e)
1033 basic_machine=alphaev5-cray
1034 os=-unicos
1035 ;;
1036 t90)
1037 basic_machine=t90-cray
1038 os=-unicos
1039 ;;
1040 tic54x | c54x*)
1041 basic_machine=tic54x-unknown
1042 os=-coff
1043 ;;
1044 tic55x | c55x*)
1045 basic_machine=tic55x-unknown
1046 os=-coff
1047 ;;
1048 tic6x | c6x*)
1049 basic_machine=tic6x-unknown
1050 os=-coff
1051 ;;
00ec24d0
JF
1052 tile*)
1053 basic_machine=tile-unknown
1054 os=-linux-gnu
1055 ;;
da6ee469
JF
1056 tx39)
1057 basic_machine=mipstx39-unknown
1058 ;;
1059 tx39el)
1060 basic_machine=mipstx39el-unknown
1061 ;;
1062 toad1)
1063 basic_machine=pdp10-xkl
1064 os=-tops20
1065 ;;
1066 tower | tower-32)
1067 basic_machine=m68k-ncr
1068 ;;
00ec24d0
JF
1069 tpf)
1070 basic_machine=s390x-ibm
1071 os=-tpf
1072 ;;
da6ee469
JF
1073 udi29k)
1074 basic_machine=a29k-amd
1075 os=-udi
1076 ;;
1077 ultra3)
1078 basic_machine=a29k-nyu
1079 os=-sym1
1080 ;;
1081 v810 | necv810)
1082 basic_machine=v810-nec
1083 os=-none
1084 ;;
1085 vaxv)
1086 basic_machine=vax-dec
1087 os=-sysv
1088 ;;
1089 vms)
1090 basic_machine=vax-dec
1091 os=-vms
1092 ;;
1093 vpp*|vx|vx-*)
1094 basic_machine=f301-fujitsu
1095 ;;
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 ;;
1108 w65*)
1109 basic_machine=w65-wdc
1110 os=-none
1111 ;;
1112 w89k-*)
1113 basic_machine=hppa1.1-winbond
1114 os=-proelf
1115 ;;
00ec24d0
JF
1116 xbox)
1117 basic_machine=i686-pc
1118 os=-mingw32
1119 ;;
da6ee469
JF
1120 xps | xps100)
1121 basic_machine=xps100-honeywell
1122 ;;
1123 ymp)
1124 basic_machine=ymp-cray
1125 os=-unicos
1126 ;;
1127 z8k-*-coff)
1128 basic_machine=z8k-unknown
1129 os=-sim
1130 ;;
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.
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 ;;
1147 romp)
1148 basic_machine=romp-ibm
1149 ;;
00ec24d0
JF
1150 mmix)
1151 basic_machine=mmix-knuth
1152 ;;
da6ee469
JF
1153 rs6000)
1154 basic_machine=rs6000-ibm
1155 ;;
1156 vax)
1157 basic_machine=vax-dec
1158 ;;
1159 pdp10)
1160 # there are many clones, so DEC is not a safe bet
1161 basic_machine=pdp10-unknown
1162 ;;
1163 pdp11)
1164 basic_machine=pdp11-dec
1165 ;;
1166 we32k)
1167 basic_machine=we32k-att
1168 ;;
00ec24d0 1169 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
da6ee469
JF
1170 basic_machine=sh-unknown
1171 ;;
00ec24d0 1172 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
da6ee469
JF
1173 basic_machine=sparc-sun
1174 ;;
1175 cydra)
1176 basic_machine=cydra-cydrome
1177 ;;
1178 orion)
1179 basic_machine=orion-highlevel
1180 ;;
1181 orion105)
1182 basic_machine=clipper-highlevel
1183 ;;
1184 mac | mpw | mac-mpw)
1185 basic_machine=m68k-apple
1186 ;;
1187 pmac | pmac-mpw)
1188 basic_machine=powerpc-apple
1189 ;;
1190 *-unknown)
1191 # Make sure to match an already-canonicalized machine name.
1192 ;;
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 ;;
1225 -svr4*)
1226 os=-sysv4
1227 ;;
1228 -unixware*)
1229 os=-sysv4.2uw
1230 ;;
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* \
1241 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242 | -aos* \
1243 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
00ec24d0
JF
1245 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246 | -openbsd* | -solidbsd* \
1247 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1248 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
da6ee469
JF
1249 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1251 | -chorusos* | -chorusrdb* \
1252 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
00ec24d0
JF
1253 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254 | -uxpv* | -beos* | -mpeix* | -udk* \
da6ee469
JF
1255 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1256 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1257 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1258 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1259 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
00ec24d0
JF
1260 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
da6ee469
JF
1262 # Remember, each alternative MUST END IN *, to match a version number.
1263 ;;
1264 -qnx*)
1265 case $basic_machine in
1266 x86-* | i*86-*)
1267 ;;
1268 *)
1269 os=-nto$os
1270 ;;
1271 esac
1272 ;;
1273 -nto-qnx*)
1274 ;;
1275 -nto*)
1276 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1277 ;;
1278 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
00ec24d0 1279 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
da6ee469
JF
1280 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1281 ;;
1282 -mac*)
1283 os=`echo $os | sed -e 's|mac|macos|'`
1284 ;;
1285 -linux-dietlibc)
1286 os=-linux-dietlibc
1287 ;;
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 ;;
1297 -opened*)
1298 os=-openedition
1299 ;;
00ec24d0
JF
1300 -os400*)
1301 os=-os400
1302 ;;
da6ee469
JF
1303 -wince*)
1304 os=-wince
1305 ;;
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 ;;
1321 -atheos*)
1322 os=-atheos
1323 ;;
00ec24d0
JF
1324 -syllable*)
1325 os=-syllable
1326 ;;
da6ee469
JF
1327 -386bsd)
1328 os=-bsd
1329 ;;
1330 -ctix* | -uts*)
1331 os=-sysv
1332 ;;
1333 -nova*)
1334 os=-rtmk-nova
1335 ;;
1336 -ns2 )
1337 os=-nextstep2
1338 ;;
1339 -nsk*)
1340 os=-nsk
1341 ;;
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 ;;
00ec24d0
JF
1349 -tpf*)
1350 os=-tpf
1351 ;;
da6ee469
JF
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 ;;
1370 -ose*)
1371 os=-ose
1372 ;;
1373 -es1800*)
1374 os=-ose
1375 ;;
1376 -xenix)
1377 os=-xenix
1378 ;;
1379 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1380 os=-mint
1381 ;;
1382 -aros*)
1383 os=-aros
1384 ;;
1385 -kaos*)
1386 os=-kaos
1387 ;;
00ec24d0
JF
1388 -zvmoe)
1389 os=-zvmoe
1390 ;;
da6ee469
JF
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
00ec24d0
JF
1413 score-*)
1414 os=-elf
1415 ;;
1416 spu-*)
1417 os=-elf
1418 ;;
da6ee469
JF
1419 *-acorn)
1420 os=-riscix1.2
1421 ;;
1422 arm*-rebel)
1423 os=-linux
1424 ;;
1425 arm*-semi)
1426 os=-aout
1427 ;;
00ec24d0
JF
1428 c4x-* | tic4x-*)
1429 os=-coff
1430 ;;
da6ee469
JF
1431 # This must come before the *-dec entry.
1432 pdp10-*)
1433 os=-tops20
1434 ;;
1435 pdp11-*)
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 ;;
1453 m68*-cisco)
1454 os=-aout
1455 ;;
00ec24d0
JF
1456 mep-*)
1457 os=-elf
1458 ;;
da6ee469
JF
1459 mips*-cisco)
1460 os=-elf
1461 ;;
1462 mips*-*)
1463 os=-elf
1464 ;;
1465 or32-*)
1466 os=-coff
1467 ;;
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 ;;
1474 *-be)
1475 os=-beos
1476 ;;
00ec24d0
JF
1477 *-haiku)
1478 os=-haiku
1479 ;;
da6ee469
JF
1480 *-ibm)
1481 os=-aix
1482 ;;
00ec24d0
JF
1483 *-knuth)
1484 os=-mmixware
1485 ;;
da6ee469
JF
1486 *-wec)
1487 os=-proelf
1488 ;;
1489 *-winbond)
1490 os=-proelf
1491 ;;
1492 *-oki)
1493 os=-proelf
1494 ;;
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)
1505 os=-amigaos
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 ;;
1537 *-gould)
1538 os=-sysv
1539 ;;
1540 *-highlevel)
1541 os=-bsd
1542 ;;
1543 *-encore)
1544 os=-bsd
1545 ;;
1546 *-sgi)
1547 os=-irix
1548 ;;
1549 *-siemens)
1550 os=-sysv4
1551 ;;
1552 *-masscomp)
1553 os=-rtu
1554 ;;
1555 f30[01]-fujitsu | f700-fujitsu)
1556 os=-uxpv
1557 ;;
1558 *-rom68k)
1559 os=-coff
1560 ;;
1561 *-*bug)
1562 os=-coff
1563 ;;
1564 *-apple)
1565 os=-macos
1566 ;;
1567 *-atari*)
1568 os=-mint
1569 ;;
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 ;;
1591 -beos*)
1592 vendor=be
1593 ;;
1594 -hpux*)
1595 vendor=hp
1596 ;;
1597 -mpeix*)
1598 vendor=hp
1599 ;;
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 ;;
1615 -mvs* | -opened*)
1616 vendor=ibm
1617 ;;
00ec24d0
JF
1618 -os400*)
1619 vendor=ibm
1620 ;;
da6ee469
JF
1621 -ptx*)
1622 vendor=sequent
1623 ;;
00ec24d0
JF
1624 -tpf*)
1625 vendor=ibm
1626 ;;
da6ee469
JF
1627 -vxsim* | -vxworks* | -windiss*)
1628 vendor=wrs
1629 ;;
1630 -aux*)
1631 vendor=apple
1632 ;;
1633 -hms*)
1634 vendor=hitachi
1635 ;;
1636 -mpw* | -macos*)
1637 vendor=apple
1638 ;;
1639 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1640 vendor=atari
1641 ;;
1642 -vos*)
1643 vendor=stratus
1644 ;;
1645 esac
1646 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1647 ;;
1648esac
1649
1650echo $basic_machine$os
00ec24d0 1651exit
da6ee469
JF
1652
1653# Local variables:
1654# eval: (add-hook 'write-file-hooks 'time-stamp)
1655# time-stamp-start: "timestamp='"
1656# time-stamp-format: "%:y-%02m-%02d"
1657# time-stamp-end: "'"
1658# End: