scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:53:32 2012 +0100 (2012-12-27)
changeset 3153 f6740f9e42de
parent 3064 7df954dd93df
child 3156 006736cdb4e5
permissions -rwxr-xr-x
scripts/addToolsVersion: handle elf2flt

The one was missing from the list.

It is very improbable that we ever need it, as elf2flt does no release,
and we always get it from CVS head. But for the sake of consistency, we
just add it.

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