source: trunk/autoconf/config.guess @ 337

Last change on this file since 337 was 337, checked in by kulshres, 9 years ago

Merge branch 'master' of 'gitclone' into svn

It may require some work for hessian patterns and advector to work
properly, since they were changed simultaneously by Andrea and I

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

The following commits were merged:

commit aeb288e939c7657aeaf75a8cbb833f9096ee2ce0
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Aug 6 16:46:20 2012 +0200

correct compilation error in message printing

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 0d6e681b19d116bf0aca1d918fb567aed49e1766
Author: Benjamin Letschert <letschi@…>
Date: Tue May 29 15:53:45 2012 +0200

for floor_op and ceil_op in INDO+TIGHT mode ind_dom should be set zero

commit 35689c69c49e02fb1b211e4f873851ce734c839e
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri May 4 16:34:49 2012 +0200

add a comment for clarification

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 710b93301d98610239f17dc40ba8cba6651f2ea5
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri May 4 14:21:49 2012 +0200

add copyright notices

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 830f2cc75ba823c2343f4a524eb3e90ab02bc278
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu May 3 13:59:32 2012 +0200

Use the block allocation and don't write all locations to tape

Now that we ensure block structure while allocating an advector
we don't need to write all locations to tape in order to do
subscripting operations. We can use arithmetic.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 8599c889e5cd684a7066600835df5f0c033eb339
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu May 3 13:57:39 2012 +0200

Allocate advector ensuring contiguous locations

use a dummy blocker to call the function before calling the vector
constructor. Also use the fill constructor since the initialise
constructor is experimental (for some reason) and a fill constructor
is called internally by gcc anyway. This way we won't have to ensure a
n+1 block and get holes.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit d62777e6070cf8b80b7b32616a874186e6463919
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu May 3 13:50:48 2012 +0200

Always put the last freed block to the front

This will make it efficienter if a block is deallocated right
one after the other. There will only be a search the first time
and all others will just work with the front of the list.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 33ae71a35fc04da062c4ba85659cbaf474caf1b8
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri Apr 27 17:36:41 2012 +0200

changes in StoreManagemerLocintBlock? to make it work right

add StoreManagerLocintBlock? to be the default StoreManager? in
tape_handling.cpp

All existing ADOL-C programs need to be tested again.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit af30b922ee0a267555fdcdfe66d0823aa98688be
Author: Benjamin Letschert <letschi@…>
Date: Fri Apr 27 13:09:56 2012 +0200

Adding new storem anagement StoreManagerLocintBlock? to storemanager.h
and to tape_handling.cpp

commit 7875317a03b08a2729879edfaec7ae5cd1363ef2
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Feb 29 08:49:25 2012 +0100

convert tape stats to size_t from uint

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 11e535ae503f5961d0c62336d6942c96e4b7c3ba
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Jan 12 13:22:27 2012 +0100

Revert "add missing arguments to ext_fct calls"

This reverts commit 00622f92b5444e81f0c3760eeee0e14d4e8e4787.

This was temporary and wasn't supposed to be uploaded, some parts will
go into trunk.

commit 37ca7b37f3538153054dee40d3a75d560b3aa81f
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Jan 12 13:21:13 2012 +0100

Revert "add safeguards and indo mode to ext_diff"

This reverts commit 507df83d988e3d64848eb0350369094b0b2ce742.

This was temporary for debugging and wasn't supposed to be uploaded

commit 507df83d988e3d64848eb0350369094b0b2ce742
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Sat Dec 31 23:46:23 2011 +0100

add safeguards and indo mode to ext_diff

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 00622f92b5444e81f0c3760eeee0e14d4e8e4787
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Sat Dec 31 00:47:17 2011 +0100

add missing arguments to ext_fct calls

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 1c1c7347867e583509716f7e2a8395875d0e3d53
Author: Benjamin Letschert <letschi@…>
Date: Fri Dec 16 14:18:24 2011 +0100

Bugfix in copy_index_domain

commit 69df20b8f0240e80515c7f0df456f124cef70cf8
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Dec 5 11:32:58 2011 +0100

shift around some code and add another constructor

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit b2c13089d4f5b45e7626e04c17b2f7bee08adc6a
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 29 17:29:47 2011 +0100

const no more needed after last bugfix

add check for gradient w.r.t. rhs vector.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 78ea1e83eb17163fa0703e7b2b289659c4c6d42b
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Nov 28 17:13:23 2011 +0100

bugfix in reverse mode during ref_copyout

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 3a7c70061118c89ad66afeec45d957dbdaf002b3
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Nov 28 17:12:39 2011 +0100

Add one more assignment operator

this one is used when an adubref is copied into another adubref
as in from one advector to another advector, as this needs taping
however we don't need to override copy-constructor, because
construction can only be done when returning adubref.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 9c150d9aa825cf1e5964cd15c7d38b9a34984fce
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri Nov 25 12:49:14 2011 +0100

changed aTmp*TRES to (aTmp==0)?0:(aTmp*TRES) and similar occurences to avoid nans by 0*inf

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 0efabbcb41d8b17f0fe55a35ca63ba93913bccbe
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri Nov 25 12:32:36 2011 +0100

compile with -std=gnu99 to get both _GNU_SOURCE and _ISOC99_SOURCE

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 45fa79bd4d8ae0f4ef1e39b32f96271134e886f5
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Fri Nov 25 12:20:02 2011 +0100

cast result of trunc to avoid warnings

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit b97ae47a80f7c0034b8f29d14656f75abcd51b4d
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 24 17:53:11 2011 +0100

counting down with unsigned variables is dangerous

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 5dd6a95ce0403f9ac4b262a9546f86e95a5489ac
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 24 17:52:40 2011 +0100

reverse the order of indep vars and add reverse call

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 2d794980215e1ae41af0e3cc6ed8a5e97507a2f7
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 24 17:49:25 2011 +0100

Add functions to print L and R and compute scalar product

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 889d35f671f2d2eea4dda182b0d903746994fbcd
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Thu Nov 24 17:47:31 2011 +0100

bugfixes in luexam

use less adoubles, loop variables for constant sized loops should
remain inactive size_t. counting down with size_t is bad.

const-ness of advectors matters during active subscripting,
espacially when the lhs is a subscripted advector too, unless
there is a expression involving badouble on the rhs.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 0dadd11bf743e7283a26613c1503778c6997654a
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Nov 23 17:18:05 2011 +0100

tweak the example a bit

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 898afff0d43d86941125dd2e71857c619e3f28a4
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Nov 23 17:17:43 2011 +0100

If location buffer must contain n+2 free spaces

in case location buffer goes onto disk then check and write that
block before doing a subscript operation
if location buffer is smaller than n+2 then we cannot continue.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 1c2e4771972f0ce4db38bd959c23d18c061be568
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Nov 23 15:38:50 2011 +0100

one more cast

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 71b506ae55f8d6754f5c2a1f800220cb5a5bb974
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Nov 23 15:27:53 2011 +0100

Compilation fixes for sparse configuration

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 73334f20d51e707ee709a3602060aa3351dc6c29
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 22 18:23:37 2011 +0100

add an example that uses advector with permutations

Lu factorization with pivoting is implemented here. The same traced
procedure can be used for different matrices that require different
pivots.

