Merge Jean-Charles
[m6w6/libmemcached] / m4 / byteorder.m4
index 7dd1a41d3b89ddc339d4cbf446d276efff4787ed..4692bbd205c44a9fe3719e4a534169272b10de15 100644 (file)
@@ -1,41 +1,25 @@
 AC_DEFUN([DETECT_BYTEORDER],
 [
-    AC_MSG_CHECKING([for htonll])
-    have_htoll="no"
+    AC_REQUIRE([AC_C_BIGENDIAN])
+    AC_CACHE_CHECK([for htonll],[av_cv_have_htonll],[
+
     AC_RUN_IFELSE([
-       AC_LANG_PROGRAM([
+       AC_LANG_PROGRAM([[
 #include <sys/types.h>
 #include <netinet/in.h>
 #include <inttypes.h>
-       ][
+       ]],[[
           return htonll(0);
-       ])            
+       ]])            
     ], [
-      have_htoll="yes"
-      AC_DEFINE([HAVE_HTONLL], [1], [Have ntohll])
-    ])
+      ac_cv_have_htonll=yes
+    ],[
+      ac_cv_have_htonll=no
+    ])])
 
-    AC_MSG_RESULT([$have_htoll])
-    AM_CONDITIONAL([BUILD_BYTEORDER],[test "x$have_htoll" = "xno"])
-    AC_MSG_CHECKING([byteorder])
-    have_htoll="no"
-    AC_RUN_IFELSE([
-       AC_LANG_PROGRAM([
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <inttypes.h>
-       ], [
-if (htonl(5) != 5) {
-   return 1;
-}
-       ])            
-    ], [
-       AC_MSG_RESULT([big endian])
-       AC_DEFINE([BYTEORDER_BIG_ENDIAN], [1], [Enable big endian byteorder])
-    ], [
-       AC_MSG_RESULT([little endian])
-       AC_DEFINE([BYTEORDER_LITTLE_ENDIAN], [1], [Enable little endian byteorder])
-    ])
+    AS_IF([test "x$ac_cv_have_htonll" = "xyes"],[
+      AC_DEFINE([HAVE_HTONLL], [1], [Have ntohll])])
+
+    AM_CONDITIONAL([BUILD_BYTEORDER],[test "x$ac_cv_have_htonll" = "xno"])
 ])
 
-DETECT_BYTEORDER