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