Zos_forward has been verified, WIP to verify derivatives.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit c54da9e8cd03e99d9362cc1a7eb551101b5a4cb8
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 22 18:20:35 2011 +0100

some more inline helpers for advector

the destructor need not contain anything.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit d403b2d2b7e591db7c353c8c3ce551e7d6174df0
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 22 18:19:58 2011 +0100

implement condassign for adubref

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 696e18b5dcf9534f7609243f085a508fba178b6c
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Nov 22 18:19:09 2011 +0100

bugfix in -= operator for adubref

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit b7dd8285c6fe8262d07d0a5393c15bcca7eeae96
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Nov 21 13:47:48 2011 +0100

implement reference operations in forward and reverse mode

the referenced location is recorded in the taylor buffer of the
reference variable, and read from the taylor buffer before any
operation is performed. The operations are then performed directly
on the referenced location.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit d546c517676a42065a98df782898f9e3472836b2
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Nov 21 13:45:49 2011 +0100

add new operations for the tape to work with references

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 07508c193f53c6c5912485dcb517ca7c67b75234
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Mon Nov 21 13:45:17 2011 +0100

Add a class to work as a reference to adouble and adub

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit e60d733c951a8a1d621a1401744fa03db78e9b92
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Mar 2 15:32:28 2011 +0100

introduce active subscript operation in forward and reverse

subscript operation as previously defined on advector was not quite
correct in case of computed index that changed while being evaluated
from tape. In this case we need the tape to record the subscript
operation so that the correct taylor and adjoint values are propagated
even if the index changed. This is especially true for index computation
via the lookupindex() function, where the index depends on the arguments
x and y which may change their values.

This active subscript is a copy_value operation not a copy_ref one.
So the result should not be used as an lvalue for any further operation.
In case the result is used as an lvalue the original entry in the
vector will not be altered, only the copied out version will be altered.

Also the safe mode of integer propagation for sparsity pattern
computation is not supported, only the tight mode is supported.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 5764beb91000483e02d4c6b52e67d177fff04a42
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Mar 2 13:59:12 2011 +0100

zeroing out the store is not necessary at all

and saves us some time by reducing memory access.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 29d3460e0c7a6d2839a25d8896c37fff98ad6a3c
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Wed Mar 2 13:57:33 2011 +0100

oplate.h is not needed after installation

so don't install it, and don't make it public api. it is totally
internal to ADOL-C itself.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit 0e3ac08ba9c6ac0aa7d3820def9e62e079a83e44
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Mar 1 16:00:17 2011 +0100

add missing include

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit b7364c7c2164981ce9e198b69f6aef8684388b43
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Mar 1 15:46:56 2011 +0100

Add new files to buildsystem.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

commit aaefbdef3a6e00792ce0c57acff67e4f4ee3224b
Author: Kshitij Kulshreshtha <kshitij@…>
Date: Tue Mar 1 15:38:59 2011 +0100

New class advector for index lookup and subscripting

This is a container using std::vector<adouble>. The subscripting
operations return references to adoubles, nothing needs to be written
onto the tape for this since the following operation using the adouble
reference will do the right thing.
The index lookup operation uses a sequence of n condassign_s ops which
are taped, and returns the index which matches the requirement as another
adouble.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

