commit 65ee731b75c4fc24b2a73b32cc081704fc0b6063
parent 370bdd3c5739aa8d94753e841aecf71fa04d9400
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date: Wed, 13 Dec 2023 08:39:23 +0000
Better endianness detection for Solaris
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat:
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
@@ -196,7 +196,7 @@ trybasic () {
tryendianness () {
echo "Checking endianness..."
if iscached endianness ; then return ; fi
- for i in endian.h sys/endian.h machine/endian.h arpa/nameser_compat.h ; do
+ for i in endian.h sys/endian.h machine/endian.h ; do
cat > "$tmpc" <<EOF
#undef _POSIX_C_SOURCE
#undef _XOPEN_SOURCE
@@ -216,7 +216,7 @@ int c = BYTE_ORDER ;
EOF
trybasic "$tmpc" || continue
for j in little big pdp ; do
- k=`echo $j | tr a-z A-Z`
+ k=`echo $j | tr '[:lower:]' '[:upper:]'`
cat > "$tmpc" <<EOF
#undef _POSIX_C_SOURCE
#undef _XOPEN_SOURCE
@@ -242,6 +242,20 @@ EOF
rm -f "$tmpc"
fail "$0: error: unable to determine endianness according to $i"
done
+
+ for j in little big ; do
+ k=`echo $j | tr '[:lower:]' '[:upper:]'`
+ cat > "$tmpc" <<EOF
+#include <sys/isa_defs.h>
+int a = _${k}_ENDIAN ;
+EOF
+ if trybasic "$tmpc" ; then
+ echo "endianness: $j" >> "$sysdeps/sysdeps"
+ echo " ... $j"
+ rm -f "$tmpc"
+ return
+ fi
+ done
rm -f "$tmpc"
fail "$0: error: unable to determine endianness: no suitable endian.h found"
}