Fossil SCM

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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button