1
1
#! /bin/sh
2
2
# Attempt to guess a canonical system name.
3
- # Copyright 1992-2022 Free Software Foundation, Inc.
3
+ # Copyright 1992-2024 Free Software Foundation, Inc.
4
4
5
5
# shellcheck disable=SC2006,SC2268 # see below for rationale
6
6
7
- timestamp=' 2022 -01-09 '
7
+ timestamp=' 2024 -01-01 '
8
8
9
9
# This file is free software; you can redistribute it and/or modify it
10
10
# under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
47
47
usage=" \
48
48
Usage: $0 [OPTION]
49
49
50
- Output the configuration name of the system \` $me ' is run on.
50
+ Output the configuration name of the system ' $me ' is run on.
51
51
52
52
Options:
53
53
-h, --help print this help, then exit
@@ -60,13 +60,13 @@ version="\
60
60
GNU config.guess ($timestamp )
61
61
62
62
Originally written by Per Bothner.
63
- Copyright 1992-2022 Free Software Foundation, Inc.
63
+ Copyright 1992-2024 Free Software Foundation, Inc.
64
64
65
65
This is free software; see the source for copying conditions. There is NO
66
66
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67
67
68
68
help="
69
- Try \` $me --help' for more information."
69
+ Try ' $me --help' for more information."
70
70
71
71
# Parse command line
72
72
while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
102
102
# temporary files to be created and, as you can see below, it is a
103
103
# headache to deal with in a portable fashion.
104
104
105
- # Historically, ` CC_FOR_BUILD' used to be named ` HOST_CC'. We still
106
- # use ` HOST_CC' if defined, but it is deprecated.
105
+ # Historically, ' CC_FOR_BUILD' used to be named ' HOST_CC'. We still
106
+ # use ' HOST_CC' if defined, but it is deprecated.
107
107
108
108
# Portable tmp directory creation inspired by the Autoconf team.
109
109
@@ -155,20 +155,26 @@ Linux|GNU|GNU/*)
155
155
156
156
set_cc_for_build
157
157
cat << -EOF > "$dummy .c"
158
+ #if defined(__ANDROID__)
159
+ LIBC=android
160
+ #else
158
161
#include <features.h>
159
162
#if defined(__UCLIBC__)
160
163
LIBC=uclibc
161
164
#elif defined(__dietlibc__)
162
165
LIBC=dietlibc
163
166
#elif defined(__GLIBC__)
164
167
LIBC=gnu
168
+ #elif defined(__LLVM_LIBC__)
169
+ LIBC=llvm
165
170
#else
166
171
#include <stdarg.h>
167
172
/* First heuristic to detect musl libc. */
168
173
#ifdef __DEFINED_va_list
169
174
LIBC=musl
170
175
#endif
171
176
#endif
177
+ #endif
172
178
EOF
173
179
cc_set_libc=` $CC_FOR_BUILD -E " $dummy .c" 2> /dev/null | grep ' ^LIBC' | sed ' s, ,,g' `
174
180
eval " $cc_set_libc "
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
459
465
UNAME_RELEASE=` uname -v`
460
466
;;
461
467
esac
462
- # Japanese Language versions have a version number like ` 4.1.3-JL'.
468
+ # Japanese Language versions have a version number like ' 4.1.3-JL'.
463
469
SUN_REL=` echo " $UNAME_RELEASE " | sed -e ' s/-/_/' `
464
470
GUESS=sparc-sun-sunos$SUN_REL
465
471
;;
904
910
fi
905
911
;;
906
912
* :FreeBSD:* :* )
907
- UNAME_PROCESSOR=` /usr/bin/ uname -p`
913
+ UNAME_PROCESSOR=` uname -p`
908
914
case $UNAME_PROCESSOR in
909
915
amd64)
910
916
UNAME_PROCESSOR=x86_64 ;;
@@ -966,11 +972,37 @@ EOF
966
972
GNU_REL=` echo " $UNAME_RELEASE " | sed -e ' s/[-(].*//' `
967
973
GUESS=$UNAME_MACHINE -unknown-$GNU_SYS$GNU_REL -$LIBC
968
974
;;
975
+ x86_64:[Mm]anagarm:* :* |i? 86:[Mm]anagarm:* :* )
976
+ GUESS=" $UNAME_MACHINE -pc-managarm-mlibc"
977
+ ;;
978
+ * :[Mm]anagarm:* :* )
979
+ GUESS=" $UNAME_MACHINE -unknown-managarm-mlibc"
980
+ ;;
969
981
* :Minix:* :* )
970
982
GUESS=$UNAME_MACHINE -unknown-minix
971
983
;;
972
984
aarch64:Linux:* :* )
973
- GUESS=$UNAME_MACHINE -unknown-linux-$LIBC
985
+ set_cc_for_build
986
+ CPU=$UNAME_MACHINE
987
+ LIBCABI=$LIBC
988
+ if test " $CC_FOR_BUILD " ! = no_compiler_found; then
989
+ ABI=64
990
+ sed ' s/^ //' << EOF > "$dummy .c"
991
+ #ifdef __ARM_EABI__
992
+ #ifdef __ARM_PCS_VFP
993
+ ABI=eabihf
994
+ #else
995
+ ABI=eabi
996
+ #endif
997
+ #endif
998
+ EOF
999
+ cc_set_abi=` $CC_FOR_BUILD -E " $dummy .c" 2> /dev/null | grep ' ^ABI' | sed ' s, ,,g' `
1000
+ eval " $cc_set_abi "
1001
+ case $ABI in
1002
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
1003
+ esac
1004
+ fi
1005
+ GUESS=$CPU -unknown-linux-$LIBCABI
974
1006
;;
975
1007
aarch64_be:Linux:* :* )
976
1008
UNAME_MACHINE=aarch64_be
@@ -1036,7 +1068,16 @@ EOF
1036
1068
k1om:Linux:* :* )
1037
1069
GUESS=$UNAME_MACHINE -unknown-linux-$LIBC
1038
1070
;;
1039
- loongarch32:Linux:* :* | loongarch64:Linux:* :* | loongarchx32:Linux:* :* )
1071
+ kvx:Linux:* :* )
1072
+ GUESS=$UNAME_MACHINE -unknown-linux-$LIBC
1073
+ ;;
1074
+ kvx:cos:* :* )
1075
+ GUESS=$UNAME_MACHINE -unknown-cos
1076
+ ;;
1077
+ kvx:mbr:* :* )
1078
+ GUESS=$UNAME_MACHINE -unknown-mbr
1079
+ ;;
1080
+ loongarch32:Linux:* :* | loongarch64:Linux:* :* )
1040
1081
GUESS=$UNAME_MACHINE -unknown-linux-$LIBC
1041
1082
;;
1042
1083
m32r* :Linux:* :* )
@@ -1151,16 +1192,27 @@ EOF
1151
1192
;;
1152
1193
x86_64:Linux:* :* )
1153
1194
set_cc_for_build
1195
+ CPU=$UNAME_MACHINE
1154
1196
LIBCABI=$LIBC
1155
1197
if test " $CC_FOR_BUILD " ! = no_compiler_found; then
1156
- if (echo ' #ifdef __ILP32__' ; echo IS_X32; echo ' #endif' ) | \
1157
- (CCOPTS=" " $CC_FOR_BUILD -E - 2> /dev/null) | \
1158
- grep IS_X32 > /dev/null
1159
- then
1160
- LIBCABI=${LIBC} x32
1161
- fi
1198
+ ABI=64
1199
+ sed ' s/^ //' << EOF > "$dummy .c"
1200
+ #ifdef __i386__
1201
+ ABI=x86
1202
+ #else
1203
+ #ifdef __ILP32__
1204
+ ABI=x32
1205
+ #endif
1206
+ #endif
1207
+ EOF
1208
+ cc_set_abi=` $CC_FOR_BUILD -E " $dummy .c" 2> /dev/null | grep ' ^ABI' | sed ' s, ,,g' `
1209
+ eval " $cc_set_abi "
1210
+ case $ABI in
1211
+ x86) CPU=i686 ;;
1212
+ x32) LIBCABI=${LIBC} x32 ;;
1213
+ esac
1162
1214
fi
1163
- GUESS=$UNAME_MACHINE -pc-linux-$LIBCABI
1215
+ GUESS=$CPU -pc-linux-$LIBCABI
1164
1216
;;
1165
1217
xtensa* :Linux:* :* )
1166
1218
GUESS=$UNAME_MACHINE -unknown-linux-$LIBC
@@ -1180,7 +1232,7 @@ EOF
1180
1232
GUESS=$UNAME_MACHINE -pc-sysv4.2uw$UNAME_VERSION
1181
1233
;;
1182
1234
i* 86:OS/2:* :* )
1183
- # If we were able to find ` uname', then EMX Unix compatibility
1235
+ # If we were able to find ' uname', then EMX Unix compatibility
1184
1236
# is probably installed.
1185
1237
GUESS=$UNAME_MACHINE -pc-os2-emx
1186
1238
;;
@@ -1321,7 +1373,7 @@ EOF
1321
1373
GUESS=ns32k-sni-sysv
1322
1374
fi
1323
1375
;;
1324
- PENTIUM:* :4.0* :* ) # Unisys ` ClearPath HMP IX 4000' SVR4/MP effort
1376
+ PENTIUM:* :4.0* :* ) # Unisys ' ClearPath HMP IX 4000' SVR4/MP effort
1325
1377
1326
1378
GUESS=i586-unisys-sysv4
1327
1379
;;
@@ -1367,8 +1419,11 @@ EOF
1367
1419
BePC:Haiku:* :* ) # Haiku running on Intel PC compatible.
1368
1420
GUESS=i586-pc-haiku
1369
1421
;;
1370
- x86_64:Haiku:* :* )
1371
- GUESS=x86_64-unknown-haiku
1422
+ ppc:Haiku:* :* ) # Haiku running on Apple PowerPC
1423
+ GUESS=powerpc-apple-haiku
1424
+ ;;
1425
+ * :Haiku:* :* ) # Haiku modern gcc (not bound by BeOS compat)
1426
+ GUESS=$UNAME_MACHINE -unknown-haiku
1372
1427
;;
1373
1428
SX-4:SUPER-UX:* :* )
1374
1429
GUESS=sx4-nec-superux$UNAME_RELEASE
@@ -1540,6 +1595,9 @@ EOF
1540
1595
* :Unleashed:* :* )
1541
1596
GUESS=$UNAME_MACHINE -unknown-unleashed$UNAME_RELEASE
1542
1597
;;
1598
+ * :Ironclad:* :* )
1599
+ GUESS=$UNAME_MACHINE -unknown-ironclad
1600
+ ;;
1543
1601
esac
1544
1602
1545
1603
# Do we have a guess based on uname results?
0 commit comments