Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#! /bin/sh
2
# Configuration validation subroutine script, version 1.1.
3
#   Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
4
# This file is (in principle) common to ALL GNU software.
5
# The presence of a machine in this file suggests that SOME GNU software
6
# can handle that machine.  It does not imply ALL GNU software can.
7
#
8
# This file is free software; you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place - Suite 330,
21
# Boston, MA 02111-1307, USA.
22
 
23
# As a special exception to the GNU General Public License, if you
24
# distribute this file as part of a program that contains a
25
# configuration script generated by Autoconf, you may include it under
26
# the same distribution terms that you use for the rest of that program.
27
 
28
# Configuration subroutine to validate and canonicalize a configuration type.
29
# Supply the specified configuration type as an argument.
30
# If it is invalid, we print an error message on stderr and exit with code 1.
31
# Otherwise, we print the canonical config type on stdout and succeed.
32
 
33
# This file is supposed to be the same for all GNU packages
34
# and recognize all the CPU types, system types and aliases
35
# that are meaningful with *any* GNU software.
36
# Each package is responsible for reporting which valid configurations
37
# it does not support.  The user should be able to distinguish
38
# a failure to support a valid configuration from a meaningless
39
# configuration.
40
 
41
# The goal of this file is to map all the various variations of a given
42
# machine specification into a single specification in the form:
43
#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
44
# or in some cases, the newer four-part form:
45
#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
46
# It is wrong to echo any other type of specification.
47
 
48
if [ x$1 = x ]
49
then
50
	echo Configuration name missing. 1>&2
51
	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
52
	echo "or     $0 ALIAS" 1>&2
53
	echo where ALIAS is a recognized configuration type. 1>&2
54
	exit 1
55
fi
56
 
57
# First pass through any local machine types.
58
case $1 in
59
	*local*)
60
		echo $1
61
		exit 0
62
		;;
63
	*)
64
	;;
65
esac
66
 
67
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
68
# Here we must recognize all the valid KERNEL-OS combinations.
69
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
70
case $maybe_os in
71
  linux-gnu*)
72
    os=-$maybe_os
73
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
74
    ;;
75
  *)
76
    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
77
    if [ $basic_machine != $1 ]
78
    then os=`echo $1 | sed 's/.*-/-/'`
79
    else os=; fi
80
    ;;
81
esac
82
 
83
### Let's recognize common machines as not being operating systems so
84
### that things like config.sub decstation-3100 work.  We also
85
### recognize some manufacturers as not being operating systems, so we
86
### can provide default operating systems below.
87
case $os in
88
	-sun*os*)
89
		# Prevent following clause from handling this invalid input.
90
		;;
91
	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
92
	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
93
	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
94
	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
95
	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
96
	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
97
	-apple)
98
		os=
99
		basic_machine=$1
100
		;;
101
	-hiux*)
102
		os=-hiuxwe2
103
		;;
104
	-sco5)
105
		os=sco3.2v5
106
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
107
		;;
108
	-sco4)
109
		os=-sco3.2v4
110
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
111
		;;
112
	-sco3.2.[4-9]*)
113
		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
114
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
115
		;;
116
	-sco3.2v[4-9]*)
117
		# Don't forget version if it is 3.2v4 or newer.
118
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
119
		;;
120
	-sco*)
121
		os=-sco3.2v2
122
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
123
		;;
124
	-isc)
125
		os=-isc2.2
126
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
127
		;;
128
	-clix*)
129
		basic_machine=clipper-intergraph
130
		;;
131
	-isc*)
132
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
133
		;;
134
	-lynx*)
135
		os=-lynxos
136
		;;
137
	-ptx*)
138
		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
139
		;;
140
	-windowsnt*)
141
		os=`echo $os | sed -e 's/windowsnt/winnt/'`
142
		;;
143
	-psos*)
144
		os=-psos
145
		;;
146
esac
147
 
148
# Decode aliases for certain CPU-COMPANY combinations.
149
case $basic_machine in
150
	# Recognize the basic CPU types without company name.
151
	# Some are omitted here because they have special meanings below.
152
	tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
153
		| arme[lb] | pyramid | mn10200 | mn10300 \
154
		| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
155
		| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
156
		| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
157
		| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
158
		| mipstx39 | mipstx39el \
