- 11 Feb, 2016 19 commits
-
-
Pieter Hintjens authored
Problem: CI is borken
-
Luca Boccassi authored
Solution: if not building with tweetnacl, do not include its sources in Makefile.am. CMake already includes them optionally.
-
Luca Boccassi authored
Solution: must be upper case
-
Luca Boccassi authored
Solution: check for WITH_LIBSODIUM configure option instead of WITH_SODIUM
-
Luca Boccassi authored
Solution: set the curve_library variable to the expected value if libsodium is selected
-
Luca Boccassi authored
Solution: avoid cloning libsodium, default build is tweetnacl
-
Luca Boccassi authored
Solution: checkout stable branch before building
-
Luca Boccassi authored
Solution: build by default with tweetnacl, and add sub-build project to test libsodium
-
Luca Boccassi authored
Problem: tweetnacl sources are a mess
-
Pieter Hintjens authored
- they have no copyright / license statement - they are in some randomish directory structure - they are a mix of postable and non-portable files - they do not conform to conditional compile environment Overall, it makes it rather more work than needed, in build scripts. Solution: clean up tweetnacl sauce. - merged code into single tweetnacl.c and .h - standard copyright header, DJB to AUTHORS - moved into src/ along with all other source files - all system and conditional compilation hidden in these files - thus, they can be compiled and packaged in all cases - ZMQ_USE_TWEETNACL is set when we're using built-in tweetnacl - HAVE_LIBSODIUM is set when we're using external libsodium
-
Constantin Rack authored
-
Pieter Hintjens authored
It's especially annoying to see this: --enable-perf Build performance measurement tools [default=yes]. --disable-eventfd disable eventfd [default=no] --enable-curve-keygen Build curve key-generation tool [default=yes]. Solution: all options should explain the non-default case. Also the language should be enable/disable, with/without, rather than yes/no. E.g. '--without-docs'.
-
Pieter Hintjens authored
Problem: old filenames in .gitignore
-
Luca Boccassi authored
Problem: autotools platform.hpp is not compatible with CMake
-
Luca Boccassi authored
Solution: remove them
-
Pieter Hintjens authored
Specifically, the poller detection code does not set macros in platform.hpp. The configure script passed them as -D on the command line. Solution: rewrite the poller detection code.
-
Constantin Rack authored
Problem: use of libsodium vs. tweetnacl is confused
-
Pieter Hintjens authored
This happens if you first configure with autotools, and then run cmake. The problem is that the compiler finds the old src/platform.hpp before looking for the one generated by CMake. Further, there are a set of macros that configure passes via the command line, yet CMake passes via platform.hpp. (HAVE_xxx for pollers, at least.) This means you can't do a CMake build using the autotools platform.hpp. Solution: remove any src/platform.hpp when running cmake. This is a workaround. I'll fix the inconsistent macros separately.
-
Pieter Hintjens authored
It's unclear which we need and in the source code, conditional code treats tweetnacl as a subclass of libsodium, which is inaccurate. Solution: redesign the configure/cmake API for this: * tweetnacl is present by default and cannot be enabled * libsodium can be enabled using --with-libsodium, which replaces the built-in tweetnacl * CURVE encryption can be disabled entirely using --enable-curve=no The macros we define in platform.hpp are: ZMQ_HAVE_CURVE 1 // When CURVE is enabled HAVE_LIBSODIUM 1 // When we are using libsodium HAVE_TWEETNACL 1 // When we're using tweetnacl (default) As of this patch, the default build of libzmq always has CURVE security, and always uses tweetnacl.
-
- 09 Feb, 2016 8 commits
-
-
Min RK authored
Cleaning up recent option names
-
Pieter Hintjens authored
And I'm on a reasonably sized laptop. I think allocating INT_MAX memory is dangerous in a test case. Solution: expose this as a context option. I've used ZMQ_MAX_MSGSZ and documented it and implemented the API. However I don't know how to get the parent context for a socket, so the code in zmq.cpp is still unfinished.
-
Pieter Hintjens authored
These options are confusing and redundant. Their names suggest they apply to the tcp:// transport, yet they are used for all stream protocols. The methods zmq::set_tcp_receive_buffer and zmq::set_tcp_send_buffer don't use these values at all, they use ZMQ_SNDBUF and ZMQ_RCVBUF. Solution: merge these new options into ZMQ_SNDBUF and ZMQ_RCVBUF. This means defaulting these two options to 8192, and removing the new options. We now have ZMQ_SNDBUF and ZMQ_RCVBUF being used both for TCP socket control, and for input/output buffering. Note: the default for SNDBUF and RCVBUF are otherwise 4096.
-
Pieter Hintjens authored
The proper name is ZMQ_THREAD_SAFE Solution: fix in the documentation.
-
Pieter Hintjens authored
This option has a few issues. The name is long and clumsy. The functonality is not smooth: one must set both this and ZMQ_XPUB_VERBOSE at the same time, or things will break mysteriously. Solution: rename to ZMQ_XPUB_VERBOSER and make an atomic option. That is, implicitly does ZMQ_XPUB_VERBOSE.
-
Pieter Hintjens authored
Solution: rename to ZMQ_MAXRT This is the option name used on Windows, so easier to use and remember.
-
Pieter Hintjens authored
Problem: ZMQ_USEFD does not follow conventions
-
Luca Boccassi authored
Solution: rename socket option (and variables and files) from usefd to use_fd.
-
- 08 Feb, 2016 10 commits
-
-
Constantin Rack authored
Problem: ZMQ_PRE_ALLOCATED_FD is too long
-
Luca Boccassi authored
Solution: rename socket option (and variables and files) from pre_allocated_fd to usefd.
-
Pieter Hintjens authored
CMake and tweetnacl CI
-
Luca Boccassi authored
Solution: add builds/cmake/ci_build.sh and call it from travis.yml
-
Luca Boccassi authored
Solution: bump CMake required version to 2.8.12 to avoid: CMake Error at tests/CMakeLists.txt:110 (target_include_directories): Unknown CMake command "target_include_directories".
-
Luca Boccassi authored
Solution: add builds/tweetnacl/ci_build.sh and add it in travis.yml
-
Luca Boccassi authored
Solution: disable -pedantic when building with tweetnacl to avoid warning about "long long" not existing in ISO C++ 98
-
Pieter Hintjens authored
fallback on tweetnacl if libsodium is not found and not explicitly requested
-
Min RK authored
-
Min RK authored
allows building with tweetnacl without cmake
-
- 07 Feb, 2016 3 commits
-
-
Luca Boccassi authored
Fixes to Windows builds
-
Pieter Hintjens authored
Solution: fix these.
-
Pieter Hintjens authored
Solution: at least for vs2015, add vs2015/build.bat to work the same was as zproject.
-