blob: 2d8169626d79763bdb5854e6d504e2c6d8fbc3ce [file] [log] [blame]
Damien Millerb405d612000-06-12 23:01:02 +10001#! /bin/sh
Damien Miller5bf5f2c2001-05-06 10:54:15 +10002# Configuration validation subroutine script.
Damien Millera7609f52002-07-25 14:40:22 +10003# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
Tim Riced069c482011-01-26 12:32:12 -08004# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5# 2011 Free Software Foundation, Inc.
Damien Millerb405d612000-06-12 23:01:02 +10006
Tim Riced069c482011-01-26 12:32:12 -08007timestamp='2011-01-01'
Damien Millerb405d612000-06-12 23:01:02 +10008
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
Tim Rice5f707582005-06-01 19:57:45 -070025# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26# 02110-1301, USA.
27#
Damien Millerb405d612000-06-12 23:01:02 +100028# 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
Tim Rice5f707582005-06-01 19:57:45 -070033
Damien Millera7609f52002-07-25 14:40:22 +100034# Please send patches to <config-patches@gnu.org>. Submit a context
Tim Ricec5b0cb32010-03-01 15:57:42 -080035# diff and a properly formatted GNU ChangeLog entry.
Damien Millerb405d612000-06-12 23:01:02 +100036#
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
Tim Ricec5b0cb32010-03-01 15:57:42 -080042# You can get the latest version of this script from:
43# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44
Damien Millerb405d612000-06-12 23:01:02 +100045# This file is supposed to be the same for all GNU packages
46# and recognize all the CPU types, system types and aliases
47# that are meaningful with *any* GNU software.
48# Each package is responsible for reporting which valid configurations
49# it does not support. The user should be able to distinguish
50# a failure to support a valid configuration from a meaningless
51# configuration.
52
53# The goal of this file is to map all the various variations of a given
54# machine specification into a single specification in the form:
55# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56# or in some cases, the newer four-part form:
57# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58# It is wrong to echo any other type of specification.
59
60me=`echo "$0" | sed -e 's,.*/,,'`
61
62usage="\
63Usage: $0 [OPTION] CPU-MFR-OPSYS
64 $0 [OPTION] ALIAS
65
66Canonicalize a configuration name.
67
68Operation modes:
Damien Miller5bf5f2c2001-05-06 10:54:15 +100069 -h, --help print this help, then exit
70 -t, --time-stamp print date of last modification, then exit
71 -v, --version print version number, then exit
72
73Report bugs and patches to <config-patches@gnu.org>."
74
75version="\
76GNU config.sub ($timestamp)
77
Tim Ricec5b0cb32010-03-01 15:57:42 -080078Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
792001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80Software Foundation, Inc.
Damien Miller5bf5f2c2001-05-06 10:54:15 +100081
82This is free software; see the source for copying conditions. There is NO
83warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
Damien Millerb405d612000-06-12 23:01:02 +100084
85help="
86Try \`$me --help' for more information."
87
88# Parse command line
89while test $# -gt 0 ; do
Damien Miller5bf5f2c2001-05-06 10:54:15 +100090 case $1 in
91 --time-stamp | --time* | -t )
Tim Rice5f707582005-06-01 19:57:45 -070092 echo "$timestamp" ; exit ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +100093 --version | -v )
Tim Rice5f707582005-06-01 19:57:45 -070094 echo "$version" ; exit ;;
Damien Millerb405d612000-06-12 23:01:02 +100095 --help | --h* | -h )
Tim Rice5f707582005-06-01 19:57:45 -070096 echo "$usage"; exit ;;
Damien Millerb405d612000-06-12 23:01:02 +100097 -- ) # Stop option processing
98 shift; break ;;
99 - ) # Use stdin as input.
100 break ;;
101 -* )
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000102 echo "$me: invalid option $1$help"
Damien Millerb405d612000-06-12 23:01:02 +1000103 exit 1 ;;
104
105 *local*)
106 # First pass through any local machine types.
107 echo $1
Tim Rice5f707582005-06-01 19:57:45 -0700108 exit ;;
Damien Millerb405d612000-06-12 23:01:02 +1000109
110 * )
111 break ;;
112 esac
113done
114
115case $# in
116 0) echo "$me: missing argument$help" >&2
117 exit 1;;
118 1) ;;
119 *) echo "$me: too many arguments$help" >&2
120 exit 1;;
121esac
122
123# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124# Here we must recognize all the valid KERNEL-OS combinations.
125maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126case $maybe_os in
Tim Riced069c482011-01-26 12:32:12 -0800127 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129 knetbsd*-gnu* | netbsd*-gnu* | \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800130 kopensolaris*-gnu* | \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000131 storm-chaos* | os2-emx* | rtmk-nova*)
Damien Millerb405d612000-06-12 23:01:02 +1000132 os=-$maybe_os
133 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134 ;;
135 *)
136 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137 if [ $basic_machine != $1 ]
138 then os=`echo $1 | sed 's/.*-/-/'`
139 else os=; fi
140 ;;
141esac
142
143### Let's recognize common machines as not being operating systems so
144### that things like config.sub decstation-3100 work. We also
145### recognize some manufacturers as not being operating systems, so we
146### can provide default operating systems below.
147case $os in
148 -sun*os*)
149 # Prevent following clause from handling this invalid input.
150 ;;
151 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800157 -apple | -axis | -knuth | -cray | -microblaze)
Damien Millerb405d612000-06-12 23:01:02 +1000158 os=
159 basic_machine=$1
160 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -0800161 -bluegene*)
162 os=-cnk
163 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000164 -sim | -cisco | -oki | -wec | -winbond)
165 os=
166 basic_machine=$1
167 ;;
168 -scout)
169 ;;
170 -wrs)
171 os=-vxworks
172 basic_machine=$1
173 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000174 -chorusos*)
175 os=-chorusos
176 basic_machine=$1
177 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000178 -chorusrdb)
179 os=-chorusrdb
Damien Millera7609f52002-07-25 14:40:22 +1000180 basic_machine=$1
Damien Miller752e4e62004-04-21 12:29:13 +1000181 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000182 -hiux*)
183 os=-hiuxwe2
184 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000185 -sco6)
186 os=-sco5v6
187 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000189 -sco5)
190 os=-sco3.2v5
191 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192 ;;
193 -sco4)
194 os=-sco3.2v4
195 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196 ;;
197 -sco3.2.[4-9]*)
198 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200 ;;
201 -sco3.2v[4-9]*)
202 # Don't forget version if it is 3.2v4 or newer.
203 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000205 -sco5v6*)
206 # Don't forget version if it is 3.2v4 or newer.
207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000209 -sco*)
210 os=-sco3.2v2
211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212 ;;
213 -udk*)
214 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215 ;;
216 -isc)
217 os=-isc2.2
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 ;;
220 -clix*)
221 basic_machine=clipper-intergraph
222 ;;
223 -isc*)
224 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225 ;;
226 -lynx*)
227 os=-lynxos
228 ;;
229 -ptx*)
230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231 ;;
232 -windowsnt*)
233 os=`echo $os | sed -e 's/windowsnt/winnt/'`
234 ;;
235 -psos*)
236 os=-psos
237 ;;
238 -mint | -mint[0-9]*)
239 basic_machine=m68k-atari
240 os=-mint
241 ;;
242esac
243
244# Decode aliases for certain CPU-COMPANY combinations.
245case $basic_machine in
246 # Recognize the basic CPU types without company name.
247 # Some are omitted here because they have special meanings below.
Damien Millera7609f52002-07-25 14:40:22 +1000248 1750a | 580 \
249 | a29k \
250 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
Damien Miller752e4e62004-04-21 12:29:13 +1000252 | am33_2.0 \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000253 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
Tim Rice5f707582005-06-01 19:57:45 -0700254 | bfin \
Damien Millera7609f52002-07-25 14:40:22 +1000255 | c4x | clipper \
256 | d10v | d30v | dlx | dsp16xx \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000257 | fido | fr30 | frv \
Damien Millera7609f52002-07-25 14:40:22 +1000258 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259 | i370 | i860 | i960 | ia64 \
Damien Miller752e4e62004-04-21 12:29:13 +1000260 | ip2k | iq2000 \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800261 | lm32 \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000262 | m32c | m32r | m32rle | m68000 | m68k | m88k \
263 | maxq | mb | microblaze | mcore | mep | metag \
Damien Millera7609f52002-07-25 14:40:22 +1000264 | mips | mipsbe | mipseb | mipsel | mipsle \
265 | mips16 \
266 | mips64 | mips64el \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000267 | mips64octeon | mips64octeonel \
Damien Millera7609f52002-07-25 14:40:22 +1000268 | mips64orion | mips64orionel \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000269 | mips64r5900 | mips64r5900el \
270 | mips64vr | mips64vrel \
Damien Millera7609f52002-07-25 14:40:22 +1000271 | mips64vr4100 | mips64vr4100el \
272 | mips64vr4300 | mips64vr4300el \
273 | mips64vr5000 | mips64vr5000el \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000274 | mips64vr5900 | mips64vr5900el \
Damien Millera7609f52002-07-25 14:40:22 +1000275 | mipsisa32 | mipsisa32el \
Damien Miller752e4e62004-04-21 12:29:13 +1000276 | mipsisa32r2 | mipsisa32r2el \
Damien Millera7609f52002-07-25 14:40:22 +1000277 | mipsisa64 | mipsisa64el \
Damien Miller752e4e62004-04-21 12:29:13 +1000278 | mipsisa64r2 | mipsisa64r2el \
Damien Millera7609f52002-07-25 14:40:22 +1000279 | mipsisa64sb1 | mipsisa64sb1el \
Damien Miller752e4e62004-04-21 12:29:13 +1000280 | mipsisa64sr71k | mipsisa64sr71kel \
Damien Millera7609f52002-07-25 14:40:22 +1000281 | mipstx39 | mipstx39el \
282 | mn10200 | mn10300 \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800283 | moxie \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000284 | mt \
Damien Miller752e4e62004-04-21 12:29:13 +1000285 | msp430 \
Tim Riced069c482011-01-26 12:32:12 -0800286 | nds32 | nds32le | nds32be \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000287 | nios | nios2 \
Damien Millera7609f52002-07-25 14:40:22 +1000288 | ns16k | ns32k \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000289 | or32 \
Damien Millera7609f52002-07-25 14:40:22 +1000290 | pdp10 | pdp11 | pj | pjl \
291 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292 | pyramid \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800293 | rx \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000294 | score \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800295 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
Damien Millera7609f52002-07-25 14:40:22 +1000296 | sh64 | sh64le \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000297 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299 | spu | strongarm \
Tim Riced069c482011-01-26 12:32:12 -0800300 | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800301 | ubicom32 \
Damien Millera7609f52002-07-25 14:40:22 +1000302 | v850 | v850e \
303 | we32k \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000304 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800305 | z8k | z80)
Damien Millerb405d612000-06-12 23:01:02 +1000306 basic_machine=$basic_machine-unknown
307 ;;
Tim Riced069c482011-01-26 12:32:12 -0800308 c54x)
309 basic_machine=tic54x-unknown
310 ;;
311 c55x)
312 basic_machine=tic55x-unknown
313 ;;
314 c6x)
315 basic_machine=tic6x-unknown
316 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -0800317 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000318 # Motorola 68HC11/12.
319 basic_machine=$basic_machine-unknown
320 os=-none
321 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000322 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
Damien Millerb405d612000-06-12 23:01:02 +1000323 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000324 ms1)
325 basic_machine=mt-unknown
326 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000327
328 # We use `pc' rather than `unknown'
329 # because (1) that's what they normally are, and
330 # (2) the word "unknown" tends to confuse beginning users.
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000331 i*86 | x86_64)
Damien Millerb405d612000-06-12 23:01:02 +1000332 basic_machine=$basic_machine-pc
333 ;;
334 # Object if more than one company name word.
335 *-*-*)
336 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337 exit 1
338 ;;
339 # Recognize the basic CPU types with company name.
Damien Millera7609f52002-07-25 14:40:22 +1000340 580-* \
341 | a29k-* \
342 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000346 | avr-* | avr32-* \
Tim Rice5f707582005-06-01 19:57:45 -0700347 | bfin-* | bs2000-* \
Tim Riced069c482011-01-26 12:32:12 -0800348 | c[123]* | c30-* | [cjt]90-* | c4x-* \
Tim Rice5f707582005-06-01 19:57:45 -0700349 | clipper-* | craynv-* | cydra-* \
Damien Millera7609f52002-07-25 14:40:22 +1000350 | d10v-* | d30v-* | dlx-* \
351 | elxsi-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000352 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
Damien Millera7609f52002-07-25 14:40:22 +1000353 | h8300-* | h8500-* \
354 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355 | i*86-* | i860-* | i960-* | ia64-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000356 | ip2k-* | iq2000-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800357 | lm32-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000358 | m32c-* | m32r-* | m32rle-* \
Damien Millera7609f52002-07-25 14:40:22 +1000359 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800360 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
Damien Millera7609f52002-07-25 14:40:22 +1000361 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362 | mips16-* \
363 | mips64-* | mips64el-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000364 | mips64octeon-* | mips64octeonel-* \
Damien Millera7609f52002-07-25 14:40:22 +1000365 | mips64orion-* | mips64orionel-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000366 | mips64r5900-* | mips64r5900el-* \
367 | mips64vr-* | mips64vrel-* \
Damien Millera7609f52002-07-25 14:40:22 +1000368 | mips64vr4100-* | mips64vr4100el-* \
369 | mips64vr4300-* | mips64vr4300el-* \
370 | mips64vr5000-* | mips64vr5000el-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000371 | mips64vr5900-* | mips64vr5900el-* \
Damien Millera7609f52002-07-25 14:40:22 +1000372 | mipsisa32-* | mipsisa32el-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000373 | mipsisa32r2-* | mipsisa32r2el-* \
Damien Millera7609f52002-07-25 14:40:22 +1000374 | mipsisa64-* | mipsisa64el-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000375 | mipsisa64r2-* | mipsisa64r2el-* \
Damien Millera7609f52002-07-25 14:40:22 +1000376 | mipsisa64sb1-* | mipsisa64sb1el-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000377 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
378 | mipstx39-* | mipstx39el-* \
Tim Rice5f707582005-06-01 19:57:45 -0700379 | mmix-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000380 | mt-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000381 | msp430-* \
Tim Riced069c482011-01-26 12:32:12 -0800382 | nds32-* | nds32le-* | nds32be-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000383 | nios-* | nios2-* \
Tim Rice5f707582005-06-01 19:57:45 -0700384 | none-* | np1-* | ns16k-* | ns32k-* \
Damien Millera7609f52002-07-25 14:40:22 +1000385 | orion-* \
386 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388 | pyramid-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800389 | romp-* | rs6000-* | rx-* \
390 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
Damien Millera7609f52002-07-25 14:40:22 +1000391 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000392 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
Tim Rice5f707582005-06-01 19:57:45 -0700393 | sparclite-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000394 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000395 | tahoe-* | thumb-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800396 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397 | tile-* | tilegx-* \
Damien Miller752e4e62004-04-21 12:29:13 +1000398 | tron-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800399 | ubicom32-* \
Damien Millera7609f52002-07-25 14:40:22 +1000400 | v850-* | v850e-* | vax-* \
401 | we32k-* \
Darren Tuckerc570ff72008-09-06 18:20:57 +1000402 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403 | xstormy16-* | xtensa*-* \
Damien Millera7609f52002-07-25 14:40:22 +1000404 | ymp-* \
Tim Ricec5b0cb32010-03-01 15:57:42 -0800405 | z8k-* | z80-*)
Damien Millerb405d612000-06-12 23:01:02 +1000406 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000407 # Recognize the basic CPU types without company name, with glob match.
408 xtensa*)
409 basic_machine=$basic_machine-unknown
410 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000411 # Recognize the various machine names and aliases which stand
412 # for a CPU type and a company and sometimes even an OS.
413 386bsd)
414 basic_machine=i386-unknown
415 os=-bsd
416 ;;
417 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418 basic_machine=m68000-att
419 ;;
420 3b*)
421 basic_machine=we32k-att
422 ;;
423 a29khif)
424 basic_machine=a29k-amd
425 os=-udi
426 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700427 abacus)
428 basic_machine=abacus-unknown
429 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000430 adobe68k)
431 basic_machine=m68010-adobe
432 os=-scout
433 ;;
434 alliant | fx80)
435 basic_machine=fx80-alliant
436 ;;
437 altos | altos3068)
438 basic_machine=m68k-altos
439 ;;
440 am29k)
441 basic_machine=a29k-none
442 os=-bsd
443 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000444 amd64)
445 basic_machine=x86_64-pc
446 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700447 amd64-*)
448 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000450 amdahl)
451 basic_machine=580-amdahl
452 os=-sysv
453 ;;
454 amiga | amiga-*)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000455 basic_machine=m68k-unknown
Damien Millerb405d612000-06-12 23:01:02 +1000456 ;;
457 amigaos | amigados)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000458 basic_machine=m68k-unknown
Damien Millerb405d612000-06-12 23:01:02 +1000459 os=-amigaos
460 ;;
461 amigaunix | amix)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000462 basic_machine=m68k-unknown
Damien Millerb405d612000-06-12 23:01:02 +1000463 os=-sysv4
464 ;;
465 apollo68)
466 basic_machine=m68k-apollo
467 os=-sysv
468 ;;
469 apollo68bsd)
470 basic_machine=m68k-apollo
471 os=-bsd
472 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -0800473 aros)
474 basic_machine=i386-pc
475 os=-aros
476 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000477 aux)
478 basic_machine=m68k-apple
479 os=-aux
480 ;;
481 balance)
482 basic_machine=ns32k-sequent
483 os=-dynix
484 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000485 blackfin)
486 basic_machine=bfin-unknown
487 os=-linux
488 ;;
489 blackfin-*)
490 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491 os=-linux
492 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -0800493 bluegene*)
494 basic_machine=powerpc-ibm
495 os=-cnk
496 ;;
Tim Riced069c482011-01-26 12:32:12 -0800497 c54x-*)
498 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499 ;;
500 c55x-*)
501 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502 ;;
503 c6x-*)
504 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000506 c90)
507 basic_machine=c90-cray
508 os=-unicos
509 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000510 cegcc)
511 basic_machine=arm-unknown
512 os=-cegcc
513 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000514 convex-c1)
515 basic_machine=c1-convex
516 os=-bsd
517 ;;
518 convex-c2)
519 basic_machine=c2-convex
520 os=-bsd
521 ;;
522 convex-c32)
523 basic_machine=c32-convex
524 os=-bsd
525 ;;
526 convex-c34)
527 basic_machine=c34-convex
528 os=-bsd
529 ;;
530 convex-c38)
531 basic_machine=c38-convex
532 os=-bsd
533 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000534 cray | j90)
535 basic_machine=j90-cray
Damien Millerb405d612000-06-12 23:01:02 +1000536 os=-unicos
537 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700538 craynv)
539 basic_machine=craynv-cray
540 os=-unicosmp
541 ;;
Tim Riced069c482011-01-26 12:32:12 -0800542 cr16 | cr16-*)
Darren Tuckerc570ff72008-09-06 18:20:57 +1000543 basic_machine=cr16-unknown
Tim Rice5f707582005-06-01 19:57:45 -0700544 os=-elf
545 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000546 crds | unos)
547 basic_machine=m68k-crds
548 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700549 crisv32 | crisv32-* | etraxfs*)
550 basic_machine=crisv32-axis
551 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000552 cris | cris-* | etrax*)
553 basic_machine=cris-axis
554 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700555 crx)
556 basic_machine=crx-unknown
557 os=-elf
558 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000559 da30 | da30-*)
560 basic_machine=m68k-da30
561 ;;
562 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563 basic_machine=mips-dec
564 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000565 decsystem10* | dec10*)
566 basic_machine=pdp10-dec
567 os=-tops10
568 ;;
569 decsystem20* | dec20*)
570 basic_machine=pdp10-dec
571 os=-tops20
572 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000573 delta | 3300 | motorola-3300 | motorola-delta \
574 | 3300-motorola | delta-motorola)
575 basic_machine=m68k-motorola
576 ;;
577 delta88)
578 basic_machine=m88k-motorola
579 os=-sysv3
580 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000581 dicos)
582 basic_machine=i686-pc
583 os=-dicos
584 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700585 djgpp)
586 basic_machine=i586-pc
587 os=-msdosdjgpp
588 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000589 dpx20 | dpx20-*)
590 basic_machine=rs6000-bull
591 os=-bosx
592 ;;
593 dpx2* | dpx2*-bull)
594 basic_machine=m68k-bull
595 os=-sysv3
596 ;;
597 ebmon29k)
598 basic_machine=a29k-amd
599 os=-ebmon
600 ;;
601 elxsi)
602 basic_machine=elxsi-elxsi
603 os=-bsd
604 ;;
605 encore | umax | mmax)
606 basic_machine=ns32k-encore
607 ;;
608 es1800 | OSE68k | ose68k | ose | OSE)
609 basic_machine=m68k-ericsson
610 os=-ose
611 ;;
612 fx2800)
613 basic_machine=i860-alliant
614 ;;
615 genix)
616 basic_machine=ns32k-ns
617 ;;
618 gmicro)
619 basic_machine=tron-gmicro
620 os=-sysv
621 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000622 go32)
623 basic_machine=i386-pc
624 os=-go32
625 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000626 h3050r* | hiux*)
627 basic_machine=hppa1.1-hitachi
628 os=-hiuxwe2
629 ;;
630 h8300hms)
631 basic_machine=h8300-hitachi
632 os=-hms
633 ;;
634 h8300xray)
635 basic_machine=h8300-hitachi
636 os=-xray
637 ;;
638 h8500hms)
639 basic_machine=h8500-hitachi
640 os=-hms
641 ;;
642 harris)
643 basic_machine=m88k-harris
644 os=-sysv3
645 ;;
646 hp300-*)
647 basic_machine=m68k-hp
648 ;;
649 hp300bsd)
650 basic_machine=m68k-hp
651 os=-bsd
652 ;;
653 hp300hpux)
654 basic_machine=m68k-hp
655 os=-hpux
656 ;;
657 hp3k9[0-9][0-9] | hp9[0-9][0-9])
658 basic_machine=hppa1.0-hp
659 ;;
660 hp9k2[0-9][0-9] | hp9k31[0-9])
661 basic_machine=m68000-hp
662 ;;
663 hp9k3[2-9][0-9])
664 basic_machine=m68k-hp
665 ;;
666 hp9k6[0-9][0-9] | hp6[0-9][0-9])
667 basic_machine=hppa1.0-hp
668 ;;
669 hp9k7[0-79][0-9] | hp7[0-79][0-9])
670 basic_machine=hppa1.1-hp
671 ;;
672 hp9k78[0-9] | hp78[0-9])
673 # FIXME: really hppa2.0-hp
674 basic_machine=hppa1.1-hp
675 ;;
676 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677 # FIXME: really hppa2.0-hp
678 basic_machine=hppa1.1-hp
679 ;;
680 hp9k8[0-9][13679] | hp8[0-9][13679])
681 basic_machine=hppa1.1-hp
682 ;;
683 hp9k8[0-9][0-9] | hp8[0-9][0-9])
684 basic_machine=hppa1.0-hp
685 ;;
686 hppa-next)
687 os=-nextstep3
688 ;;
689 hppaosf)
690 basic_machine=hppa1.1-hp
691 os=-osf
692 ;;
693 hppro)
694 basic_machine=hppa1.1-hp
695 os=-proelf
696 ;;
697 i370-ibm* | ibm*)
698 basic_machine=i370-ibm
699 ;;
700# I'm not sure what "Sysv32" means. Should this be sysv3.2?
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000701 i*86v32)
Damien Millerb405d612000-06-12 23:01:02 +1000702 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703 os=-sysv32
704 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000705 i*86v4*)
Damien Millerb405d612000-06-12 23:01:02 +1000706 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707 os=-sysv4
708 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000709 i*86v)
Damien Millerb405d612000-06-12 23:01:02 +1000710 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711 os=-sysv
712 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000713 i*86sol2)
Damien Millerb405d612000-06-12 23:01:02 +1000714 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715 os=-solaris2
716 ;;
717 i386mach)
718 basic_machine=i386-mach
719 os=-mach
720 ;;
721 i386-vsta | vsta)
722 basic_machine=i386-unknown
723 os=-vsta
724 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000725 iris | iris4d)
726 basic_machine=mips-sgi
727 case $os in
728 -irix*)
729 ;;
730 *)
731 os=-irix4
732 ;;
733 esac
734 ;;
735 isi68 | isi)
736 basic_machine=m68k-isi
737 os=-sysv
738 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000739 m68knommu)
740 basic_machine=m68k-unknown
741 os=-linux
742 ;;
743 m68knommu-*)
744 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745 os=-linux
746 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000747 m88k-omron*)
748 basic_machine=m88k-omron
749 ;;
750 magnum | m3230)
751 basic_machine=mips-mips
752 os=-sysv
753 ;;
754 merlin)
755 basic_machine=ns32k-utek
756 os=-sysv
757 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -0800758 microblaze)
759 basic_machine=microblaze-xilinx
760 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000761 mingw32)
762 basic_machine=i386-pc
763 os=-mingw32
764 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000765 mingw32ce)
766 basic_machine=arm-unknown
767 os=-mingw32ce
768 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000769 miniframe)
770 basic_machine=m68000-convergent
771 ;;
772 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773 basic_machine=m68k-atari
774 os=-mint
775 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000776 mips3*-*)
777 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778 ;;
779 mips3*)
780 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000782 monitor)
783 basic_machine=m68k-rom68k
784 os=-coff
785 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000786 morphos)
787 basic_machine=powerpc-unknown
788 os=-morphos
789 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000790 msdos)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000791 basic_machine=i386-pc
Damien Millerb405d612000-06-12 23:01:02 +1000792 os=-msdos
793 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000794 ms1-*)
795 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000797 mvs)
798 basic_machine=i370-ibm
799 os=-mvs
800 ;;
801 ncr3000)
802 basic_machine=i486-ncr
803 os=-sysv4
804 ;;
805 netbsd386)
806 basic_machine=i386-unknown
807 os=-netbsd
808 ;;
809 netwinder)
810 basic_machine=armv4l-rebel
811 os=-linux
812 ;;
813 news | news700 | news800 | news900)
814 basic_machine=m68k-sony
815 os=-newsos
816 ;;
817 news1000)
818 basic_machine=m68030-sony
819 os=-newsos
820 ;;
821 news-3600 | risc-news)
822 basic_machine=mips-sony
823 os=-newsos
824 ;;
825 necv70)
826 basic_machine=v70-nec
827 os=-sysv
828 ;;
829 next | m*-next )
830 basic_machine=m68k-next
831 case $os in
832 -nextstep* )
833 ;;
834 -ns2*)
835 os=-nextstep2
836 ;;
837 *)
838 os=-nextstep3
839 ;;
840 esac
841 ;;
842 nh3000)
843 basic_machine=m68k-harris
844 os=-cxux
845 ;;
846 nh[45]000)
847 basic_machine=m88k-harris
848 os=-cxux
849 ;;
850 nindy960)
851 basic_machine=i960-intel
852 os=-nindy
853 ;;
854 mon960)
855 basic_machine=i960-intel
856 os=-mon960
857 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000858 nonstopux)
859 basic_machine=mips-compaq
860 os=-nonstopux
861 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000862 np1)
863 basic_machine=np1-gould
864 ;;
Tim Riced069c482011-01-26 12:32:12 -0800865 neo-tandem)
866 basic_machine=neo-tandem
867 ;;
868 nse-tandem)
869 basic_machine=nse-tandem
870 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000871 nsr-tandem)
872 basic_machine=nsr-tandem
Ben Lindstroma5a26482003-03-21 01:05:37 +0000873 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000874 op50n-* | op60c-*)
875 basic_machine=hppa1.1-oki
876 os=-proelf
877 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000878 openrisc | openrisc-*)
Damien Millera7609f52002-07-25 14:40:22 +1000879 basic_machine=or32-unknown
Damien Millera7609f52002-07-25 14:40:22 +1000880 ;;
Tim Rice5f707582005-06-01 19:57:45 -0700881 os400)
882 basic_machine=powerpc-ibm
883 os=-os400
884 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000885 OSE68000 | ose68000)
886 basic_machine=m68000-ericsson
887 os=-ose
888 ;;
889 os68k)
890 basic_machine=m68k-none
891 os=-os68k
892 ;;
893 pa-hitachi)
894 basic_machine=hppa1.1-hitachi
895 os=-hiuxwe2
896 ;;
897 paragon)
898 basic_machine=i860-intel
899 os=-osf
900 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000901 parisc)
902 basic_machine=hppa-unknown
903 os=-linux
904 ;;
905 parisc-*)
906 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907 os=-linux
908 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000909 pbd)
910 basic_machine=sparc-tti
911 ;;
912 pbb)
913 basic_machine=m68k-tti
914 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +1100915 pc532 | pc532-*)
Damien Millerb405d612000-06-12 23:01:02 +1000916 basic_machine=ns32k-pc532
917 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000918 pc98)
919 basic_machine=i386-pc
920 ;;
921 pc98-*)
922 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000924 pentium | p5 | k5 | k6 | nexgen | viac3)
Damien Millerb405d612000-06-12 23:01:02 +1000925 basic_machine=i586-pc
926 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000927 pentiumpro | p6 | 6x86 | athlon | athlon_*)
Damien Millerb405d612000-06-12 23:01:02 +1000928 basic_machine=i686-pc
929 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000930 pentiumii | pentium2 | pentiumiii | pentium3)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000931 basic_machine=i686-pc
Damien Millerb405d612000-06-12 23:01:02 +1000932 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000933 pentium4)
934 basic_machine=i786-pc
935 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000936 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
Damien Millerb405d612000-06-12 23:01:02 +1000937 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938 ;;
939 pentiumpro-* | p6-* | 6x86-* | athlon-*)
940 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000942 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000943 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
Damien Millerb405d612000-06-12 23:01:02 +1000944 ;;
Damien Miller752e4e62004-04-21 12:29:13 +1000945 pentium4-*)
946 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000948 pn)
949 basic_machine=pn-gould
950 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000951 power) basic_machine=power-ibm
Damien Millerb405d612000-06-12 23:01:02 +1000952 ;;
953 ppc) basic_machine=powerpc-unknown
Damien Millera8e06ce2003-11-21 23:48:55 +1100954 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000955 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956 ;;
957 ppcle | powerpclittle | ppc-le | powerpc-little)
958 basic_machine=powerpcle-unknown
Damien Millera8e06ce2003-11-21 23:48:55 +1100959 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000960 ppcle-* | powerpclittle-*)
961 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000963 ppc64) basic_machine=powerpc64-unknown
Damien Millera8e06ce2003-11-21 23:48:55 +1100964 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000965 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966 ;;
967 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968 basic_machine=powerpc64le-unknown
Damien Millera8e06ce2003-11-21 23:48:55 +1100969 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000970 ppc64le-* | powerpc64little-*)
971 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000973 ps2)
974 basic_machine=i386-ibm
975 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +1000976 pw32)
977 basic_machine=i586-unknown
978 os=-pw32
979 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +1000980 rdos)
981 basic_machine=i386-pc
982 os=-rdos
983 ;;
Damien Millerb405d612000-06-12 23:01:02 +1000984 rom68k)
985 basic_machine=m68k-rom68k
986 os=-coff
987 ;;
988 rm[46]00)
989 basic_machine=mips-siemens
990 ;;
991 rtpc | rtpc-*)
992 basic_machine=romp-ibm
993 ;;
Damien Millera7609f52002-07-25 14:40:22 +1000994 s390 | s390-*)
995 basic_machine=s390-ibm
996 ;;
997 s390x | s390x-*)
998 basic_machine=s390x-ibm
999 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001000 sa29200)
1001 basic_machine=a29k-amd
1002 os=-udi
1003 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001004 sb1)
1005 basic_machine=mipsisa64sb1-unknown
1006 ;;
1007 sb1el)
1008 basic_machine=mipsisa64sb1el-unknown
1009 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001010 sde)
1011 basic_machine=mipsisa32-sde
1012 os=-elf
1013 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001014 sei)
1015 basic_machine=mips-sei
1016 os=-seiux
1017 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001018 sequent)
1019 basic_machine=i386-sequent
1020 ;;
1021 sh)
1022 basic_machine=sh-hitachi
1023 os=-hms
1024 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001025 sh5el)
1026 basic_machine=sh5le-unknown
1027 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001028 sh64)
1029 basic_machine=sh64-unknown
1030 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001031 sparclite-wrs | simso-wrs)
Damien Millerb405d612000-06-12 23:01:02 +10001032 basic_machine=sparclite-wrs
1033 os=-vxworks
1034 ;;
1035 sps7)
1036 basic_machine=m68k-bull
1037 os=-sysv2
1038 ;;
1039 spur)
1040 basic_machine=spur-unknown
1041 ;;
1042 st2000)
1043 basic_machine=m68k-tandem
1044 ;;
1045 stratus)
1046 basic_machine=i860-stratus
1047 os=-sysv4
1048 ;;
1049 sun2)
1050 basic_machine=m68000-sun
1051 ;;
1052 sun2os3)
1053 basic_machine=m68000-sun
1054 os=-sunos3
1055 ;;
1056 sun2os4)
1057 basic_machine=m68000-sun
1058 os=-sunos4
1059 ;;
1060 sun3os3)
1061 basic_machine=m68k-sun
1062 os=-sunos3
1063 ;;
1064 sun3os4)
1065 basic_machine=m68k-sun
1066 os=-sunos4
1067 ;;
1068 sun4os3)
1069 basic_machine=sparc-sun
1070 os=-sunos3
1071 ;;
1072 sun4os4)
1073 basic_machine=sparc-sun
1074 os=-sunos4
1075 ;;
1076 sun4sol2)
1077 basic_machine=sparc-sun
1078 os=-solaris2
1079 ;;
1080 sun3 | sun3-*)
1081 basic_machine=m68k-sun
1082 ;;
1083 sun4)
1084 basic_machine=sparc-sun
1085 ;;
1086 sun386 | sun386i | roadrunner)
1087 basic_machine=i386-sun
1088 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001089 sv1)
Damien Millerb405d612000-06-12 23:01:02 +10001090 basic_machine=sv1-cray
1091 os=-unicos
1092 ;;
1093 symmetry)
1094 basic_machine=i386-sequent
1095 os=-dynix
1096 ;;
1097 t3e)
Damien Millera7609f52002-07-25 14:40:22 +10001098 basic_machine=alphaev5-cray
1099 os=-unicos
1100 ;;
1101 t90)
1102 basic_machine=t90-cray
Damien Millerb405d612000-06-12 23:01:02 +10001103 os=-unicos
1104 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -08001105 # This must be matched before tile*.
1106 tilegx*)
1107 basic_machine=tilegx-unknown
1108 os=-linux-gnu
1109 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001110 tile*)
1111 basic_machine=tile-unknown
1112 os=-linux-gnu
1113 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001114 tx39)
1115 basic_machine=mipstx39-unknown
1116 ;;
1117 tx39el)
1118 basic_machine=mipstx39el-unknown
1119 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001120 toad1)
1121 basic_machine=pdp10-xkl
1122 os=-tops20
1123 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001124 tower | tower-32)
1125 basic_machine=m68k-ncr
1126 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001127 tpf)
1128 basic_machine=s390x-ibm
1129 os=-tpf
1130 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001131 udi29k)
1132 basic_machine=a29k-amd
1133 os=-udi
1134 ;;
1135 ultra3)
1136 basic_machine=a29k-nyu
1137 os=-sym1
1138 ;;
1139 v810 | necv810)
1140 basic_machine=v810-nec
1141 os=-none
1142 ;;
1143 vaxv)
1144 basic_machine=vax-dec
1145 os=-sysv
1146 ;;
1147 vms)
1148 basic_machine=vax-dec
1149 os=-vms
1150 ;;
1151 vpp*|vx|vx-*)
Damien Miller752e4e62004-04-21 12:29:13 +10001152 basic_machine=f301-fujitsu
1153 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001154 vxworks960)
1155 basic_machine=i960-wrs
1156 os=-vxworks
1157 ;;
1158 vxworks68)
1159 basic_machine=m68k-wrs
1160 os=-vxworks
1161 ;;
1162 vxworks29k)
1163 basic_machine=a29k-wrs
1164 os=-vxworks
1165 ;;
1166 w65*)
1167 basic_machine=w65-wdc
1168 os=-none
1169 ;;
1170 w89k-*)
1171 basic_machine=hppa1.1-winbond
1172 os=-proelf
1173 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001174 xbox)
1175 basic_machine=i686-pc
1176 os=-mingw32
1177 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001178 xps | xps100)
Damien Millerb405d612000-06-12 23:01:02 +10001179 basic_machine=xps100-honeywell
1180 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001181 ymp)
1182 basic_machine=ymp-cray
1183 os=-unicos
1184 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001185 z8k-*-coff)
1186 basic_machine=z8k-unknown
1187 os=-sim
1188 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -08001189 z80-*-coff)
1190 basic_machine=z80-unknown
1191 os=-sim
1192 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001193 none)
1194 basic_machine=none-none
1195 os=-none
1196 ;;
1197
1198# Here we handle the default manufacturer of certain CPU types. It is in
1199# some cases the only manufacturer, in others, it is the most popular.
1200 w89k)
1201 basic_machine=hppa1.1-winbond
1202 ;;
1203 op50n)
1204 basic_machine=hppa1.1-oki
1205 ;;
1206 op60c)
1207 basic_machine=hppa1.1-oki
1208 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001209 romp)
1210 basic_machine=romp-ibm
1211 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001212 mmix)
1213 basic_machine=mmix-knuth
1214 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001215 rs6000)
1216 basic_machine=rs6000-ibm
1217 ;;
1218 vax)
1219 basic_machine=vax-dec
1220 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001221 pdp10)
1222 # there are many clones, so DEC is not a safe bet
1223 basic_machine=pdp10-unknown
1224 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001225 pdp11)
1226 basic_machine=pdp11-dec
1227 ;;
1228 we32k)
1229 basic_machine=we32k-att
1230 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -08001231 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001232 basic_machine=sh-unknown
1233 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001234 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
Damien Millerb405d612000-06-12 23:01:02 +10001235 basic_machine=sparc-sun
1236 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001237 cydra)
Damien Millerb405d612000-06-12 23:01:02 +10001238 basic_machine=cydra-cydrome
1239 ;;
1240 orion)
1241 basic_machine=orion-highlevel
1242 ;;
1243 orion105)
1244 basic_machine=clipper-highlevel
1245 ;;
1246 mac | mpw | mac-mpw)
1247 basic_machine=m68k-apple
1248 ;;
1249 pmac | pmac-mpw)
1250 basic_machine=powerpc-apple
1251 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001252 *-unknown)
1253 # Make sure to match an already-canonicalized machine name.
1254 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001255 *)
1256 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257 exit 1
1258 ;;
1259esac
1260
1261# Here we canonicalize certain aliases for manufacturers.
1262case $basic_machine in
1263 *-digital*)
1264 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265 ;;
1266 *-commodore*)
1267 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268 ;;
1269 *)
1270 ;;
1271esac
1272
1273# Decode manufacturer-specific aliases for certain operating systems.
1274
1275if [ x"$os" != x"" ]
1276then
1277case $os in
Damien Miller752e4e62004-04-21 12:29:13 +10001278 # First match some system type aliases
1279 # that might get confused with valid system types.
Damien Millerb405d612000-06-12 23:01:02 +10001280 # -solaris* is a basic system type, with this one exception.
Tim Ricec5b0cb32010-03-01 15:57:42 -08001281 -auroraux)
1282 os=-auroraux
1283 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001284 -solaris1 | -solaris1.*)
1285 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286 ;;
1287 -solaris)
1288 os=-solaris2
1289 ;;
1290 -svr4*)
1291 os=-sysv4
1292 ;;
1293 -unixware*)
1294 os=-sysv4.2uw
1295 ;;
1296 -gnu/linux*)
1297 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298 ;;
1299 # First accept the basic system types.
1300 # The portable systems comes first.
1301 # Each alternative MUST END IN A *, to match a version number.
1302 # -sysv* is not here because it comes later, after sysvr4.
1303 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
Tim Ricec5b0cb32010-03-01 15:57:42 -08001304 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306 | -sym* | -kopensolaris* \
Damien Millerb405d612000-06-12 23:01:02 +10001307 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
Tim Ricec5b0cb32010-03-01 15:57:42 -08001308 | -aos* | -aros* \
Damien Millerb405d612000-06-12 23:01:02 +10001309 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
Darren Tuckerc570ff72008-09-06 18:20:57 +10001311 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312 | -openbsd* | -solidbsd* \
Tim Rice5f707582005-06-01 19:57:45 -07001313 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
Damien Millerb405d612000-06-12 23:01:02 +10001315 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
Darren Tuckerc570ff72008-09-06 18:20:57 +10001317 | -chorusos* | -chorusrdb* | -cegcc* \
Damien Millerb405d612000-06-12 23:01:02 +10001318 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
Tim Riced069c482011-01-26 12:32:12 -08001319 | -mingw32* | -linux-gnu* | -linux-android* \
1320 | -linux-newlib* | -linux-uclibc* \
Darren Tuckerc570ff72008-09-06 18:20:57 +10001321 | -uxpv* | -beos* | -mpeix* | -udk* \
Damien Miller752e4e62004-04-21 12:29:13 +10001322 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001323 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
Damien Millera7609f52002-07-25 14:40:22 +10001324 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
Damien Miller752e4e62004-04-21 12:29:13 +10001326 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
Darren Tuckerc570ff72008-09-06 18:20:57 +10001327 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
Tim Ricec5b0cb32010-03-01 15:57:42 -08001328 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
Damien Millerb405d612000-06-12 23:01:02 +10001329 # Remember, each alternative MUST END IN *, to match a version number.
1330 ;;
1331 -qnx*)
1332 case $basic_machine in
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001333 x86-* | i*86-*)
Damien Millerb405d612000-06-12 23:01:02 +10001334 ;;
1335 *)
1336 os=-nto$os
1337 ;;
1338 esac
1339 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001340 -nto-qnx*)
1341 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001342 -nto*)
Damien Miller752e4e62004-04-21 12:29:13 +10001343 os=`echo $os | sed -e 's|nto|nto-qnx|'`
Damien Millerb405d612000-06-12 23:01:02 +10001344 ;;
1345 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
Darren Tuckerc570ff72008-09-06 18:20:57 +10001346 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
Damien Millerb405d612000-06-12 23:01:02 +10001347 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348 ;;
1349 -mac*)
1350 os=`echo $os | sed -e 's|mac|macos|'`
1351 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001352 -linux-dietlibc)
1353 os=-linux-dietlibc
1354 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001355 -linux*)
1356 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357 ;;
1358 -sunos5*)
1359 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360 ;;
1361 -sunos6*)
1362 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363 ;;
1364 -opened*)
1365 os=-openedition
1366 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001367 -os400*)
1368 os=-os400
1369 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001370 -wince*)
1371 os=-wince
1372 ;;
1373 -osfrose*)
1374 os=-osfrose
1375 ;;
1376 -osf*)
1377 os=-osf
1378 ;;
1379 -utek*)
1380 os=-bsd
1381 ;;
1382 -dynix*)
1383 os=-bsd
1384 ;;
1385 -acis*)
1386 os=-aos
1387 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001388 -atheos*)
1389 os=-atheos
1390 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001391 -syllable*)
1392 os=-syllable
1393 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001394 -386bsd)
1395 os=-bsd
1396 ;;
1397 -ctix* | -uts*)
1398 os=-sysv
1399 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001400 -nova*)
1401 os=-rtmk-nova
1402 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001403 -ns2 )
Damien Millera8e06ce2003-11-21 23:48:55 +11001404 os=-nextstep2
Damien Millerb405d612000-06-12 23:01:02 +10001405 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001406 -nsk*)
Damien Millerb405d612000-06-12 23:01:02 +10001407 os=-nsk
1408 ;;
1409 # Preserve the version number of sinix5.
1410 -sinix5.*)
1411 os=`echo $os | sed -e 's|sinix|sysv|'`
1412 ;;
1413 -sinix*)
1414 os=-sysv4
1415 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001416 -tpf*)
1417 os=-tpf
1418 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001419 -triton*)
1420 os=-sysv3
1421 ;;
1422 -oss*)
1423 os=-sysv3
1424 ;;
1425 -svr4)
1426 os=-sysv4
1427 ;;
1428 -svr3)
1429 os=-sysv3
1430 ;;
1431 -sysvr4)
1432 os=-sysv4
1433 ;;
1434 # This must come after -sysvr4.
1435 -sysv*)
1436 ;;
1437 -ose*)
1438 os=-ose
1439 ;;
1440 -es1800*)
1441 os=-ose
1442 ;;
1443 -xenix)
1444 os=-xenix
1445 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001446 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447 os=-mint
Damien Millerb405d612000-06-12 23:01:02 +10001448 ;;
Damien Miller752e4e62004-04-21 12:29:13 +10001449 -aros*)
1450 os=-aros
1451 ;;
1452 -kaos*)
1453 os=-kaos
1454 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001455 -zvmoe)
1456 os=-zvmoe
1457 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001458 -dicos*)
1459 os=-dicos
1460 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -08001461 -nacl*)
1462 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001463 -none)
1464 ;;
1465 *)
1466 # Get rid of the `-' at the beginning of $os.
1467 os=`echo $os | sed 's/[^-]*-//'`
1468 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469 exit 1
1470 ;;
1471esac
1472else
1473
1474# Here we handle the default operating systems that come with various machines.
1475# The value should be what the vendor currently ships out the door with their
1476# machine or put another way, the most popular os provided with the machine.
1477
1478# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479# "-sun"), then you have to tell the case statement up towards the top
1480# that MANUFACTURER isn't an operating system. Otherwise, code above
1481# will signal an error saying that MANUFACTURER isn't an operating
1482# system, and we'll never get to this point.
1483
1484case $basic_machine in
Darren Tuckerc570ff72008-09-06 18:20:57 +10001485 score-*)
1486 os=-elf
1487 ;;
1488 spu-*)
1489 os=-elf
1490 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001491 *-acorn)
1492 os=-riscix1.2
1493 ;;
1494 arm*-rebel)
1495 os=-linux
1496 ;;
1497 arm*-semi)
1498 os=-aout
1499 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001500 c4x-* | tic4x-*)
1501 os=-coff
1502 ;;
Tim Riced069c482011-01-26 12:32:12 -08001503 tic54x-*)
1504 os=-coff
1505 ;;
1506 tic55x-*)
1507 os=-coff
1508 ;;
1509 tic6x-*)
1510 os=-coff
1511 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001512 # This must come before the *-dec entry.
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001513 pdp10-*)
1514 os=-tops20
1515 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001516 pdp11-*)
Damien Millerb405d612000-06-12 23:01:02 +10001517 os=-none
1518 ;;
1519 *-dec | vax-*)
1520 os=-ultrix4.2
1521 ;;
1522 m68*-apollo)
1523 os=-domain
1524 ;;
1525 i386-sun)
1526 os=-sunos4.0.2
1527 ;;
1528 m68000-sun)
1529 os=-sunos3
1530 # This also exists in the configure program, but was not the
1531 # default.
1532 # os=-sunos4
1533 ;;
1534 m68*-cisco)
1535 os=-aout
1536 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001537 mep-*)
1538 os=-elf
1539 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001540 mips*-cisco)
1541 os=-elf
1542 ;;
1543 mips*-*)
1544 os=-elf
1545 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001546 or32-*)
1547 os=-coff
1548 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001549 *-tti) # must be before sparc entry or we get the wrong os.
1550 os=-sysv3
1551 ;;
1552 sparc-* | *-sun)
1553 os=-sunos4.1.1
1554 ;;
1555 *-be)
1556 os=-beos
1557 ;;
Darren Tuckerc570ff72008-09-06 18:20:57 +10001558 *-haiku)
1559 os=-haiku
1560 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001561 *-ibm)
1562 os=-aix
1563 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001564 *-knuth)
1565 os=-mmixware
1566 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001567 *-wec)
1568 os=-proelf
1569 ;;
1570 *-winbond)
1571 os=-proelf
1572 ;;
1573 *-oki)
1574 os=-proelf
1575 ;;
1576 *-hp)
1577 os=-hpux
1578 ;;
1579 *-hitachi)
1580 os=-hiux
1581 ;;
1582 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583 os=-sysv
1584 ;;
1585 *-cbm)
1586 os=-amigaos
1587 ;;
1588 *-dg)
1589 os=-dgux
1590 ;;
1591 *-dolphin)
1592 os=-sysv3
1593 ;;
1594 m68k-ccur)
1595 os=-rtu
1596 ;;
1597 m88k-omron*)
1598 os=-luna
1599 ;;
1600 *-next )
1601 os=-nextstep
1602 ;;
1603 *-sequent)
1604 os=-ptx
1605 ;;
1606 *-crds)
1607 os=-unos
1608 ;;
1609 *-ns)
1610 os=-genix
1611 ;;
1612 i370-*)
1613 os=-mvs
1614 ;;
1615 *-next)
1616 os=-nextstep3
1617 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001618 *-gould)
Damien Millerb405d612000-06-12 23:01:02 +10001619 os=-sysv
1620 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001621 *-highlevel)
Damien Millerb405d612000-06-12 23:01:02 +10001622 os=-bsd
1623 ;;
1624 *-encore)
1625 os=-bsd
1626 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001627 *-sgi)
Damien Millerb405d612000-06-12 23:01:02 +10001628 os=-irix
1629 ;;
Damien Millera8e06ce2003-11-21 23:48:55 +11001630 *-siemens)
Damien Millerb405d612000-06-12 23:01:02 +10001631 os=-sysv4
1632 ;;
1633 *-masscomp)
1634 os=-rtu
1635 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001636 f30[01]-fujitsu | f700-fujitsu)
Damien Millerb405d612000-06-12 23:01:02 +10001637 os=-uxpv
1638 ;;
1639 *-rom68k)
1640 os=-coff
1641 ;;
1642 *-*bug)
1643 os=-coff
1644 ;;
1645 *-apple)
1646 os=-macos
1647 ;;
1648 *-atari*)
1649 os=-mint
1650 ;;
1651 *)
1652 os=-none
1653 ;;
1654esac
1655fi
1656
1657# Here we handle the case where we know the os, and the CPU type, but not the
1658# manufacturer. We pick the logical manufacturer.
1659vendor=unknown
1660case $basic_machine in
1661 *-unknown)
1662 case $os in
1663 -riscix*)
1664 vendor=acorn
1665 ;;
1666 -sunos*)
1667 vendor=sun
1668 ;;
Tim Ricec5b0cb32010-03-01 15:57:42 -08001669 -cnk*|-aix*)
Damien Millerb405d612000-06-12 23:01:02 +10001670 vendor=ibm
1671 ;;
1672 -beos*)
1673 vendor=be
1674 ;;
1675 -hpux*)
1676 vendor=hp
1677 ;;
1678 -mpeix*)
1679 vendor=hp
1680 ;;
1681 -hiux*)
1682 vendor=hitachi
1683 ;;
1684 -unos*)
1685 vendor=crds
1686 ;;
1687 -dgux*)
1688 vendor=dg
1689 ;;
1690 -luna*)
1691 vendor=omron
1692 ;;
1693 -genix*)
1694 vendor=ns
1695 ;;
1696 -mvs* | -opened*)
1697 vendor=ibm
1698 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001699 -os400*)
1700 vendor=ibm
1701 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001702 -ptx*)
1703 vendor=sequent
1704 ;;
Tim Rice5f707582005-06-01 19:57:45 -07001705 -tpf*)
1706 vendor=ibm
1707 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001708 -vxsim* | -vxworks* | -windiss*)
Damien Millerb405d612000-06-12 23:01:02 +10001709 vendor=wrs
1710 ;;
1711 -aux*)
1712 vendor=apple
1713 ;;
1714 -hms*)
1715 vendor=hitachi
1716 ;;
1717 -mpw* | -macos*)
1718 vendor=apple
1719 ;;
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001720 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
Damien Millerb405d612000-06-12 23:01:02 +10001721 vendor=atari
1722 ;;
Damien Millera7609f52002-07-25 14:40:22 +10001723 -vos*)
1724 vendor=stratus
1725 ;;
Damien Millerb405d612000-06-12 23:01:02 +10001726 esac
1727 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728 ;;
1729esac
1730
1731echo $basic_machine$os
Tim Rice5f707582005-06-01 19:57:45 -07001732exit
Damien Millerb405d612000-06-12 23:01:02 +10001733
1734# Local variables:
1735# eval: (add-hook 'write-file-hooks 'time-stamp)
Damien Miller5bf5f2c2001-05-06 10:54:15 +10001736# time-stamp-start: "timestamp='"
Damien Millerb405d612000-06-12 23:01:02 +10001737# time-stamp-format: "%:y-%02m-%02d"
1738# time-stamp-end: "'"
1739# End: