1. 11 Feb, 2016 14 commits
    • Luca Boccassi's avatar
      Problem: CMake CI build still clones libsodium · 0bdc5d04
      Luca Boccassi authored
      Solution: avoid cloning libsodium, default build is tweetnacl
      0bdc5d04
    • Luca Boccassi's avatar
      Problem: Android CI build uses unstable libsodium · 4f5594c2
      Luca Boccassi authored
      Solution: checkout stable branch before building
      4f5594c2
    • Luca Boccassi's avatar
      Problem: CI still thinks libsodium is default · 3420e6e0
      Luca Boccassi authored
      Solution: build by default with tweetnacl, and add sub-build project
      to test libsodium
      3420e6e0
    • Luca Boccassi's avatar
      Merge pull request #1794 from hintjens/master · 1fb48409
      Luca Boccassi authored
      Problem: tweetnacl sources are a mess
      1fb48409
    • Pieter Hintjens's avatar
      Problem: tweetnacl sources are a mess · f8ed793f
      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
      f8ed793f
    • Constantin Rack's avatar
      a460e5ab
    • Pieter Hintjens's avatar
      Problem: some configure options are confusing · e65367ea
      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'.
      e65367ea
    • Pieter Hintjens's avatar
      Merge pull request #1792 from bluca/fix_gitignore · 8e40e67d
      Pieter Hintjens authored
      Problem: old filenames in .gitignore
      8e40e67d
    • Luca Boccassi's avatar
      Merge pull request #1791 from hintjens/master · 700de65a
      Luca Boccassi authored
      Problem: autotools platform.hpp is not compatible with CMake
      700de65a
    • Luca Boccassi's avatar
      Problem: old filenames in .gitignore · 2e3a0db5
      Luca Boccassi authored
      Solution: remove them
      2e3a0db5
    • Pieter Hintjens's avatar
      Problem: autotools platform.hpp is not compatible with CMake · 9f8ced3f
      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.
      9f8ced3f
    • Constantin Rack's avatar
      Merge pull request #1790 from hintjens/master · dd4b93dd
      Constantin Rack authored
      Problem: use of libsodium vs. tweetnacl is confused
      dd4b93dd
    • Pieter Hintjens's avatar
      Problem: cmake fails with #error None of the ZMQ_USE_* macros defined · ddbbe3b4
      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.
      ddbbe3b4
    • Pieter Hintjens's avatar
      Problem: use of libsodium vs. tweetnacl is confused · b49a6041
      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.
      b49a6041
  2. 09 Feb, 2016 8 commits
  3. 08 Feb, 2016 10 commits
  4. 07 Feb, 2016 8 commits