diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2023-12-13 08:39:23 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2023-12-13 08:39:23 +0000 |
commit | 65ee731b75c4fc24b2a73b32cc081704fc0b6063 (patch) | |
tree | 1c1c0be50841d271de95d389f3eec4d64c73e71c | |
parent | 370bdd3c5739aa8d94753e841aecf71fa04d9400 (diff) | |
download | skalibs-65ee731b75c4fc24b2a73b32cc081704fc0b6063.tar.xz |
Better endianness detection for Solaris
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rwxr-xr-x | configure | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -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" } |