1 |
|
#! /bin/sh |
2 |
|
# Attempt to guess a canonical system name. |
3 |
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 |
< |
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
4 |
> |
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 |
5 |
|
# Free Software Foundation, Inc. |
6 |
|
|
7 |
< |
timestamp='2009-04-27' |
7 |
> |
timestamp='2009-11-20' |
8 |
|
|
9 |
|
# This file is free software; you can redistribute it and/or modify it |
10 |
|
# under the terms of the GNU General Public License as published by |
27 |
|
# the same distribution terms that you use for the rest of that program. |
28 |
|
|
29 |
|
|
30 |
< |
# Originally written by Per Bothner <per@bothner.com>. |
31 |
< |
# Please send patches to <config-patches@gnu.org>. Submit a context |
32 |
< |
# diff and a properly formatted ChangeLog entry. |
30 |
> |
# Originally written by Per Bothner. Please send patches (context |
31 |
> |
# diff format) to <config-patches@gnu.org> and include a ChangeLog |
32 |
> |
# entry. |
33 |
|
# |
34 |
|
# This script attempts to guess a canonical system name similar to |
35 |
|
# config.sub. If it succeeds, it prints the system name on stdout, and |
36 |
|
# exits with 0. Otherwise, it exits with 1. |
37 |
|
# |
38 |
< |
# The plan is that this can be called by configure scripts if you |
39 |
< |
# don't specify an explicit build system type. |
38 |
> |
# You can get the latest version of this script from: |
39 |
> |
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD |
40 |
|
|
41 |
|
me=`echo "$0" | sed -e 's,.*/,,'` |
42 |
|
|
170 |
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax) |
171 |
|
eval $set_cc_for_build |
172 |
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
173 |
< |
| grep __ELF__ >/dev/null |
173 |
> |
| grep -q __ELF__ |
174 |
|
then |
175 |
|
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). |
176 |
|
# Return netbsd for either. FIX? |
333 |
|
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) |
334 |
|
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` |
335 |
|
exit ;; |
336 |
+ |
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) |
337 |
+ |
echo i386-pc-auroraux${UNAME_RELEASE} |
338 |
+ |
exit ;; |
339 |
|
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) |
340 |
|
eval $set_cc_for_build |
341 |
|
SUN_ARCH="i386" |
659 |
|
# => hppa64-hp-hpux11.23 |
660 |
|
|
661 |
|
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | |
662 |
< |
grep __LP64__ >/dev/null |
662 |
> |
grep -q __LP64__ |
663 |
|
then |
664 |
|
HP_ARCH="hppa2.0w" |
665 |
|
else |
810 |
|
i*:PW*:*) |
811 |
|
echo ${UNAME_MACHINE}-pc-pw32 |
812 |
|
exit ;; |
813 |
< |
*:Interix*:[3456]*) |
813 |
> |
*:Interix*:*) |
814 |
|
case ${UNAME_MACHINE} in |
815 |
|
x86) |
816 |
|
echo i586-pc-interix${UNAME_RELEASE} |
817 |
|
exit ;; |
818 |
< |
EM64T | authenticamd | genuineintel) |
818 |
> |
authenticamd | genuineintel | EM64T) |
819 |
|
echo x86_64-unknown-interix${UNAME_RELEASE} |
820 |
|
exit ;; |
821 |
|
IA64) |
825 |
|
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) |
826 |
|
echo i${UNAME_MACHINE}-pc-mks |
827 |
|
exit ;; |
828 |
+ |
8664:Windows_NT:*) |
829 |
+ |
echo x86_64-pc-mks |
830 |
+ |
exit ;; |
831 |
|
i*:Windows_NT*:* | Pentium*:Windows_NT*:*) |
832 |
|
# How do we know it's Interix rather than the generic POSIX subsystem? |
833 |
|
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we |
857 |
|
i*86:Minix:*:*) |
858 |
|
echo ${UNAME_MACHINE}-pc-minix |
859 |
|
exit ;; |
860 |
+ |
alpha:Linux:*:*) |
861 |
+ |
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in |
862 |
+ |
EV5) UNAME_MACHINE=alphaev5 ;; |
863 |
+ |
EV56) UNAME_MACHINE=alphaev56 ;; |
864 |
+ |
PCA56) UNAME_MACHINE=alphapca56 ;; |
865 |
+ |
PCA57) UNAME_MACHINE=alphapca56 ;; |
866 |
+ |
EV6) UNAME_MACHINE=alphaev6 ;; |
867 |
+ |
EV67) UNAME_MACHINE=alphaev67 ;; |
868 |
+ |
EV68*) UNAME_MACHINE=alphaev68 ;; |
869 |
+ |
esac |
870 |
+ |
objdump --private-headers /bin/sh | grep -q ld.so.1 |
871 |
+ |
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi |
872 |
+ |
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} |
873 |
+ |
exit ;; |
874 |
|
arm*:Linux:*:*) |
875 |
|
eval $set_cc_for_build |
876 |
|
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
893 |
|
frv:Linux:*:*) |
894 |
|
echo frv-unknown-linux-gnu |
895 |
|
exit ;; |
896 |
+ |
i*86:Linux:*:*) |
897 |
+ |
LIBC=gnu |
898 |
+ |
eval $set_cc_for_build |
899 |
+ |
sed 's/^ //' << EOF >$dummy.c |
900 |
+ |
#ifdef __dietlibc__ |
901 |
+ |
LIBC=dietlibc |
902 |
+ |
#endif |
903 |
+ |
EOF |
904 |
+ |
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` |
905 |
+ |
echo "${UNAME_MACHINE}-pc-linux-${LIBC}" |
906 |
+ |
exit ;; |
907 |
|
ia64:Linux:*:*) |
908 |
|
echo ${UNAME_MACHINE}-unknown-linux-gnu |
909 |
|
exit ;; |
913 |
|
m68*:Linux:*:*) |
914 |
|
echo ${UNAME_MACHINE}-unknown-linux-gnu |
915 |
|
exit ;; |
916 |
< |
mips:Linux:*:*) |
886 |
< |
eval $set_cc_for_build |
887 |
< |
sed 's/^ //' << EOF >$dummy.c |
888 |
< |
#undef CPU |
889 |
< |
#undef mips |
890 |
< |
#undef mipsel |
891 |
< |
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) |
892 |
< |
CPU=mipsel |
893 |
< |
#else |
894 |
< |
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) |
895 |
< |
CPU=mips |
896 |
< |
#else |
897 |
< |
CPU= |
898 |
< |
#endif |
899 |
< |
#endif |
900 |
< |
EOF |
901 |
< |
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' |
902 |
< |
/^CPU/{ |
903 |
< |
s: ::g |
904 |
< |
p |
905 |
< |
}'`" |
906 |
< |
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } |
907 |
< |
;; |
908 |
< |
mips64:Linux:*:*) |
916 |
> |
mips:Linux:*:* | mips64:Linux:*:*) |
917 |
|
eval $set_cc_for_build |
918 |
|
sed 's/^ //' << EOF >$dummy.c |
919 |
|
#undef CPU |
920 |
< |
#undef mips64 |
921 |
< |
#undef mips64el |
920 |
> |
#undef ${UNAME_MACHINE} |
921 |
> |
#undef ${UNAME_MACHINE}el |
922 |
|
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) |
923 |
< |
CPU=mips64el |
923 |
> |
CPU=${UNAME_MACHINE}el |
924 |
|
#else |
925 |
|
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) |
926 |
< |
CPU=mips64 |
926 |
> |
CPU=${UNAME_MACHINE} |
927 |
|
#else |
928 |
|
CPU= |
929 |
|
#endif |
930 |
|
#endif |
931 |
|
EOF |
932 |
< |
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' |
925 |
< |
/^CPU/{ |
926 |
< |
s: ::g |
927 |
< |
p |
928 |
< |
}'`" |
932 |
> |
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` |
933 |
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } |
934 |
|
;; |
935 |
|
or32:Linux:*:*) |
936 |
|
echo or32-unknown-linux-gnu |
937 |
|
exit ;; |
934 |
– |
ppc:Linux:*:*) |
935 |
– |
echo powerpc-unknown-linux-gnu |
936 |
– |
exit ;; |
937 |
– |
ppc64:Linux:*:*) |
938 |
– |
echo powerpc64-unknown-linux-gnu |
939 |
– |
exit ;; |
940 |
– |
alpha:Linux:*:*) |
941 |
– |
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in |
942 |
– |
EV5) UNAME_MACHINE=alphaev5 ;; |
943 |
– |
EV56) UNAME_MACHINE=alphaev56 ;; |
944 |
– |
PCA56) UNAME_MACHINE=alphapca56 ;; |
945 |
– |
PCA57) UNAME_MACHINE=alphapca56 ;; |
946 |
– |
EV6) UNAME_MACHINE=alphaev6 ;; |
947 |
– |
EV67) UNAME_MACHINE=alphaev67 ;; |
948 |
– |
EV68*) UNAME_MACHINE=alphaev68 ;; |
949 |
– |
esac |
950 |
– |
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null |
951 |
– |
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi |
952 |
– |
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} |
953 |
– |
exit ;; |
938 |
|
padre:Linux:*:*) |
939 |
|
echo sparc-unknown-linux-gnu |
940 |
|
exit ;; |
941 |
+ |
parisc64:Linux:*:* | hppa64:Linux:*:*) |
942 |
+ |
echo hppa64-unknown-linux-gnu |
943 |
+ |
exit ;; |
944 |
|
parisc:Linux:*:* | hppa:Linux:*:*) |
945 |
|
# Look for CPU level |
946 |
|
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
949 |
|
*) echo hppa-unknown-linux-gnu ;; |
950 |
|
esac |
951 |
|
exit ;; |
952 |
< |
parisc64:Linux:*:* | hppa64:Linux:*:*) |
953 |
< |
echo hppa64-unknown-linux-gnu |
952 |
> |
ppc64:Linux:*:*) |
953 |
> |
echo powerpc64-unknown-linux-gnu |
954 |
> |
exit ;; |
955 |
> |
ppc:Linux:*:*) |
956 |
> |
echo powerpc-unknown-linux-gnu |
957 |
|
exit ;; |
958 |
|
s390:Linux:*:* | s390x:Linux:*:*) |
959 |
|
echo ${UNAME_MACHINE}-ibm-linux |
976 |
|
xtensa*:Linux:*:*) |
977 |
|
echo ${UNAME_MACHINE}-unknown-linux-gnu |
978 |
|
exit ;; |
989 |
– |
i*86:Linux:*:*) |
990 |
– |
# The BFD linker knows what the default object file format is, so |
991 |
– |
# first see if it will tell us. cd to the root directory to prevent |
992 |
– |
# problems with other programs or directories called `ld' in the path. |
993 |
– |
# Set LC_ALL=C to ensure ld outputs messages in English. |
994 |
– |
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ |
995 |
– |
| sed -ne '/supported targets:/!d |
996 |
– |
s/[ ][ ]*/ /g |
997 |
– |
s/.*supported targets: *// |
998 |
– |
s/ .*// |
999 |
– |
p'` |
1000 |
– |
case "$ld_supported_targets" in |
1001 |
– |
elf32-i386) |
1002 |
– |
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" |
1003 |
– |
;; |
1004 |
– |
a.out-i386-linux) |
1005 |
– |
echo "${UNAME_MACHINE}-pc-linux-gnuaout" |
1006 |
– |
exit ;; |
1007 |
– |
"") |
1008 |
– |
# Either a pre-BFD a.out linker (linux-gnuoldld) or |
1009 |
– |
# one that does not give us useful --help. |
1010 |
– |
echo "${UNAME_MACHINE}-pc-linux-gnuoldld" |
1011 |
– |
exit ;; |
1012 |
– |
esac |
1013 |
– |
# Determine whether the default compiler is a.out or elf |
1014 |
– |
eval $set_cc_for_build |
1015 |
– |
sed 's/^ //' << EOF >$dummy.c |
1016 |
– |
#include <features.h> |
1017 |
– |
#ifdef __ELF__ |
1018 |
– |
# ifdef __GLIBC__ |
1019 |
– |
# if __GLIBC__ >= 2 |
1020 |
– |
LIBC=gnu |
1021 |
– |
# else |
1022 |
– |
LIBC=gnulibc1 |
1023 |
– |
# endif |
1024 |
– |
# else |
1025 |
– |
LIBC=gnulibc1 |
1026 |
– |
# endif |
1027 |
– |
#else |
1028 |
– |
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) |
1029 |
– |
LIBC=gnu |
1030 |
– |
#else |
1031 |
– |
LIBC=gnuaout |
1032 |
– |
#endif |
1033 |
– |
#endif |
1034 |
– |
#ifdef __dietlibc__ |
1035 |
– |
LIBC=dietlibc |
1036 |
– |
#endif |
1037 |
– |
EOF |
1038 |
– |
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' |
1039 |
– |
/^LIBC/{ |
1040 |
– |
s: ::g |
1041 |
– |
p |
1042 |
– |
}'`" |
1043 |
– |
test x"${LIBC}" != x && { |
1044 |
– |
echo "${UNAME_MACHINE}-pc-linux-${LIBC}" |
1045 |
– |
exit |
1046 |
– |
} |
1047 |
– |
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } |
1048 |
– |
;; |
979 |
|
i*86:DYNIX/ptx:4*:*) |
980 |
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
981 |
|
# earlier versions are messed up and put the nodename in both |
1004 |
|
i*86:syllable:*:*) |
1005 |
|
echo ${UNAME_MACHINE}-pc-syllable |
1006 |
|
exit ;; |
1007 |
< |
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) |
1007 |
> |
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) |
1008 |
|
echo i386-unknown-lynxos${UNAME_RELEASE} |
1009 |
|
exit ;; |
1010 |
|
i*86:*DOS:*:*) |
1112 |
|
rs6000:LynxOS:2.*:*) |
1113 |
|
echo rs6000-unknown-lynxos${UNAME_RELEASE} |
1114 |
|
exit ;; |
1115 |
< |
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) |
1115 |
> |
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) |
1116 |
|
echo powerpc-unknown-lynxos${UNAME_RELEASE} |
1117 |
|
exit ;; |
1118 |
|
SM[BE]S:UNIX_SV:*:*) |
1205 |
|
*:Darwin:*:*) |
1206 |
|
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1207 |
|
case $UNAME_PROCESSOR in |
1208 |
+ |
i386) |
1209 |
+ |
eval $set_cc_for_build |
1210 |
+ |
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then |
1211 |
+ |
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ |
1212 |
+ |
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ |
1213 |
+ |
grep IS_64BIT_ARCH >/dev/null |
1214 |
+ |
then |
1215 |
+ |
UNAME_PROCESSOR="x86_64" |
1216 |
+ |
fi |
1217 |
+ |
fi ;; |
1218 |
|
unknown) UNAME_PROCESSOR=powerpc ;; |
1219 |
|
esac |
1220 |
|
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} |