aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2019-04-19 22:07:37 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2019-04-19 22:07:37 +0300
commita50b4d566f089ae46402a6f38096a0ff9c50eae2 (patch)
treef2db23e5e9ea8a3e5d6c324fe77e6738c9fc0843 /configure.ac
parent9998ca76905bb3b922c147281e13f4718bf72fe3 (diff)
downloadlibmicrohttpd-a50b4d566f089ae46402a6f38096a0ff9c50eae2.tar.gz
libmicrohttpd-a50b4d566f089ae46402a6f38096a0ff9c50eae2.zip
mhd_bithelpers.h: use bytes swap instead of individual bytes
assignment when endianess is known to significantly speedup MD5 and SHA256 calculations. Use built-in bytes swap when available.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac14
1 files changed, 14 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 62f5ed5e..c977f746 100644
--- a/configure.ac
+++ b/configure.ac
@@ -662,6 +662,20 @@ AX_CHECK_LINK_FLAG([-fno-strict-aliasing],
662 662
663AC_C_BIGENDIAN 663AC_C_BIGENDIAN
664AC_C_VARARRAYS 664AC_C_VARARRAYS
665AC_CACHE_CHECK([[whether __builtin_bswap32() is available]],
666 [[mhd_cv_func___builtin_bswap32_avail]], [dnl
667 AC_TRY_LINK([#include<stdint.h>],[uint32_t a = 1; uint32_t b = __builtin_bswap32(a); a = b;],
668 [[mhd_cv_func___builtin_bswap32_avail="yes"]], [[mhd_cv_func___builtin_bswap32_avail="no"]])
669])
670AS_IF([[test "x$mhd_cv_func___builtin_bswap32_avail" = "xyes"]],
671 [AC_DEFINE([[MHD_HAVE___BUILTIN_BSWAP32]], [[1]], [Define to 1 if you have __builtin_bswap32() builtin function])])
672AC_CACHE_CHECK([[whether __builtin_bswap64() is available]],
673 [[mhd_cv_func___builtin_bswap64_avail]], [dnl
674 AC_TRY_LINK([#include<stdint.h>],[uint64_t a = 1; uint32_t b = __builtin_bswap64(a); a = b;],
675 [[mhd_cv_func___builtin_bswap64_avail="yes"]], [[mhd_cv_func___builtin_bswap64_avail="no"]])
676])
677AS_IF([[test "x$mhd_cv_func___builtin_bswap64_avail" = "xyes"]],
678 [AC_DEFINE([[MHD_HAVE___BUILTIN_BSWAP64]], [[1]], [Define to 1 if you have __builtin_bswap64() builtin function])])
665 679
666AC_CHECK_PROG([HAVE_CURL_BINARY],[curl],[yes],[no]) 680AC_CHECK_PROG([HAVE_CURL_BINARY],[curl],[yes],[no])
667AM_CONDITIONAL([HAVE_CURL_BINARY],[test "x$HAVE_CURL_BINARY" = "xyes"]) 681AM_CONDITIONAL([HAVE_CURL_BINARY],[test "x$HAVE_CURL_BINARY" = "xyes"])