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