X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=config%2Fbyteorder.m4;h=0d8cc8f8920918b0024385ddcd9dd1e5800acbe6;hb=7d6ac95fbb79b2ed7f7ae6783024a9a735617ee6;hp=fe88605a0d9aba5b61bb68575798b7d338855982;hpb=2b312deb8b7b3f662b492f94a13e673723387724;p=awesomized%2Flibmemcached diff --git a/config/byteorder.m4 b/config/byteorder.m4 index fe88605a..0d8cc8f8 100644 --- a/config/byteorder.m4 +++ b/config/byteorder.m4 @@ -1,11 +1,41 @@ -AC_RUN_IFELSE([ - AC_LANG_PROGRAM([ +AC_DEFUN([DETECT_BYTEORDER], +[ + AC_MSG_CHECKING([for htonll]) + have_htoll="no" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([ #include #include #include - ], [ + ], [ + return htonll(0); + ]) + ], [ + have_htoll="yes" + AC_DEFINE([HAVE_HTONLL], [1], [Have ntohll]) + ]) + + AC_MSG_RESULT([$have_htoll]) + AM_CONDITIONAL([BUILD_BYTEORDER],[test "x$have_htoll" == "xno"]) + if test "x$have_htoll" == "xno" + then + AC_MSG_CHECKING([byteorder]) + have_htoll="no" + AC_RUN_IFELSE([ + AC_LANG_PROGRAM([ +#include +#include +#include + ], [ if (htonl(5) != 5) { return 1; } - ]) - ], AC_DEFINE([BYTEORDER_BIG_ENDIAN], [1], [Enable big endian byteorder])) + ]) + ], [ + AC_MSG_RESULT([big endian]) + AC_DEFINE([BYTEORDER_BIG_ENDIAN], [1], [Enable big endian byteorder]) + ], AC_MSG_RESULT([little endian])) + fi +]) + +DETECT_BYTEORDER