159
		| sparc | sparclet | sparclite | sparc64 | v850)
160
		basic_machine=$basic_machine-unknown
161
		;;
162
	# We use `pc' rather than `unknown'
163
	# because (1) that's what they normally are, and
164
	# (2) the word "unknown" tends to confuse beginning users.
165
	i[3456]86)
166
	  basic_machine=$basic_machine-pc
167
	  ;;
168
	# Object if more than one company name word.
169
	*-*-*)
170
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
171
		exit 1
172
		;;
173
	# Recognize the basic CPU types with company name.
174
	vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
175
	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
176
	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
177
	      | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
178
	      | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
179
	      | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
180
	      | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
181
	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
182
	      | sparc64-* | mips64-* | mipsel-* \
183
	      | mips64el-* | mips64orion-* | mips64orionel-*  \
184
	      | mipstx39-* | mipstx39el-* \
185
	      | f301-*)
186
		;;
187
	# Recognize the various machine names and aliases which stand
188
	# for a CPU type and a company and sometimes even an OS.
189
	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
190
		basic_machine=m68000-att
191
		;;
192
	3b*)
193
		basic_machine=we32k-att
194
		;;
195
	alliant | fx80)
196
		basic_machine=fx80-alliant
197
		;;
198
	altos | altos3068)
199
		basic_machine=m68k-altos
200
		;;
201
	am29k)
202
		basic_machine=a29k-none
203
		os=-bsd
204
		;;
205
	amdahl)
206
		basic_machine=580-amdahl
207
		os=-sysv
208
		;;
209
	amiga | amiga-*)
210
		basic_machine=m68k-cbm
211
		;;
212
	amigaos | amigados)
213
		basic_machine=m68k-cbm
214
		os=-amigaos
215
		;;
216
	amigaunix | amix)
217
		basic_machine=m68k-cbm
218
		os=-sysv4
219
		;;
220
	apollo68)
221
		basic_machine=m68k-apollo
222
		os=-sysv
223
		;;
224
	aux)
225
		basic_machine=m68k-apple
226
		os=-aux
227
		;;
228
	balance)
229
		basic_machine=ns32k-sequent
230
		os=-dynix
231
		;;
232
	convex-c1)
233
		basic_machine=c1-convex
234
		os=-bsd
235
		;;
236
	convex-c2)
237
		basic_machine=c2-convex
238
		os=-bsd
239
		;;
240
	convex-c32)
241
		basic_machine=c32-convex
242
		os=-bsd
243
		;;
244
	convex-c34)
245
		basic_machine=c34-convex
246
		os=-bsd
247
		;;
248
	convex-c38)
249
		basic_machine=c38-convex
250
		os=-bsd
251
		;;
252
	cray | ymp)
253
		basic_machine=ymp-cray
254
		os=-unicos
255
		;;
256
	cray2)
257
		basic_machine=cray2-cray
258
		os=-unicos
259
		;;
260
	[ctj]90-cray)
261
		basic_machine=c90-cray
262
		os=-unicos
263
		;;
264
	crds | unos)
265
		basic_machine=m68k-crds
266
		;;
267
	da30 | da30-*)
268
		basic_machine=m68k-da30
269
		;;
270
	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
271
		basic_machine=mips-dec
272
		;;
273
	delta | 3300 | motorola-3300 | motorola-delta \
274
	      | 3300-motorola | delta-motorola)
275
		basic_machine=m68k-motorola
276
		;;
277
	delta88)
278
		basic_machine=m88k-motorola
279
		os=-sysv3
280
		;;
281
	dpx20 | dpx20-*)
282
		basic_machine=rs6000-bull
283
		os=-bosx
284
		;;
285
	dpx2* | dpx2*-bull)
286
		basic_machine=m68k-bull
287
		os=-sysv3
288
		;;
289
	ebmon29k)
290
		basic_machine=a29k-amd
291
		os=-ebmon
292
		;;
293
	elxsi)
294
		basic_machine=elxsi-elxsi
295
		os=-bsd
296
		;;
297
	encore | umax | mmax)
298
		basic_machine=ns32k-encore
299
		;;
300
	fx2800)
301
		basic_machine=i860-alliant
302
		;;
303
	genix)
304
		basic_machine=ns32k-ns
305
		;;
306
	gmicro)
307
		basic_machine=tron-gmicro
308
		os=-sysv
309
		;;
310
	h3050r* | hiux*)
311
		basic_machine=hppa1.1-hitachi
312
		os=-hiuxwe2
313
		;;
314
	h8300hms)
315
		basic_machine=h8300-hitachi
316
		os=-hms
317
		;;
318
	harris)
319
		basic_machine=m88k-harris
320
		os=-sysv3
321
		;;
322
	hp300-*)
323
		basic_machine=m68k-hp
324
		;;
325
	hp300bsd)
326
		basic_machine=m68k-hp
327
		os=-bsd
328
		;;
329
	hp300hpux)
330
		basic_machine=m68k-hp
331
		os=-hpux
332
		;;
333
	hp9k2[0-9][0-9] | hp9k31[0-9])
334
		basic_machine=m68000-hp
335
		;;
336
	hp9k3[2-9][0-9])
337
		basic_machine=m68k-hp
338
		;;
339
	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
340
		basic_machine=hppa1.1-hp
341
		;;
342
	hp9k8[0-9][0-9] | hp8[0-9][0-9])
343
		basic_machine=hppa1.0-hp
344
		;;
345
	hppa-next)
346
		os=-nextstep3
347
		;;
348
	i370-ibm* | ibm*)
349
		basic_machine=i370-ibm
350
		os=-mvs
351
		;;
352
# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
353
	i[3456]86v32)
354
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
355
		os=-sysv32
356
		;;
357
	i[3456]86v4*)
358
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
359
		os=-sysv4
360
		;;
361
	i[3456]86v)
362
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
363
		os=-sysv
364
		;;
365
	i[3456]86sol2)
366
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
367
		os=-solaris2
368
		;;
369
	iris | iris4d)
370
		basic_machine=mips-sgi
371
		case $os in
372
		    -irix*)
373
			;;
374
		    *)
375
			os=-irix4
376
			;;
377
		esac
378
		;;
379
	isi68 | isi)
380
		basic_machine=m68k-isi
381
		os=-sysv
382
		;;
383
	m88k-omron*)
384
		basic_machine=m88k-omron
385
		;;
386
	magnum | m3230)
387
		basic_machine=mips-mips
388
		os=-sysv
389
		;;
390
	merlin)
391
		basic_machine=ns32k-utek
392
		os=-sysv
393
		;;
394
	miniframe)
395
		basic_machine=m68000-convergent
396
		;;
397
	mipsel*-linux*)
398
		basic_machine=mipsel-unknown
399
		os=-linux-gnu
400
		;;
401
	mips*-linux*)
402
		basic_machine=mips-unknown
403
		os=-linux-gnu
404
		;;
405
	mips3*-*)
406
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
407
		;;
408
	mips3*)
409
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
410
		;;
411
	ncr3000)
412
		basic_machine=i486-ncr
413
		os=-sysv4
414
		;;
415
	news | news700 | news800 | news900)
416
		basic_machine=m68k-sony
417
		os=-newsos
418
		;;
419
	news1000)
420
		basic_machine=m68030-sony
421
		os=-newsos
422
		;;
423
	news-3600 | risc-news)
424
		basic_machine=mips-sony
425
		os=-newsos
426
		;;
427
	next | m*-next )
428
		basic_machine=m68k-next
429
		case $os in
430
		    -nextstep* )
431
			;;
432
		    -ns2*)
433
		      os=-nextstep2
434
			;;
435
		    *)
436
		      os=-nextstep3
437
			;;
438
		esac
439
		;;
440
	nh3000)
441
		basic_machine=m68k-harris
442
		os=-cxux
443
		;;
444
	nh[45]000)
445
		basic_machine=m88k-harris
446
		os=-cxux
447
		;;
448
	nindy960)
449
		basic_machine=i960-intel
450
		os=-nindy
451
		;;
452
	np1)
453
		basic_machine=np1-gould
454
		;;
455
	pa-hitachi)
456
		basic_machine=hppa1.1-hitachi
457
		os=-hiuxwe2
458
		;;
459
	paragon)
460
		basic_machine=i860-intel
461
		os=-osf
462
		;;
463
	pbd)
464
		basic_machine=sparc-tti
465
		;;
466
	pbb)
467
		basic_machine=m68k-tti
