diff --git a/Makefile.am b/Makefile.am index 6c966199..b2d31c6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -274,6 +274,15 @@ src_libzmq_la_CPPFLAGS += ${sodium_CFLAGS} src_libzmq_la_LIBADD += ${sodium_LIBS} endif +if USE_TWEETNACL +src_libzmq_la_SOURCES += \ + tweetnacl/src/tweetnacl.c \ + tweetnacl/contrib/randombytes/devurandom.c +src_libzmq_la_CXXFLAGS += \ + -I$(top_builddir)/tweetnacl/contrib/randombytes \ + -I$(top_builddir)/tweetnacl/src +endif + if HAVE_PGM src_libzmq_la_CPPFLAGS += ${pgm_CFLAGS} src_libzmq_la_LIBADD += ${pgm_LIBS} diff --git a/configure.ac b/configure.ac index b202fb92..9c04ba0c 100644 --- a/configure.ac +++ b/configure.ac @@ -431,6 +431,12 @@ AC_ARG_WITH([libsodium], [AS_HELP_STRING([--with-libsodium], [require_libsodium_ext=$withval], [require_libsodium_ext=yes]) +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], + [with_tweetnacl=no]) + # conditionally require libsodium package if test "x$require_libsodium_ext" != "xno"; then PKG_CHECK_MODULES([sodium], [libsodium], [have_sodium_library="yes"]) @@ -446,10 +452,14 @@ if test "x$have_sodium_library" != "xno"; then CPPFLAGS="$CPPFLAGS -Wno-long-long" ;; esac +elif test "x$with_tweetnacl" != "xno"; then + echo "using tweetnacl" + AC_DEFINE(HAVE_LIBSODIUM, 1, [Sodium is provided by tweetnacl.]) + AC_DEFINE(HAVE_TWEETNACL, 1, [Using tweetnacl.]) fi - AM_CONDITIONAL(HAVE_SODIUM, test "x$have_sodium_library" != "xno") +AM_CONDITIONAL(USE_TWEETNACL, test "x$with_tweetnacl" != "xno") # build using pgm have_pgm_library="no"