~ubuntu-branches/ubuntu/feisty/libdebian-installer/feisty

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