468
		;;
469
        pc532 | pc532-*)
470
		basic_machine=ns32k-pc532
471
		;;
472
	pentium | p5)
473
		basic_machine=i586-intel
474
		;;
475
	pentiumpro | p6)
476
		basic_machine=i686-intel
477
		;;
478
	pentium-* | p5-*)
479
		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
480
		;;
481
	pentiumpro-* | p6-*)
482
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
483
		;;
484
	k5)
485
		# We don't have specific support for AMD's K5 yet, so just call it a Pentium
486
		basic_machine=i586-amd
487
		;;
488
	nexen)
489
		# We don't have specific support for Nexgen yet, so just call it a Pentium
490
		basic_machine=i586-nexgen
491
		;;
492
	pn)
493
		basic_machine=pn-gould
494
		;;
495
	power)	basic_machine=rs6000-ibm
496
		;;
497
	ppc)	basic_machine=powerpc-unknown
498
	        ;;
499
	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
500
		;;
501
	ppcle | powerpclittle | ppc-le | powerpc-little)
502
		basic_machine=powerpcle-unknown
503
	        ;;
504
	ppcle-* | powerpclittle-*)
505
		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
506
		;;
507
	ps2)
508
		basic_machine=i386-ibm
509
		;;
510
	rm[46]00)
511
		basic_machine=mips-siemens
512
		;;
513
	rtpc | rtpc-*)
514
		basic_machine=romp-ibm
515
		;;
516
	sequent)
517
		basic_machine=i386-sequent
518
		;;
519
	sh)
520
		basic_machine=sh-hitachi
521
		os=-hms
522
		;;
523
	sps7)
524
		basic_machine=m68k-bull
525
		os=-sysv2
526
		;;
527
	spur)
528
		basic_machine=spur-unknown
529
		;;
530
	sun2)
531
		basic_machine=m68000-sun
532
		;;
533
	sun2os3)
534
		basic_machine=m68000-sun
535
		os=-sunos3
536
		;;
537
	sun2os4)
538
		basic_machine=m68000-sun
539
		os=-sunos4
540
		;;
541
	sun3os3)
542
		basic_machine=m68k-sun
543
		os=-sunos3
544
		;;
545
	sun3os4)
546
		basic_machine=m68k-sun
547
		os=-sunos4
548
		;;
549
	sun4os3)
550
		basic_machine=sparc-sun
551
		os=-sunos3
552
		;;
553
	sun4os4)
554
		basic_machine=sparc-sun
555
		os=-sunos4
556
		;;
557
	sun4sol2)
558
		basic_machine=sparc-sun
559
		os=-solaris2
560
		;;
561
	sun3 | sun3-*)
562
		basic_machine=m68k-sun
563
		;;
564
	sun4)
565
		basic_machine=sparc-sun
566
		;;
567
	sun386 | sun386i | roadrunner)
568
		basic_machine=i386-sun
569
		;;
570
	symmetry)
571
		basic_machine=i386-sequent
572
		os=-dynix
573
		;;
574
	tx39)
575
		basic_machine=mipstx39-unknown
576
		;;
577
	tx39el)
578
		basic_machine=mipstx39el-unknown
579
		;;
580
	tower | tower-32)
581
		basic_machine=m68k-ncr
582
		;;
583
	udi29k)
584
		basic_machine=a29k-amd
585
		os=-udi
586
		;;
587
	ultra3)
588
		basic_machine=a29k-nyu
589
		os=-sym1
590
		;;
591
	vaxv)
592
		basic_machine=vax-dec
593
		os=-sysv
594
		;;
595
	vms)
596
		basic_machine=vax-dec
597
		os=-vms
598
		;;
599
	vpp*|vx|vx-*)
600
               basic_machine=f301-fujitsu
601
               ;;
602
	vxworks960)
603
		basic_machine=i960-wrs
604
		os=-vxworks
605
		;;
606
	vxworks68)
607
		basic_machine=m68k-wrs
608
		os=-vxworks
609
		;;
610
	vxworks29k)
611
		basic_machine=a29k-wrs
612
		os=-vxworks
613
		;;
614
	xmp)
615
		basic_machine=xmp-cray
616
		os=-unicos
617
		;;
618
        xps | xps100)
