Merge pull request #97 from minrk/configure-tweetnacl

support tweetnacl in configure
This commit is contained in:
Pieter Hintjens 2016-02-08 13:01:12 +01:00
commit b539733cee
2 changed files with 37 additions and 3 deletions

View File

@ -237,6 +237,15 @@ libzmq_la_CPPFLAGS += ${sodium_CFLAGS}
libzmq_la_LIBADD += ${sodium_LIBS} libzmq_la_LIBADD += ${sodium_LIBS}
endif endif
if USE_TWEETNACL
libzmq_la_SOURCES += \
tweetnacl/src/tweetnacl.c \
tweetnacl/contrib/randombytes/devurandom.c
libzmq_la_CXXFLAGS += \
-I$(top_builddir)/tweetnacl/contrib/randombytes \
-I$(top_builddir)/tweetnacl/src
endif
if HAVE_PGM if HAVE_PGM
libzmq_la_CPPFLAGS += ${pgm_CFLAGS} libzmq_la_CPPFLAGS += ${pgm_CFLAGS}
libzmq_la_LIBADD += ${pgm_LIBS} libzmq_la_LIBADD += ${pgm_LIBS}

View File

@ -393,20 +393,45 @@ fi
have_sodium_library="no" have_sodium_library="no"
AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium],
[require libzmq build with libsodium. Requires pkg-config [default=no]])], [require libzmq build with libsodium crypto library. Requires pkg-config [default=check]])],
[require_libsodium_ext=$withval], [require_libsodium_ext=$withval],
[require_libsodium_ext=yes]) [require_libsodium_ext=check])
AC_ARG_WITH([tweetnacl], [AS_HELP_STRING([--with-tweetnacl],
[build libzmq with bundled tweetnacl crypto library [default=no]])],
[require_libsodium_ext=no
with_tweetnacl=yes
AC_MSG_CHECKING(for sodium)
AC_MSG_RESULT(tweetnacl)],
[with_tweetnacl=check])
# conditionally require libsodium package # conditionally require libsodium package
if test "x$require_libsodium_ext" != "xno"; then if test "x$require_libsodium_ext" != "xno"; then
PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"]) PKG_CHECK_MODULES([sodium], [libsodium],
[
have_sodium_library=yes
with_tweetnacl=no
],
[
if test "x$require_libsodium_ext" == "xyes"; then
AC_MSG_ERROR(libsodium has been requested but not found)
else
AC_MSG_RESULT([ libsodium not found, using tweetnacl])
have_sodium_library=no
with_tweetnacl=yes
fi
])
fi fi
if test "x$have_sodium_library" != "xno"; then if test "x$have_sodium_library" != "xno"; then
AC_DEFINE(HAVE_LIBSODIUM, 1, [The libsodium library is to be used.]) AC_DEFINE(HAVE_LIBSODIUM, 1, [The libsodium library is to be used.])
elif test "x$with_tweetnacl" != "xno"; then
AC_DEFINE(HAVE_LIBSODIUM, 1, [Sodium is provided by tweetnacl.])
AC_DEFINE(HAVE_TWEETNACL, 1, [Using tweetnacl.])
fi fi
AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" != "xno") AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" != "xno")
AM_CONDITIONAL(USE_TWEETNACL, test "x$with_tweetnacl" != "xno")
# build using pgm # build using pgm
have_pgm_library="no" have_pgm_library="no"