File size: 44.2 KB
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5#   Free Software Foundation, Inc.
6
7timestamp='2009-11-20'
8
9# This file is free software; you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17# General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software
21# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22# 02110-1301, USA.
23#
24# As a special exception to the GNU General Public License, if you
25# distribute this file as part of a program that contains a
26# configuration script generated by Autoconf, you may include it under
27# the same distribution terms that you use for the rest of that program.
28
29
30# Originally written by Per Bothner.  Please send patches (context
31# diff format) to <config-patches@gnu.org> and include a ChangeLog
32# entry.
33#
34# This script attempts to guess a canonical system name similar to
35# config.sub.  If it succeeds, it prints the system name on stdout, and
36# exits with 0.  Otherwise, it exits with 1.
37#
38# You can get the latest version of this script from:
39# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40
41me=`echo "$0" | sed -e 's,.*/,,'`
42
43usage="\
44Usage: $0 [OPTION]
45
46Output the configuration name of the system \`$me' is run on.
47
48Operation modes:
49  -h, --help         print this help, then exit
50  -t, --time-stamp   print date of last modification, then exit
51  -v, --version      print version number, then exit
52
53Report bugs and patches to <config-patches@gnu.org>."
54
55version="\
56GNU config.guess ($timestamp)
57
58Originally written by Per Bothner.
59Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
602002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61
62This is free software; see the source for copying conditions.  There is NO
63warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64
65help="
66Try \`$me --help' for more information."
67
68# Parse command line
69while test $# -gt 0 ; do
70  case $1 in
71    --time-stamp | --time* | -t )
72       echo "$timestamp" ; exit ;;
73    --version | -v )
74       echo "$version" ; exit ;;
75    --help | --h* | -h )
76       echo "$usage"; exit ;;
77    -- )     # Stop option processing
78       shift; break ;;
79    - ) # Use stdin as input.
80       break ;;
81    -* )
82       echo "$me: invalid option $1$help" >&2
83       exit 1 ;;
84    * )
85       break ;;
86  esac
87done
88
89if test $# != 0; then
90  echo "$me: too many arguments$help" >&2
91  exit 1
92fi
93
94trap 'exit 1' 1 2 15
95
96# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97# compiler to aid in system detection is discouraged as it requires
98# temporary files to be created and, as you can see below, it is a
99# headache to deal with in a portable fashion.
100
101# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102# use `HOST_CC' if defined, but it is deprecated.
103
104# Portable tmp directory creation inspired by the Autoconf team.
105
106set_cc_for_build='
107trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109: ${TMPDIR=/tmp} ;
110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114dummy=$tmp/dummy ;
115tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116case $CC_FOR_BUILD,$HOST_CC,$CC in
117 ,,)    echo "int x;" > $dummy.c ;
118        for c in cc gcc c89 c99 ; do
119          if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120             CC_FOR_BUILD="$c"; break ;
121          fi ;
122        done ;
123        if test x"$CC_FOR_BUILD" = x ; then
124          CC_FOR_BUILD=no_compiler_found ;
125        fi
126        ;;
127 ,,*)   CC_FOR_BUILD=$CC ;;
128 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129esac ; set_cc_for_build= ;'
130
131# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132# (ghazi@noc.rutgers.edu 1994-08-24)
133if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134        PATH=$PATH:/.attbin ; export PATH
135fi
136
137UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141
142case "${UNAME_MACHINE}" in
143    i?86)
144        test -z "$VENDOR" && VENDOR=pc
145        ;;
146    *)
147        test -z "$VENDOR" && VENDOR=unknown
148        ;;
149esac
150test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
151
152# Note: order is significant - the case branches are not exclusive.
153
154case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
155    *:NetBSD:*:*)
156        # NetBSD (nbsd) targets should (where applicable) match one or
157        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
158        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
159        # switched to ELF, *-*-netbsd* would select the old
160        # object file format.  This provides both forward
161        # compatibility and a consistent mechanism for selecting the
162        # object file format.
163        #
164        # Note: NetBSD doesn't particularly care about the vendor
165        # portion of the name.  We always set it to "unknown".
166        sysctl="sysctl -n hw.machine_arch"
167        UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
168            /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
169        case "${UNAME_MACHINE_ARCH}" in
170            armeb) machine=armeb-unknown ;;
171            arm*) machine=arm-unknown ;;
172            sh3el) machine=shl-unknown ;;
173            sh3eb) machine=sh-unknown ;;
174            sh5el) machine=sh5le-unknown ;;
175            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
176        esac
177        # The Operating System including object format, if it has switched
178        # to ELF recently, or will in the future.
179        case "${UNAME_MACHINE_ARCH}" in
180            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
181                eval $set_cc_for_build
182                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
183                        | grep -q __ELF__
184                then
185                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
186                    # Return netbsd for either.  FIX?
187                    os=netbsd
188                else
189                    os=netbsdelf
190                fi
191                ;;
192            *)
193                os=netbsd
194                ;;
195        esac
196        # The OS release
197        # Debian GNU/NetBSD machines have a different userland, and
198        # thus, need a distinct triplet. However, they do not need
199        # kernel version information, so it can be replaced with a
200        # suitable tag, in the style of linux-gnu.
201        case "${UNAME_VERSION}" in
202            Debian*)
203                release='-gnu'
204                ;;
205            *)
206                release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
207                ;;
208        esac
209        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
210        # contains redundant information, the shorter form:
211        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
212        echo "${machine}-${os}${release}"
213        exit ;;
214    *:OpenBSD:*:*)
215        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
216        echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
217        exit ;;
218    *:ekkoBSD:*:*)
219        echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
220        exit ;;
221    *:SolidBSD:*:*)
222        echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
223        exit ;;
224    macppc:MirBSD:*:*)
225        echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
226        exit ;;
227    *:MirBSD:*:*)
228        echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
229        exit ;;
230    alpha:OSF1:*:*)
231        case $UNAME_RELEASE in
232        *4.0)
233                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
234                ;;
235        *5.*)
236                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
237                ;;
238        esac
239        # According to Compaq, /usr/sbin/psrinfo has been available on
240        # OSF/1 and Tru64 systems produced since 1995.  I hope that
241        # covers most systems running today.  This code pipes the CPU
242        # types through head -n 1, so we only detect the type of CPU 0.
243        ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
244        case "$ALPHA_CPU_TYPE" in
245            "EV4 (21064)")
246                UNAME_MACHINE="alpha" ;;
247            "EV4.5 (21064)")
248                UNAME_MACHINE="alpha" ;;
249            "LCA4 (21066/21068)")
250                UNAME_MACHINE="alpha" ;;
251            "EV5 (21164)")
252                UNAME_MACHINE="alphaev5" ;;
253            "EV5.6 (21164A)")
254                UNAME_MACHINE="alphaev56" ;;
255            "EV5.6 (21164PC)")
256                UNAME_MACHINE="alphapca56" ;;
257            "EV5.7 (21164PC)")
258                UNAME_MACHINE="alphapca57" ;;
259            "EV6 (21264)")
260                UNAME_MACHINE="alphaev6" ;;
261            "EV6.7 (21264A)")
262                UNAME_MACHINE="alphaev67" ;;
263            "EV6.8CB (21264C)")
264                UNAME_MACHINE="alphaev68" ;;
265            "EV6.8AL (21264B)")
266                UNAME_MACHINE="alphaev68" ;;
267            "EV6.8CX (21264D)")
268                UNAME_MACHINE="alphaev68" ;;
269            "EV6.9A (21264/EV69A)")
270                UNAME_MACHINE="alphaev69" ;;
271            "EV7 (21364)")
272                UNAME_MACHINE="alphaev7" ;;
273            "EV7.9 (21364A)")
274                UNAME_MACHINE="alphaev79" ;;
275        esac
276        # A Pn.n version is a patched version.
277        # A Vn.n version is a released version.
278        # A Tn.n version is a released field test version.
279        # A Xn.n version is an unreleased experimental baselevel.
280        # 1.2 uses "1.2" for uname -r.
281        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
282        exit ;;
283    Alpha\ *:Windows_NT*:*)
284        # How do we know it's Interix rather than the generic POSIX subsystem?
285        # Should we change UNAME_MACHINE based on the output of uname instead
286        # of the specific Alpha model?
287        echo alpha-pc-interix
288        exit ;;
289    21064:Windows_NT:50:3)
290        echo alpha-dec-winnt3.5
291        exit ;;
292    Amiga*:UNIX_System_V:4.0:*)
293        echo m68k-${VENDOR}-sysv4
294        exit ;;
295    *:[Aa]miga[Oo][Ss]:*:*)
296        echo ${UNAME_MACHINE}-${VENDOR}-amigaos
297        exit ;;
298    *:[Mm]orph[Oo][Ss]:*:*)
299        echo ${UNAME_MACHINE}-${VENDOR}-morphos
300        exit ;;
301    *:OS/390:*:*)
302        echo i370-ibm-openedition
303        exit ;;
304    *:z/VM:*:*)
305        echo s390-ibm-zvmoe
306        exit ;;
307    *:OS400:*:*)
308        echo powerpc-ibm-os400
309        exit ;;
310    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
311        echo arm-acorn-riscix${UNAME_RELEASE}
312        exit ;;
313    arm:riscos:*:*|arm:RISCOS:*:*)
314        echo arm-${VENDOR}-riscos
315        exit ;;
316    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317        echo hppa1.1-hitachi-hiuxmpp
318        exit ;;
319    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321        if test "`(/bin/universe) 2>/dev/null`" = att ; then
322                echo pyramid-pyramid-sysv3
323        else
324                echo pyramid-pyramid-bsd
325        fi
326        exit ;;
327    NILE*:*:*:dcosx)
328        echo pyramid-pyramid-svr4
329        exit ;;
330    DRS?6000:unix:4.0:6*)
331        echo sparc-icl-nx6
332        exit ;;
333    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
334        case `/usr/bin/uname -p` in
335            sparc) echo sparc-icl-nx7; exit ;;
336        esac ;;
337    s390x:SunOS:*:*)
338        echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
339        exit ;;
340    sun4H:SunOS:5.*:*)
341        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
342        exit ;;
343    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
344        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
345        exit ;;
346    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
347        echo i386-pc-auroraux${UNAME_RELEASE}
348        exit ;;
349    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
350        eval $set_cc_for_build
351        SUN_ARCH="i386"
352        # If there is a compiler, see if it is configured for 64-bit objects.
353        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
354        # This test works for both compilers.
355        if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
356            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
357                (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
358                grep IS_64BIT_ARCH >/dev/null
359            then
360                SUN_ARCH="x86_64"
361            fi
362        fi
363        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
364        exit ;;
365    sun4*:SunOS:6*:*)
366        # According to config.sub, this is the proper way to canonicalize
367        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
368        # it's likely to be more like Solaris than SunOS4.
369        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
370        exit ;;
371    sun4*:SunOS:*:*)
372        case "`/usr/bin/arch -k`" in
373            Series*|S4*)
374                UNAME_RELEASE=`uname -v`
375                ;;
376        esac
377        # Japanese Language versions have a version number like `4.1.3-JL'.
378        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
379        exit ;;
380    sun3*:SunOS:*:*)
381        echo m68k-sun-sunos${UNAME_RELEASE}
382        exit ;;
383    sun*:*:4.2BSD:*)
384        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
385        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
386        case "`/bin/arch`" in
387            sun3)
388                echo m68k-sun-sunos${UNAME_RELEASE}
389                ;;
390            sun4)
391                echo sparc-sun-sunos${UNAME_RELEASE}
392                ;;
393        esac
394        exit ;;
395    aushp:SunOS:*:*)
396        echo sparc-auspex-sunos${UNAME_RELEASE}
397        exit ;;
398    # The situation for MiNT is a little confusing.  The machine name
399    # can be virtually everything (everything which is not
400    # "atarist" or "atariste" at least should have a processor
401    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
402    # to the lowercase version "mint" (or "freemint").  Finally
403    # the system name "TOS" denotes a system which is actually not
404    # MiNT.  But MiNT is downward compatible to TOS, so this should
405    # be no problem.
406    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
407        echo m68k-atari-mint${UNAME_RELEASE}
408        exit ;;
409    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
410        echo m68k-atari-mint${UNAME_RELEASE}
411        exit ;;
412    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
413        echo m68k-atari-mint${UNAME_RELEASE}
414        exit ;;
415    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
416        echo m68k-milan-mint${UNAME_RELEASE}
417        exit ;;
418    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
419        echo m68k-hades-mint${UNAME_RELEASE}
420        exit ;;
421    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
422        echo m68k-${VENDOR}-mint${UNAME_RELEASE}
423        exit ;;
424    m68k:machten:*:*)
425        echo m68k-apple-machten${UNAME_RELEASE}
426        exit ;;
427    powerpc:machten:*:*)
428        echo powerpc-apple-machten${UNAME_RELEASE}
429        exit ;;
430    RISC*:Mach:*:*)
431        echo mips-dec-mach_bsd4.3
432        exit ;;
433    RISC*:ULTRIX:*:*)
434        echo mips-dec-ultrix${UNAME_RELEASE}
435        exit ;;
436    VAX*:ULTRIX*:*:*)
437        echo vax-dec-ultrix${UNAME_RELEASE}
438        exit ;;
439    2020:CLIX:*:* | 2430:CLIX:*:*)
440        echo clipper-intergraph-clix${UNAME_RELEASE}
441        exit ;;
442    mips:*:*:UMIPS | mips:*:*:RISCos)
443        eval $set_cc_for_build
444        sed 's/^        //' << EOF >$dummy.c
445#ifdef __cplusplus
446#include <stdio.h>  /* for printf() prototype */
447        int main (int argc, char *argv[]) {
448#else
449        int main (argc, argv) int argc; char *argv[]; {
450#endif
451        #if defined (host_mips) && defined (MIPSEB)
452        #if defined (SYSTYPE_SYSV)
453          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
454        #endif
455        #if defined (SYSTYPE_SVR4)
456          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
457        #endif
458        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
459          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
460        #endif
461        #endif
462          exit (-1);
463        }
464EOF
465        $CC_FOR_BUILD -o $dummy $dummy.c &&
466          dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
467          SYSTEM_NAME=`$dummy $dummyarg` &&
468            { echo "$SYSTEM_NAME"; exit; }
469        echo mips-mips-riscos${UNAME_RELEASE}
470        exit ;;
471    Motorola:PowerMAX_OS:*:*)
472        echo powerpc-motorola-powermax
473        exit ;;
474    Motorola:*:4.3:PL8-*)
475        echo powerpc-harris-powermax
476        exit ;;
477    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
478        echo powerpc-harris-powermax
479        exit ;;
480    Night_Hawk:Power_UNIX:*:*)
481        echo powerpc-harris-powerunix
482        exit ;;
483    m88k:CX/UX:7*:*)
484        echo m88k-harris-cxux7
485        exit ;;
486    m88k:*:4*:R4*)
487        echo m88k-motorola-sysv4
488        exit ;;
489    m88k:*:3*:R3*)
490        echo m88k-motorola-sysv3
491        exit ;;
492    AViiON:dgux:*:*)
493        # DG/UX returns AViiON for all architectures
494        UNAME_PROCESSOR=`/usr/bin/uname -p`
495        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
496        then
497            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
498               [ ${TARGET_BINARY_INTERFACE}x = x ]
499            then
500                echo m88k-dg-dgux${UNAME_RELEASE}
501            else
502                echo m88k-dg-dguxbcs${UNAME_RELEASE}
503            fi
504        else
505            echo i586-dg-dgux${UNAME_RELEASE}
506        fi
507        exit ;;
508    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
509        echo m88k-dolphin-sysv3
510        exit ;;
511    M88*:*:R3*:*)
512        # Delta 88k system running SVR3
513        echo m88k-motorola-sysv3
514        exit ;;
515    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
516        echo m88k-tektronix-sysv3
517        exit ;;
518    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
519        echo m68k-tektronix-bsd
520        exit ;;
521    *:IRIX*:*:*)
522        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
523        exit ;;
524    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
525        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
526        exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
527    i*86:AIX:*:*)
528        echo i386-ibm-aix
529        exit ;;
530    ia64:AIX:*:*)
531        if [ -x /usr/bin/oslevel ] ; then
532                IBM_REV=`/usr/bin/oslevel`
533        else
534                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
535        fi
536        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
537        exit ;;
538    *:AIX:2:3)
539        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
540                eval $set_cc_for_build
541                sed 's/^                //' << EOF >$dummy.c
542                #include <sys/systemcfg.h>
543
544                main()
545                        {
546                        if (!__power_pc())
547                                exit(1);
548                        puts("powerpc-ibm-aix3.2.5");
549                        exit(0);
550                        }
551EOF
552                if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
553                then
554                        echo "$SYSTEM_NAME"
555                else
556                        echo rs6000-ibm-aix3.2.5
557                fi
558        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
559                echo rs6000-ibm-aix3.2.4
560        else
561                echo rs6000-ibm-aix3.2
562        fi
563        exit ;;
564    *:AIX:*:[456])
565        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
566        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
567                IBM_ARCH=rs6000
568        else
569                IBM_ARCH=powerpc
570        fi
571        if [ -x /usr/bin/oslevel ] ; then
572                IBM_REV=`/usr/bin/oslevel`
573        else
574                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
575        fi
576        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
577        exit ;;
578    *:AIX:*:*)
579        echo rs6000-ibm-aix
580        exit ;;
581    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
582        echo romp-ibm-bsd4.4
583        exit ;;
584    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
585        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
586        exit ;;                             # report: romp-ibm BSD 4.3
587    *:BOSX:*:*)
588        echo rs6000-bull-bosx
589        exit ;;
590    DPX/2?00:B.O.S.:*:*)
591        echo m68k-bull-sysv3
592        exit ;;
593    9000/[34]??:4.3bsd:1.*:*)
594        echo m68k-hp-bsd
595        exit ;;
596    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
597        echo m68k-hp-bsd4.4
598        exit ;;
599    9000/[34678]??:HP-UX:*:*)
600        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
601        case "${UNAME_MACHINE}" in
602            9000/31? )            HP_ARCH=m68000 ;;
603            9000/[34]?? )         HP_ARCH=m68k ;;
604            9000/[678][0-9][0-9])
605                if [ -x /usr/bin/getconf ]; then
606                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
607                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
608                    case "${sc_cpu_version}" in
609                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
610                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
611                      532)                      # CPU_PA_RISC2_0
612                        case "${sc_kernel_bits}" in
613                          32) HP_ARCH="hppa2.0n" ;;
614                          64) HP_ARCH="hppa2.0w" ;;
615                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
616                        esac ;;
617                    esac
618                fi
619                if [ "${HP_ARCH}" = "" ]; then
620                    eval $set_cc_for_build
621                    sed 's/^              //' << EOF >$dummy.c
622
623              #define _HPUX_SOURCE
624              #include <stdlib.h>
625              #include <unistd.h>
626
627              int main ()
628              {
629              #if defined(_SC_KERNEL_BITS)
630                  long bits = sysconf(_SC_KERNEL_BITS);
631              #endif
632                  long cpu  = sysconf (_SC_CPU_VERSION);
633
634                  switch (cpu)
635                {
636                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
637                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
638                case CPU_PA_RISC2_0:
639              #if defined(_SC_KERNEL_BITS)
640                    switch (bits)
641                        {
642                        case 64: puts ("hppa2.0w"); break;
643                        case 32: puts ("hppa2.0n"); break;
644                        default: puts ("hppa2.0"); break;
645                        } break;
646              #else  /* !defined(_SC_KERNEL_BITS) */
647                    puts ("hppa2.0"); break;
648              #endif
649                default: puts ("hppa1.0"); break;
650                }
651                  exit (0);
652              }
653EOF
654                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
655                    test -z "$HP_ARCH" && HP_ARCH=hppa
656                fi ;;
657        esac
658        if [ ${HP_ARCH} = "hppa2.0w" ]
659        then
660            eval $set_cc_for_build
661
662            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
663            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
664            # generating 64-bit code.  GNU and HP use different nomenclature:
665            #
666            # $ CC_FOR_BUILD=cc ./config.guess
667            # => hppa2.0w-hp-hpux11.23
668            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
669            # => hppa64-hp-hpux11.23
670
671            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
672                grep -q __LP64__
673            then
674                HP_ARCH="hppa2.0w"
675            else
676                HP_ARCH="hppa64"
677            fi
678        fi
679        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
680        exit ;;
681    ia64:HP-UX:*:*)
682        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
683        echo ia64-hp-hpux${HPUX_REV}
684        exit ;;
685    3050*:HI-UX:*:*)
686        eval $set_cc_for_build
687        sed 's/^        //' << EOF >$dummy.c
688        #include <unistd.h>
689        int
690        main ()
691        {
692          long cpu = sysconf (_SC_CPU_VERSION);
693          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
694             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
695             results, however.  */
696          if (CPU_IS_PA_RISC (cpu))
697            {
698              switch (cpu)
699                {
700                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
701                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
702                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
703                  default: puts ("hppa-hitachi-hiuxwe2"); break;
704                }
705            }
706          else if (CPU_IS_HP_MC68K (cpu))
707            puts ("m68k-hitachi-hiuxwe2");
708          else puts ("unknown-hitachi-hiuxwe2");
709          exit (0);
710        }
711EOF
712        $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
713                { echo "$SYSTEM_NAME"; exit; }
714        echo unknown-hitachi-hiuxwe2
715        exit ;;
716    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
717        echo hppa1.1-hp-bsd
718        exit ;;
719    9000/8??:4.3bsd:*:*)
720        echo hppa1.0-hp-bsd
721        exit ;;
722    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
723        echo hppa1.0-hp-mpeix
724        exit ;;
725    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
726        echo hppa1.1-hp-osf
727        exit ;;
728    hp8??:OSF1:*:*)
729        echo hppa1.0-hp-osf
730        exit ;;
731    i*86:OSF1:*:*)
732        if [ -x /usr/sbin/sysversion ] ; then
733            echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
734        else
735            echo ${UNAME_MACHINE}-${VENDOR}-osf1
736        fi
737        exit ;;
738    parisc*:Lites*:*:*)
739        echo hppa1.1-hp-lites
740        exit ;;
741    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
742        echo c1-convex-bsd
743        exit ;;
744    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
745        if getsysinfo -f scalar_acc
746        then echo c32-convex-bsd
747        else echo c2-convex-bsd
748        fi
749        exit ;;
750    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
751        echo c34-convex-bsd
752        exit ;;
753    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
754        echo c38-convex-bsd
755        exit ;;
756    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
757        echo c4-convex-bsd
758        exit ;;
759    CRAY*Y-MP:*:*:*)
760        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
761        exit ;;
762    CRAY*[A-Z]90:*:*:*)
763        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
764        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
765              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
766              -e 's/\.[^.]*$/.X/'
767        exit ;;
768    CRAY*TS:*:*:*)
769        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
770        exit ;;
771    CRAY*T3E:*:*:*)
772        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
773        exit ;;
774    CRAY*SV1:*:*:*)
775        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
776        exit ;;
777    *:UNICOS/mp:*:*)
778        echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
779        exit ;;
780    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
781        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
782        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
783        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
784        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
785        exit ;;
786    5000:UNIX_System_V:4.*:*)
787        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
788        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
789        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
790        exit ;;
791    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
792        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
793        exit ;;
794    sparc*:BSD/OS:*:*)
795        echo sparc-${VENDOR}-bsdi${UNAME_RELEASE}
796        exit ;;
797    *:BSD/OS:*:*)
798        echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE}
799        exit ;;
800    *:FreeBSD:*:*)
801        case ${UNAME_MACHINE} in
802            pc98)
803                echo i386-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
804            amd64)
805                echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
806            *)
807                echo ${UNAME_MACHINE}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
808        esac
809        exit ;;
810    i*:CYGWIN*:*)
811        echo ${UNAME_MACHINE}-pc-cygwin
812        exit ;;
813    *:MINGW*:*)
814        echo ${UNAME_MACHINE}-pc-mingw32
815        exit ;;
816    i*:windows32*:*)
817        # uname -m includes "-pc" on this system.
818        echo ${UNAME_MACHINE}-mingw32
819        exit ;;
820    i*:PW*:*)
821        echo ${UNAME_MACHINE}-pc-pw32
822        exit ;;
823    *:Interix*:*)
824        case ${UNAME_MACHINE} in
825            x86)
826                echo i586-pc-interix${UNAME_RELEASE}
827                exit ;;
828            authenticamd | genuineintel | EM64T)
829                echo x86_64-${VENDOR}-interix${UNAME_RELEASE}
830                exit ;;
831            IA64)
832                echo ia64-${VENDOR}-interix${UNAME_RELEASE}
833                exit ;;
834        esac ;;
835    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
836        echo i${UNAME_MACHINE}-pc-mks
837        exit ;;
838    8664:Windows_NT:*)
839        echo x86_64-pc-mks
840        exit ;;
841    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
842        # How do we know it's Interix rather than the generic POSIX subsystem?
843        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
844        # UNAME_MACHINE based on the output of uname instead of i386?
845        echo i586-pc-interix
846        exit ;;
847    i*:UWIN*:*)
848        echo ${UNAME_MACHINE}-pc-uwin
849        exit ;;
850    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
851        echo x86_64-${VENDOR}-cygwin
852        exit ;;
853    p*:CYGWIN*:*)
854        echo powerpcle-${VENDOR}-cygwin
855        exit ;;
856    prep*:SunOS:5.*:*)
857        echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
858        exit ;;
859    *:GNU:*:*)
860        # the GNU system
861        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
862        exit ;;
863    *:GNU/*:*:*)
864        # other systems with GNU libc and userland
865        echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
866        exit ;;
867    i*86:Minix:*:*)
868        echo ${UNAME_MACHINE}-pc-minix
869        exit ;;
870    alpha:Linux:*:*)
871        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
872          EV5)   UNAME_MACHINE=alphaev5 ;;
873          EV56)  UNAME_MACHINE=alphaev56 ;;
874          PCA56) UNAME_MACHINE=alphapca56 ;;
875          PCA57) UNAME_MACHINE=alphapca56 ;;
876          EV6)   UNAME_MACHINE=alphaev6 ;;
877          EV67)  UNAME_MACHINE=alphaev67 ;;
878          EV68*) UNAME_MACHINE=alphaev68 ;;
879        esac
880        objdump --private-headers /bin/sh | grep -q ld.so.1
881        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
882        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
883        exit ;;
884    arm*:Linux:*:*)
885        eval $set_cc_for_build
886        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
887            | grep -q __ARM_EABI__
888        then
889            echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
890        else
891            echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
892        fi
893        exit ;;
894    avr32*:Linux:*:*)
895        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
896        exit ;;
897    cris:Linux:*:*)
898        echo cris-axis-linux-gnu
899        exit ;;
900    crisv32:Linux:*:*)
901        echo crisv32-axis-linux-gnu
902        exit ;;
903    frv:Linux:*:*)
904        echo frv-${VENDOR}-linux-gnu
905        exit ;;
906    i*86:Linux:*:*)
907        LIBC=gnu
908        eval $set_cc_for_build
909        sed 's/^        //' << EOF >$dummy.c
910        #ifdef __dietlibc__
911        LIBC=dietlibc
912        #endif
913EOF
914        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
915        echo "${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}"
916        exit ;;
917    ia64:Linux:*:*)
918        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
919        exit ;;
920    m32r*:Linux:*:*)
921        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
922        exit ;;
923    m68*:Linux:*:*)
924        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
925        exit ;;
926    mips:Linux:*:* | mips64:Linux:*:*)
927        eval $set_cc_for_build
928        sed 's/^        //' << EOF >$dummy.c
929        #undef CPU
930        #undef ${UNAME_MACHINE}
931        #undef ${UNAME_MACHINE}el
932        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
933        CPU=${UNAME_MACHINE}el
934        #else
935        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
936        CPU=${UNAME_MACHINE}
937        #else
938        CPU=
939        #endif
940        #endif
941EOF
942        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
943        test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
944        ;;
945    or32:Linux:*:*)
946        echo or32-${VENDOR}-linux-gnu
947        exit ;;
948    padre:Linux:*:*)
949        echo sparc-${VENDOR}-linux-gnu
950        exit ;;
951    parisc64:Linux:*:* | hppa64:Linux:*:*)
952        echo hppa64-${VENDOR}-linux-gnu
953        exit ;;
954    parisc:Linux:*:* | hppa:Linux:*:*)
955        # Look for CPU level
956        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
957          PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
958          PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
959          *)    echo hppa-${VENDOR}-linux-gnu ;;
960        esac
961        exit ;;
962    ppc64:Linux:*:*)
963        echo powerpc64-${VENDOR}-linux-gnu
964        exit ;;
965    ppc:Linux:*:*)
966        echo powerpc-${VENDOR}-linux-gnu
967        exit ;;
968    s390:Linux:*:* | s390x:Linux:*:*)
969        echo ${UNAME_MACHINE}-ibm-linux
970        exit ;;
971    sh64*:Linux:*:*)
972        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
973        exit ;;
974    sh*:Linux:*:*)
975        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
976        exit ;;
977    sparc:Linux:*:* | sparc64:Linux:*:*)
978        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
979        exit ;;
980    vax:Linux:*:*)
981        echo ${UNAME_MACHINE}-dec-linux-gnu
982        exit ;;
983    x86_64:Linux:*:*)
984        echo x86_64-${VENDOR}-linux-gnu
985        exit ;;
986    xtensa*:Linux:*:*)
987        echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
988        exit ;;
989    i*86:DYNIX/ptx:4*:*)
990        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
991        # earlier versions are messed up and put the nodename in both
992        # sysname and nodename.
993        echo i386-sequent-sysv4
994        exit ;;
995    i*86:UNIX_SV:4.2MP:2.*)
996        # Unixware is an offshoot of SVR4, but it has its own version
997        # number series starting with 2...
998        # I am not positive that other SVR4 systems won't match this,
999        # I just have to hope.  -- rms.
1000        # Use sysv4.2uw... so that sysv4* matches it.
1001        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1002        exit ;;
1003    i*86:OS/2:*:*)
1004        # If we were able to find `uname', then EMX Unix compatibility
1005        # is probably installed.
1006        echo ${UNAME_MACHINE}-pc-os2-emx
1007        exit ;;
1008    i*86:XTS-300:*:STOP)
1009        echo ${UNAME_MACHINE}-${VENDOR}-stop
1010        exit ;;
1011    i*86:atheos:*:*)
1012        echo ${UNAME_MACHINE}-${VENDOR}-atheos
1013        exit ;;
1014    i*86:syllable:*:*)
1015        echo ${UNAME_MACHINE}-pc-syllable
1016        exit ;;
1017    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1018        echo i386-${VENDOR}-lynxos${UNAME_RELEASE}
1019        exit ;;
1020    i*86:*DOS:*:*)
1021        echo ${UNAME_MACHINE}-pc-msdosdjgpp
1022        exit ;;
1023    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1024        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1025        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1026                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1027        else
1028                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1029        fi
1030        exit ;;
1031    i*86:*:5:[678]*)
1032        # UnixWare 7.x, OpenUNIX and OpenServer 6.
1033        case `/bin/uname -X | grep "^Machine"` in
1034            *486*)           UNAME_MACHINE=i486 ;;
1035            *Pentium)        UNAME_MACHINE=i586 ;;
1036            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1037        esac
1038        echo ${UNAME_MACHINE}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1039        exit ;;
1040    i*86:*:3.2:*)
1041        if test -f /usr/options/cb.name; then
1042                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1043                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1044        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1045                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1046                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1047                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1048                        && UNAME_MACHINE=i586
1049                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1050                        && UNAME_MACHINE=i686
1051                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1052                        && UNAME_MACHINE=i686
1053                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1054        else
1055                echo ${UNAME_MACHINE}-pc-sysv32
1056        fi
1057        exit ;;
1058    pc:*:*:*)
1059        # Left here for compatibility:
1060        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1061        # the processor, so we play safe by assuming i586.
1062        # Note: whatever this is, it MUST be the same as what config.sub
1063        # prints for the "djgpp" host, or else GDB configury will decide that
1064        # this is a cross-build.
1065        echo i586-pc-msdosdjgpp
1066        exit ;;
1067    Intel:Mach:3*:*)
1068        echo i386-pc-mach3
1069        exit ;;
1070    paragon:*:*:*)
1071        echo i860-intel-osf1
1072        exit ;;
1073    i860:*:4.*:*) # i860-SVR4
1074        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1075          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1076        else # Add other i860-SVR4 vendors below as they are discovered.
1077          echo i860-${VENDOR}-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1078        fi
1079        exit ;;
1080    mini*:CTIX:SYS*5:*)
1081        # "miniframe"
1082        echo m68010-convergent-sysv
1083        exit ;;
1084    mc68k:UNIX:SYSTEM5:3.51m)
1085        echo m68k-convergent-sysv
1086        exit ;;
1087    M680?0:D-NIX:5.3:*)
1088        echo m68k-diab-dnix
1089        exit ;;
1090    M68*:*:R3V[5678]*:*)
1091        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1092    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1093        OS_REL=''
1094        test -r /etc/.relid \
1095        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1096        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1097          && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1098        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1099          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1100    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1101        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1102          && { echo i486-ncr-sysv4; exit; } ;;
1103    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1104        OS_REL='.3'
1105        test -r /etc/.relid \
1106            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1107        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1108            && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1109        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1110            && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1111        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1112            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1113    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1114        echo m68k-${VENDOR}-lynxos${UNAME_RELEASE}
1115        exit ;;
1116    mc68030:UNIX_System_V:4.*:*)
1117        echo m68k-atari-sysv4
1118        exit ;;
1119    TSUNAMI:LynxOS:2.*:*)
1120        echo sparc-${VENDOR}-lynxos${UNAME_RELEASE}
1121        exit ;;
1122    rs6000:LynxOS:2.*:*)
1123        echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE}
1124        exit ;;
1125    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1126        echo powerpc-${VENDOR}-lynxos${UNAME_RELEASE}
1127        exit ;;
1128    SM[BE]S:UNIX_SV:*:*)
1129        echo mips-dde-sysv${UNAME_RELEASE}
1130        exit ;;
1131    RM*:ReliantUNIX-*:*:*)
1132        echo mips-sni-sysv4
1133        exit ;;
1134    RM*:SINIX-*:*:*)
1135        echo mips-sni-sysv4
1136        exit ;;
1137    *:SINIX-*:*:*)
1138        if uname -p 2>/dev/null >/dev/null ; then
1139                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1140                echo ${UNAME_MACHINE}-sni-sysv4
1141        else
1142                echo ns32k-sni-sysv
1143        fi
1144        exit ;;
1145    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1146                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1147        echo i586-unisys-sysv4
1148        exit ;;
1149    *:UNIX_System_V:4*:FTX*)
1150        # From Gerald Hewes <hewes@openmarket.com>.
1151        # How about differentiating between stratus architectures? -djm
1152        echo hppa1.1-stratus-sysv4
1153        exit ;;
1154    *:*:*:FTX*)
1155        # From seanf@swdc.stratus.com.
1156        echo i860-stratus-sysv4
1157        exit ;;
1158    i*86:VOS:*:*)
1159        # From Paul.Green@stratus.com.
1160        echo ${UNAME_MACHINE}-stratus-vos
1161        exit ;;
1162    *:VOS:*:*)
1163        # From Paul.Green@stratus.com.
1164        echo hppa1.1-stratus-vos
1165        exit ;;
1166    mc68*:A/UX:*:*)
1167        echo m68k-apple-aux${UNAME_RELEASE}
1168        exit ;;
1169    news*:NEWS-OS:6*:*)
1170        echo mips-sony-newsos6
1171        exit ;;
1172    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1173        if [ -d /usr/nec ]; then
1174                echo mips-nec-sysv${UNAME_RELEASE}
1175        else
1176                echo mips-${VENDOR}-sysv${UNAME_RELEASE}
1177        fi
1178        exit ;;
1179    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1180        echo powerpc-be-beos
1181        exit ;;
1182    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1183        echo powerpc-apple-beos
1184        exit ;;
1185    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1186        echo i586-pc-beos
1187        exit ;;
1188    BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1189        echo i586-pc-haiku
1190        exit ;;
1191    SX-4:SUPER-UX:*:*)
1192        echo sx4-nec-superux${UNAME_RELEASE}
1193        exit ;;
1194    SX-5:SUPER-UX:*:*)
1195        echo sx5-nec-superux${UNAME_RELEASE}
1196        exit ;;
1197    SX-6:SUPER-UX:*:*)
1198        echo sx6-nec-superux${UNAME_RELEASE}
1199        exit ;;
1200    SX-7:SUPER-UX:*:*)
1201        echo sx7-nec-superux${UNAME_RELEASE}
1202        exit ;;
1203    SX-8:SUPER-UX:*:*)
1204        echo sx8-nec-superux${UNAME_RELEASE}
1205        exit ;;
1206    SX-8R:SUPER-UX:*:*)
1207        echo sx8r-nec-superux${UNAME_RELEASE}
1208        exit ;;
1209    Power*:Rhapsody:*:*)
1210        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1211        exit ;;
1212    *:Rhapsody:*:*)
1213        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1214        exit ;;
1215    *:Darwin:*:*)
1216        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1217        case $UNAME_PROCESSOR in
1218            i386)
1219                eval $set_cc_for_build
1220                if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1221                  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1222                      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1223                      grep IS_64BIT_ARCH >/dev/null
1224                  then
1225                      UNAME_PROCESSOR="x86_64"
1226                  fi
1227                fi ;;
1228            unknown) UNAME_PROCESSOR=powerpc ;;
1229        esac
1230        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1231        exit ;;
1232    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1233        UNAME_PROCESSOR=`uname -p`
1234        if test "$UNAME_PROCESSOR" = "x86"; then
1235                UNAME_PROCESSOR=i386
1236                UNAME_MACHINE=pc
1237        fi
1238        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1239        exit ;;
1240    *:QNX:*:4*)
1241        echo i386-pc-qnx
1242        exit ;;
1243    NSE-?:NONSTOP_KERNEL:*:*)
1244        echo nse-tandem-nsk${UNAME_RELEASE}
1245        exit ;;
1246    NSR-?:NONSTOP_KERNEL:*:*)
1247        echo nsr-tandem-nsk${UNAME_RELEASE}
1248        exit ;;
1249    *:NonStop-UX:*:*)
1250        echo mips-compaq-nonstopux
1251        exit ;;
1252    BS2000:POSIX*:*:*)
1253        echo bs2000-siemens-sysv
1254        exit ;;
1255    DS/*:UNIX_System_V:*:*)
1256        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1257        exit ;;
1258    *:Plan9:*:*)
1259        # "uname -m" is not consistent, so use $cputype instead. 386
1260        # is converted to i386 for consistency with other x86
1261        # operating systems.
1262        if test "$cputype" = "386"; then
1263            UNAME_MACHINE=i386
1264        else
1265            UNAME_MACHINE="$cputype"
1266        fi
1267        echo ${UNAME_MACHINE}-${VENDOR}-plan9
1268        exit ;;
1269    *:TOPS-10:*:*)
1270        echo pdp10-${VENDOR}-tops10
1271        exit ;;
1272    *:TENEX:*:*)
1273        echo pdp10-${VENDOR}-tenex
1274        exit ;;
1275    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1276        echo pdp10-dec-tops20
1277        exit ;;
1278    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1279        echo pdp10-xkl-tops20
1280        exit ;;
1281    *:TOPS-20:*:*)
1282        echo pdp10-${VENDOR}-tops20
1283        exit ;;
1284    *:ITS:*:*)
1285        echo pdp10-${VENDOR}-its
1286        exit ;;
1287    SEI:*:*:SEIUX)
1288        echo mips-sei-seiux${UNAME_RELEASE}
1289        exit ;;
1290    *:DragonFly:*:*)
1291        echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1292        exit ;;
1293    *:*VMS:*:*)
1294        UNAME_MACHINE=`(uname -p) 2>/dev/null`
1295        case "${UNAME_MACHINE}" in
1296            A*) echo alpha-dec-vms ; exit ;;
1297            I*) echo ia64-dec-vms ; exit ;;
1298            V*) echo vax-dec-vms ; exit ;;
1299        esac ;;
1300    *:XENIX:*:SysV)
1301        echo i386-pc-xenix
1302        exit ;;
1303    i*86:skyos:*:*)
1304        echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1305        exit ;;
1306    i*86:rdos:*:*)
1307        echo ${UNAME_MACHINE}-pc-rdos
1308        exit ;;
1309    i*86:AROS:*:*)
1310        echo ${UNAME_MACHINE}-pc-aros
1311        exit ;;
1312esac
1313
1314#echo '(No uname command or uname output not recognized.)' 1>&2
1315#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1316
1317eval $set_cc_for_build
1318cat >$dummy.c <<EOF
1319#ifdef _SEQUENT_
1320# include <sys/types.h>
1321# include <sys/utsname.h>
1322#endif
1323main ()
1324{
1325#if defined (sony)
1326#if defined (MIPSEB)
1327  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1328     I don't know....  */
1329  printf ("mips-sony-bsd\n"); exit (0);
1330#else
1331#include <sys/param.h>
1332  printf ("m68k-sony-newsos%s\n",
1333#ifdef NEWSOS4
1334          "4"
1335#else
1336          ""
1337#endif
1338         ); exit (0);
1339#endif
1340#endif
1341
1342#if defined (__arm) && defined (__acorn) && defined (__unix)
1343  printf ("arm-acorn-riscix\n"); exit (0);
1344#endif
1345
1346#if defined (hp300) && !defined (hpux)
1347  printf ("m68k-hp-bsd\n"); exit (0);
1348#endif
1349
1350#if defined (NeXT)
1351#if !defined (__ARCHITECTURE__)
1352#define __ARCHITECTURE__ "m68k"
1353#endif
1354  int version;
1355  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1356  if (version < 4)
1357    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1358  else
1359    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1360  exit (0);
1361#endif
1362
1363#if defined (MULTIMAX) || defined (n16)
1364#if defined (UMAXV)
1365  printf ("ns32k-encore-sysv\n"); exit (0);
1366#else
1367#if defined (CMU)
1368  printf ("ns32k-encore-mach\n"); exit (0);
1369#else
1370  printf ("ns32k-encore-bsd\n"); exit (0);
1371#endif
1372#endif
1373#endif
1374
1375#if defined (__386BSD__)
1376  printf ("i386-pc-bsd\n"); exit (0);
1377#endif
1378
1379#if defined (sequent)
1380#if defined (i386)
1381  printf ("i386-sequent-dynix\n"); exit (0);
1382#endif
1383#if defined (ns32000)
1384  printf ("ns32k-sequent-dynix\n"); exit (0);
1385#endif
1386#endif
1387
1388#if defined (_SEQUENT_)
1389    struct utsname un;
1390
1391    uname(&un);
1392
1393    if (strncmp(un.version, "V2", 2) == 0) {
1394        printf ("i386-sequent-ptx2\n"); exit (0);
1395    }
1396    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1397        printf ("i386-sequent-ptx1\n"); exit (0);
1398    }
1399    printf ("i386-sequent-ptx\n"); exit (0);
1400
1401#endif
1402
1403#if defined (vax)
1404# if !defined (ultrix)
1405#  include <sys/param.h>
1406#  if defined (BSD)
1407#   if BSD == 43
1408      printf ("vax-dec-bsd4.3\n"); exit (0);
1409#   else
1410#    if BSD == 199006
1411      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1412#    else
1413      printf ("vax-dec-bsd\n"); exit (0);
1414#    endif
1415#   endif
1416#  else
1417    printf ("vax-dec-bsd\n"); exit (0);
1418#  endif
1419# else
1420    printf ("vax-dec-ultrix\n"); exit (0);
1421# endif
1422#endif
1423
1424#if defined (alliant) && defined (i860)
1425  printf ("i860-alliant-bsd\n"); exit (0);
1426#endif
1427
1428  exit (1);
1429}
1430EOF
1431
1432$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1433        { echo "$SYSTEM_NAME"; exit; }
1434
1435# Apollos put the system type in the environment.
1436
1437test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1438
1439# Convex versions that predate uname can use getsysinfo(1)
1440
1441if [ -x /usr/convex/getsysinfo ]
1442then
1443    case `getsysinfo -f cpu_type` in
1444    c1*)
1445        echo c1-convex-bsd
1446        exit ;;
1447    c2*)
1448        if getsysinfo -f scalar_acc
1449        then echo c32-convex-bsd
1450        else echo c2-convex-bsd
1451        fi
1452        exit ;;
1453    c34*)
1454        echo c34-convex-bsd
1455        exit ;;
1456    c38*)
1457        echo c38-convex-bsd
1458        exit ;;
1459    c4*)
1460        echo c4-convex-bsd
1461        exit ;;
1462    esac
1463fi
1464
1465cat >&2 <<EOF
1466$0: unable to guess system type
1467
1468This script, last modified $timestamp, has failed to recognize
1469the operating system you are using. It is advised that you
1470download the most up to date version of the config scripts from
1471
1472  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1473and
1474  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1475
1476If the version you run ($0) is already up to date, please
1477send the following data and any information you think might be
1478pertinent to <config-patches@gnu.org> in order to provide the needed
1479information to handle your system.
1480
1481config.guess timestamp = $timestamp
1482
1483uname -m = `(uname -m) 2>/dev/null || echo unknown`
1484uname -r = `(uname -r) 2>/dev/null || echo unknown`
1485uname -s = `(uname -s) 2>/dev/null || echo unknown`
1486uname -v = `(uname -v) 2>/dev/null || echo unknown`
1487
1488/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1489/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1490
1491hostinfo               = `(hostinfo) 2>/dev/null`
1492/bin/universe          = `(/bin/universe) 2>/dev/null`
1493/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1494/bin/arch              = `(/bin/arch) 2>/dev/null`
1495/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1496/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1497
1498UNAME_MACHINE = ${UNAME_MACHINE}
1499UNAME_RELEASE = ${UNAME_RELEASE}
1500UNAME_SYSTEM  = ${UNAME_SYSTEM}
1501UNAME_VERSION = ${UNAME_VERSION}
1502EOF
1503
1504exit 1
1505
1506# Local variables:
1507# eval: (add-hook 'write-file-hooks 'time-stamp)
1508# time-stamp-start: "timestamp='"
1509# time-stamp-format: "%:y-%02m-%02d"
1510# time-stamp-end: "'"
1511# End:
Note: See TracBrowser for help on using the repository browser.