build-scripts/config.sub
author Sam Lantinga <slouken@libsdl.org>
Sun, 17 Aug 2014 14:57:52 -0700
changeset 9086 c5e33f9a0d03
parent 8984 bbc802ae0ada
child 9278 8900afb78a19
permissions -rw-r--r--
Fixed bug 2655 - OSX: Window position and global mouse coord spaces are different

Tim McDaniel

On OSX, with revision 8729, the coordinate space for window position and the coordinate space for global mouse position don't match. For a non-fullscreen window, the window position is global relative to the bottom of the menubar. The global mouse position is relative to the top of the screen. This affects Cocoa_WarpMouse and potentially other things as well. Further, the coordinate system for window position is now affected by what screen it is on. For example, if I have two equal size screens oriented side by side such that the tops of the screens are equal in global space, with the menubar on one screen, and a window straddles the two screens, the window's y position makes no sense. The window's y position depends on what screen "most" of the window is on. So if I move the window horizontally just a bit, the y position of my window is now different by the size of the menubar, even though the window was not moved vertically.

I'd like to reiterate that this was a fairly fundamental change (and a breaking change for us). If SDL OSX is to really support multi-display configurations, this is especially problematic.

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