2
2
# Attempt to guess a canonical system name.
3
# Copyright 1992-2014 Free Software Foundation, Inc.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
# 2011, 2012, 2013 Free Software Foundation, Inc.
7
9
# This file is free software; you can redistribute it and/or modify it
8
10
# under the terms of the GNU General Public License as published by
24
26
# program. This Exception is an additional permission under section 7
25
27
# of the GNU General Public License, version 3 ("GPLv3").
27
# Originally written by Per Bothner.
29
# Originally written by Per Bothner.
29
31
# You can get the latest version of this script from:
30
32
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
50
52
GNU config.guess ($timestamp)
52
54
Originally written by Per Bothner.
53
Copyright 1992-2014 Free Software Foundation, Inc.
55
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
56
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
57
2012, 2013 Free Software Foundation, Inc.
55
59
This is free software; see the source for copying conditions. There is NO
56
60
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
132
136
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133
137
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
135
case "${UNAME_SYSTEM}" in
137
# If the system lacks a compiler, then just pick glibc.
138
# We could probably try harder.
141
eval $set_cc_for_build
142
cat <<-EOF > $dummy.c
143
#include <features.h>
144
#if defined(__UCLIBC__)
146
#elif defined(__dietlibc__)
152
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
156
139
# Note: order is significant - the case branches are not exclusive.
158
141
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
877
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
860
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
880
863
# other systems with GNU libc and userland
881
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
864
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
884
867
echo ${UNAME_MACHINE}-pc-minix
886
869
aarch64:Linux:*:*)
887
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
870
echo ${UNAME_MACHINE}-unknown-linux-gnu
889
872
aarch64_be:Linux:*:*)
890
873
UNAME_MACHINE=aarch64_be
891
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
874
echo ${UNAME_MACHINE}-unknown-linux-gnu
894
877
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
901
884
EV68*) UNAME_MACHINE=alphaev68 ;;
903
886
objdump --private-headers /bin/sh | grep -q ld.so.1
904
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
905
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
907
arc:Linux:*:* | arceb:Linux:*:*)
908
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
887
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
888
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
911
891
eval $set_cc_for_build
912
892
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
913
893
| grep -q __ARM_EABI__
915
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
895
echo ${UNAME_MACHINE}-unknown-linux-gnu
917
897
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918
898
| grep -q __ARM_PCS_VFP
920
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
900
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
922
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
902
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
926
906
avr32*:Linux:*:*)
927
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
907
echo ${UNAME_MACHINE}-unknown-linux-gnu
930
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
910
echo ${UNAME_MACHINE}-axis-linux-gnu
932
912
crisv32:Linux:*:*)
933
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
913
echo ${UNAME_MACHINE}-axis-linux-gnu
936
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
916
echo ${UNAME_MACHINE}-unknown-linux-gnu
938
918
hexagon:Linux:*:*)
939
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
919
echo ${UNAME_MACHINE}-unknown-linux-gnu
942
echo ${UNAME_MACHINE}-pc-linux-${LIBC}
923
eval $set_cc_for_build
924
sed 's/^ //' << EOF >$dummy.c
929
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
930
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
945
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
933
echo ${UNAME_MACHINE}-unknown-linux-gnu
948
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
936
echo ${UNAME_MACHINE}-unknown-linux-gnu
951
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
939
echo ${UNAME_MACHINE}-unknown-linux-gnu
953
941
mips:Linux:*:* | mips64:Linux:*:*)
954
942
eval $set_cc_for_build
969
957
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
970
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
958
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
973
echo or1k-unknown-linux-${LIBC}
975
or32:Linux:*:* | or1k*:Linux:*:*)
976
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
961
echo ${UNAME_MACHINE}-unknown-linux-gnu
979
echo sparc-unknown-linux-${LIBC}
964
echo sparc-unknown-linux-gnu
981
966
parisc64:Linux:*:* | hppa64:Linux:*:*)
982
echo hppa64-unknown-linux-${LIBC}
967
echo hppa64-unknown-linux-gnu
984
969
parisc:Linux:*:* | hppa:Linux:*:*)
985
970
# Look for CPU level
986
971
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
987
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
988
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
989
*) echo hppa-unknown-linux-${LIBC} ;;
972
PA7*) echo hppa1.1-unknown-linux-gnu ;;
973
PA8*) echo hppa2.0-unknown-linux-gnu ;;
974
*) echo hppa-unknown-linux-gnu ;;
993
echo powerpc64-unknown-linux-${LIBC}
978
echo powerpc64-unknown-linux-gnu
996
echo powerpc-unknown-linux-${LIBC}
999
echo powerpc64le-unknown-linux-${LIBC}
1002
echo powerpcle-unknown-linux-${LIBC}
981
echo powerpc-unknown-linux-gnu
1004
983
s390:Linux:*:* | s390x:Linux:*:*)
1005
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
984
echo ${UNAME_MACHINE}-ibm-linux
1007
986
sh64*:Linux:*:*)
1008
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
987
echo ${UNAME_MACHINE}-unknown-linux-gnu
1011
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
990
echo ${UNAME_MACHINE}-unknown-linux-gnu
1013
992
sparc:Linux:*:* | sparc64:Linux:*:*)
1014
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
993
echo ${UNAME_MACHINE}-unknown-linux-gnu
1016
995
tile*:Linux:*:*)
1017
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
996
echo ${UNAME_MACHINE}-unknown-linux-gnu
1020
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
999
echo ${UNAME_MACHINE}-dec-linux-gnu
1022
1001
x86_64:Linux:*:*)
1023
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1002
echo ${UNAME_MACHINE}-unknown-linux-gnu
1025
1004
xtensa*:Linux:*:*)
1026
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1005
echo ${UNAME_MACHINE}-unknown-linux-gnu
1028
1007
i*86:DYNIX/ptx:4*:*)
1029
1008
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1258
1237
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1259
eval $set_cc_for_build
1260
if test "$UNAME_PROCESSOR" = unknown ; then
1261
UNAME_PROCESSOR=powerpc
1263
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1264
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1265
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1266
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1267
grep IS_64BIT_ARCH >/dev/null
1269
case $UNAME_PROCESSOR in
1270
i386) UNAME_PROCESSOR=x86_64 ;;
1271
powerpc) UNAME_PROCESSOR=powerpc64 ;;
1275
elif test "$UNAME_PROCESSOR" = i386 ; then
1276
# Avoid executing cc on OS X 10.9, as it ships with a stub
1277
# that puts up a graphical alert prompting to install
1278
# developer tools. Any system running Mac OS X 10.7 or
1279
# later (Darwin 11 and later) is required to have a 64-bit
1280
# processor. This is not true of the ARM version of Darwin
1281
# that Apple uses in portable devices.
1282
UNAME_PROCESSOR=x86_64
1238
case $UNAME_PROCESSOR in
1240
eval $set_cc_for_build
1241
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1242
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1243
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1244
grep IS_64BIT_ARCH >/dev/null
1246
UNAME_PROCESSOR="x86_64"
1249
unknown) UNAME_PROCESSOR=powerpc ;;
1284
1251
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1286
1253
*:procnto*:*:* | *:QNX:[0123456789]*:*)
1341
eval $set_cc_for_build
1344
# include <sys/types.h>
1345
# include <sys/utsname.h>
1350
#if defined (MIPSEB)
1351
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1353
printf ("mips-sony-bsd\n"); exit (0);
1355
#include <sys/param.h>
1356
printf ("m68k-sony-newsos%s\n",
1366
#if defined (__arm) && defined (__acorn) && defined (__unix)
1367
printf ("arm-acorn-riscix\n"); exit (0);
1370
#if defined (hp300) && !defined (hpux)
1371
printf ("m68k-hp-bsd\n"); exit (0);
1375
#if !defined (__ARCHITECTURE__)
1376
#define __ARCHITECTURE__ "m68k"
1379
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1381
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1383
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1387
#if defined (MULTIMAX) || defined (n16)
1389
printf ("ns32k-encore-sysv\n"); exit (0);
1392
printf ("ns32k-encore-mach\n"); exit (0);
1394
printf ("ns32k-encore-bsd\n"); exit (0);
1399
#if defined (__386BSD__)
1400
printf ("i386-pc-bsd\n"); exit (0);
1403
#if defined (sequent)
1405
printf ("i386-sequent-dynix\n"); exit (0);
1407
#if defined (ns32000)
1408
printf ("ns32k-sequent-dynix\n"); exit (0);
1412
#if defined (_SEQUENT_)
1417
if (strncmp(un.version, "V2", 2) == 0) {
1418
printf ("i386-sequent-ptx2\n"); exit (0);
1420
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1421
printf ("i386-sequent-ptx1\n"); exit (0);
1423
printf ("i386-sequent-ptx\n"); exit (0);
1428
# if !defined (ultrix)
1429
# include <sys/param.h>
1432
printf ("vax-dec-bsd4.3\n"); exit (0);
1435
printf ("vax-dec-bsd4.3reno\n"); exit (0);
1437
printf ("vax-dec-bsd\n"); exit (0);
1441
printf ("vax-dec-bsd\n"); exit (0);
1444
printf ("vax-dec-ultrix\n"); exit (0);
1448
#if defined (alliant) && defined (i860)
1449
printf ("i860-alliant-bsd\n"); exit (0);
1456
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1457
{ echo "$SYSTEM_NAME"; exit; }
1459
# Apollos put the system type in the environment.
1461
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1463
# Convex versions that predate uname can use getsysinfo(1)
1465
if [ -x /usr/convex/getsysinfo ]
1467
case `getsysinfo -f cpu_type` in
1472
if getsysinfo -f scalar_acc
1473
then echo c32-convex-bsd
1474
else echo c2-convex-bsd
1375
1490
$0: unable to guess system type