619
		basic_machine=xps100-honeywell
620
		;;
621
	none)
622
		basic_machine=none-none
623
		os=-none
624
		;;
625
 
626
# Here we handle the default manufacturer of certain CPU types.  It is in
627
# some cases the only manufacturer, in others, it is the most popular.
628
	mips)
629
		if [ x$os = x-linux-gnu ]; then
630
			basic_machine=mips-unknown
631
		else
632
			basic_machine=mips-mips
633
		fi
634
		;;
635
	romp)
636
		basic_machine=romp-ibm
637
		;;
638
	rs6000)
639
		basic_machine=rs6000-ibm
640
		;;
641
	vax)
642
		basic_machine=vax-dec
643
		;;
644
	pdp11)
645
		basic_machine=pdp11-dec
646
		;;
647
	we32k)
648
		basic_machine=we32k-att
649
		;;
650
	sparc)
651
		basic_machine=sparc-sun
652
		;;
653
        cydra)
654
		basic_machine=cydra-cydrome
655
		;;
656
	orion)
657
		basic_machine=orion-highlevel
658
		;;
659
	orion105)
660
		basic_machine=clipper-highlevel
661
		;;
662
	*)
663
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
664
		exit 1
665
		;;
666
esac
667
 
668
# Here we canonicalize certain aliases for manufacturers.
669
case $basic_machine in
670
	*-digital*)
671
		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
672
		;;
673
	*-commodore*)
674
		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
675
		;;
676
	*)
677
		;;
678
esac
679
 
680
# Decode manufacturer-specific aliases for certain operating systems.
681
 
682
if [ x"$os" != x"" ]
683
then
684
case $os in
685
        # First match some system type aliases
686
        # that might get confused with valid system types.
687
	# -solaris* is a basic system type, with this one exception.
688
	-solaris1 | -solaris1.*)
689
		os=`echo $os | sed -e 's|solaris1|sunos4|'`
690
		;;
691
	-solaris)
692
		os=-solaris2
693
		;;
694
	-svr4*)
695
		os=-sysv4
696
		;;
697
	-unixware*)
698
		os=-sysv4.2uw
699
		;;
700
	-gnu/linux*)
701
		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
702
		;;
703
	# First accept the basic system types.
704
	# The portable systems comes first.
705
	# Each alternative MUST END IN A *, to match a version number.
706
	# -sysv* is not here because it comes later, after sysvr4.
707
	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
708
	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
709
	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
710
	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
711
	      | -aos* \
712
	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
713
	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
714
	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
715
	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
716
	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
717
	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
718
	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
719
	      | -mingw32* | -linux-gnu* | -uxpv*)
720
	# Remember, each alternative MUST END IN *, to match a version number.
721
		;;
722
	-linux*)
723
		os=`echo $os | sed -e 's|linux|linux-gnu|'`
724
		;;
725
	-sunos5*)
726
		os=`echo $os | sed -e 's|sunos5|solaris2|'`
727
		;;
728
	-sunos6*)
729
		os=`echo $os | sed -e 's|sunos6|solaris3|'`
730
		;;
731
	-osfrose*)
732
		os=-osfrose
733
		;;
734
	-osf*)
735
		os=-osf
736
		;;
737
	-utek*)
738
		os=-bsd
739
		;;
740
	-dynix*)
741
		os=-bsd
742
		;;
743
	-acis*)
744
		os=-aos
745
		;;
746
	-ctix* | -uts*)
747
		os=-sysv
748
		;;
749
	-ns2 )
750
	        os=-nextstep2
751
		;;
752
	# Preserve the version number of sinix5.
753
	-sinix5.*)
754
		os=`echo $os | sed -e 's|sinix|sysv|'`
755
		;;
756
	-sinix*)
757
		os=-sysv4
758
		;;
759
	-triton*)
760
		os=-sysv3
761
		;;
762
	-oss*)
763
		os=-sysv3
764
		;;
765
	-svr4)
766
		os=-sysv4
767
		;;
768
	-svr3)
769
		os=-sysv3
770
		;;
771
	-sysvr4)
772
		os=-sysv4
773
		;;
774
	# This must come after -sysvr4.
775
	-sysv*)
776
		;;
777
	-xenix)
778
		os=-xenix
779
		;;
780
	-none)
781
		;;
