scripts/config.sub
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sun May 11 23:43:52 2014 +0200 (2014-05-11)
changeset 3320 78af1c99bc6d
parent 3260 f43e37c7c047
permissions -rwxr-xr-x
scripts/functions: add target_endian_le and target_endian_be

We currently define target_endian_el and target_endian_eb to be the
tuple extension depending on endianness, defined to be respectively
'el' or 'eb' according to the endianness.

Some architecture do not use 'el' or 'eb', but use 'le' or 'be'.

Provide that as well, as two new variables: target_endian_le and
target_endian_be.

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