diff --git a/configure b/configure index 0db02da308e73730599aad3e14b22c45fbb4b0d3..a9a4fd74ee051c89ca463dd85caaf9c365e0f641 100755 --- a/configure +++ b/configure @@ -1519,20 +1519,10 @@ EOF # --- # big/little-endian test -if ! enabled cross_compile; then - check_ld <<EOF || die "endian test failed" && $TMPE && bigendian="yes" -#include <inttypes.h> -int main(int argc, char ** argv){ - volatile uint32_t i=0x01234567; - return (*((uint8_t*)(&i))) == 0x67; -} +check_cc <<EOF || die "endian test failed" +unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E'; EOF -else - # programs cannot be launched if cross compiling, so make a static guess - if test "$arch" = "powerpc" -o "$arch" = "mips" ; then - bigendian="yes" - fi -fi +strings $TMPO | grep -q BIGE && enable bigendian # --- # check availability of some header files