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