diff --git a/configure.ac b/configure.ac index 44e901a5..6a3a2420 100644 --- a/configure.ac +++ b/configure.ac @@ -63,10 +63,45 @@ LIBZMQ_CHECK_ENABLE_DEBUG # Check wheter to enable code coverage LIBZMQ_WITH_GCOV -# Checks for libraries -AC_CHECK_LIB([pthread], [pthread_create]) -AC_CHECK_LIB([rt], [clock_gettime]) -AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security)) +# Allow libsodium to be installed in a custom path: + +AC_ARG_WITH([libsodium], + [AS_HELP_STRING([--with-libsodium], + [Specify libsodium prefix])], + [zmq_search_libsodium="yes"], + []) + +if test "x$zmq_search_libsodium" = "xyes"; then + if test -r "${with_libsodium}/include/sodium.h"; then + CXXFLAGS="-I${with_libsodium}/include ${CXXFLAGS}" + LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}" + fi +fi + +AC_ARG_WITH([libsodium-include-dir], + [AS_HELP_STRING([--with-libsodium-include-dir], + [Specify libsodium include prefix])], + [zmq_search_libsodium_include="yes"], + []) + +if test "x$zmq_search_libsodium_include" = "xyes"; then + if test -r "${with_libsodium_include_dir}/sodium.h"; then + CXXFLAGS="-I${with_libsodium_include_dir}/include ${CXXFLAGS}" + fi +fi + +AC_ARG_WITH([libsodium_lib_dir], + [AS_HELP_STRING([--with-libsodium-lib-dir], + [Specify libsodium library prefix])], + [zmq_search_libsodium_lib="yes"], + []) + +if test "x$zmq_search_libsodium_lib" = "xyes"; then + if test -r "${with_libsodium_lib_dir}/libsodium.{a|so|dylib}"; then + LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}" + fi +fi +>>>>>>> aa84e85... Add '-lssp' linker flag for Solaris. Check for libraries after host specific setup. # Set pedantic libzmq_pedantic="yes" @@ -122,6 +157,8 @@ case "${host_os}" in if test "x$solaris_has_atomic" = "xno"; then AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes]) fi + # ssp library is required for libsodium on Solaris-like systems + LDFLAGS="-lssp $LDFLAGS" ;; *freebsd*) # Define on FreeBSD to enable all library features @@ -215,6 +252,11 @@ case "${host_os}" in ;; esac +# Checks for libraries +AC_CHECK_LIB([pthread], [pthread_create]) +AC_CHECK_LIB([rt], [clock_gettime]) +AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security)) + # # Check if the compiler supports -fvisibility=hidden flag. MinGW32 uses __declspec #