782
	*)
783
		# Get rid of the `-' at the beginning of $os.
784
		os=`echo $os | sed 's/[^-]*-//'`
785
		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
786
		exit 1
787
		;;
788
esac
789
else
790
 
791
# Here we handle the default operating systems that come with various machines.
792
# The value should be what the vendor currently ships out the door with their
793
# machine or put another way, the most popular os provided with the machine.
794
 
795
# Note that if you're going to try to match "-MANUFACTURER" here (say,
796
# "-sun"), then you have to tell the case statement up towards the top
797
# that MANUFACTURER isn't an operating system.  Otherwise, code above
798
# will signal an error saying that MANUFACTURER isn't an operating
799
# system, and we'll never get to this point.
800
 
801
case $basic_machine in
802
	*-acorn)
803
		os=-riscix1.2
804
		;;
805
	arm*-semi)
806
		os=-aout
807
		;;
808
        pdp11-*)
809
		os=-none
810
		;;
811
	*-dec | vax-*)
812
		os=-ultrix4.2
813
		;;
814
	m68*-apollo)
815
		os=-domain
816
		;;
817
	i386-sun)
818
		os=-sunos4.0.2
819
		;;
820
	m68000-sun)
821
		os=-sunos3
822
		# This also exists in the configure program, but was not the
823
		# default.
824
		# os=-sunos4
825
		;;
826
	*-tti)	# must be before sparc entry or we get the wrong os.
827
		os=-sysv3
828
		;;
829
	sparc-* | *-sun)
830
		os=-sunos4.1.1
831
		;;
832
	*-ibm)
833
		os=-aix
834
		;;
835
	*-hp)
836
		os=-hpux
837
		;;
838
	*-hitachi)
839
		os=-hiux
840
		;;
841
	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
842
		os=-sysv
843
		;;
844
	*-cbm)
845
		os=-amigaos
846
		;;
847
	*-dg)
848
		os=-dgux
849
		;;
850
	*-dolphin)
851
		os=-sysv3
852
		;;
853
	m68k-ccur)
854
		os=-rtu
855
		;;
856
	m88k-omron*)
857
		os=-luna
858
		;;
859
	*-next )
860
		os=-nextstep
861
		;;
862
	*-sequent)
863
		os=-ptx
864
		;;
865
	*-crds)
866
		os=-unos
867
		;;
868
	*-ns)
869
		os=-genix
870
		;;
871
	i370-*)
872
		os=-mvs
873
		;;
874
	*-next)
875
		os=-nextstep3
876
		;;
877
        *-gould)
878
		os=-sysv
879
		;;
880
        *-highlevel)
881
		os=-bsd
882
		;;
883
	*-encore)
884
		os=-bsd
885
		;;
886
        *-sgi)
887
		os=-irix
888
		;;
889
        *-siemens)
890
		os=-sysv4
891
		;;
892
	*-masscomp)
893
		os=-rtu
894
		;;
895
	f301-fujitsu)
896
		os=-uxpv
897
		;;
898
	*)
899
		os=-none
900
		;;
901
esac
902
fi
903
 
904
# Here we handle the case where we know the os, and the CPU type, but not the
905
# manufacturer.  We pick the logical manufacturer.
906
vendor=unknown
907
case $basic_machine in
908
	*-unknown)
909
		case $os in
910
			-riscix*)
911
				vendor=acorn
912
				;;
913
			-sunos*)
914
				vendor=sun
915
				;;
916
			-aix*)
917
				vendor=ibm
918
				;;
919
			-hpux*)
920
				vendor=hp
921
				;;
922
			-hiux*)
923
				vendor=hitachi
924
				;;
925
			-unos*)
926
				vendor=crds
927
				;;
928
			-dgux*)
929
				vendor=dg
930
				;;
931
			-luna*)
932
				vendor=omron
933
				;;
934
			-genix*)
935
				vendor=ns
936
				;;
937
			-mvs*)
938
				vendor=ibm
939
				;;
940
			-ptx*)
941
				vendor=sequent
942
				;;
943
			-vxsim* | -vxworks*)
944
				vendor=wrs
945
				;;
946
			-aux*)
947
				vendor=apple
948
				;;
949
		esac
950
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
951
		;;
952
esac
953
 
954
echo $basic_machine$os