Commit Graph

319 Commits

Author SHA1 Message Date
Pieter Hintjens
fde81d7e07 Problem: can't build using gyp
I'm adding gyp support so that we can easily pull in libzmq
and other C/C++ projects into gyp packages, especially via
node-gyp.

Solution: add gyp definition

This works only for Windows, OS/X, and Linux. We set a single
macro in project.gyp according to the system, and the rest is
done in builds/gyp/platform.hpp. The values in that file are
not dynamic. Your mileage will vary.
2016-02-11 22:41:01 +01:00
Luca Boccassi
0bdc5d0457 Problem: CMake CI build still clones libsodium
Solution: avoid cloning libsodium, default build is tweetnacl
2016-02-11 20:27:06 +00:00
Luca Boccassi
4f5594c2ce Problem: Android CI build uses unstable libsodium
Solution: checkout stable branch before building
2016-02-11 20:25:21 +00:00
Luca Boccassi
3420e6e0dd Problem: CI still thinks libsodium is default
Solution: build by default with tweetnacl, and add sub-build project
to test libsodium
2016-02-11 20:16:17 +00:00
Pieter Hintjens
f8ed793f76 Problem: tweetnacl sources are a mess
- 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
2016-02-11 18:06:07 +01:00
Luca Boccassi
c23cc65735 Problem: no CMake Travis CI build
Solution: add builds/cmake/ci_build.sh and call it from travis.yml
2016-02-08 13:30:25 +00:00
Luca Boccassi
84544ca6e2 Problem: no CI build with tweetnacl
Solution: add builds/tweetnacl/ci_build.sh and add it in travis.yml
2016-02-08 12:31:05 +00:00
Pieter Hintjens
e0f02bdfb8 Problem: libzmq uses different build.bat style than zproject
Solution: at least for vs2015, add vs2015/build.bat to work the
same was as zproject.
2016-02-07 10:36:17 +01:00
Pieter Hintjens
0d7e7bfac0 Problem: MSVC project filters were out of date
Solution: update (with correct one from VS2015)
2016-02-06 14:12:43 +01:00
Pieter Hintjens
86aa7bb1bc Problem: commit a464eec7 really broke VS2015 builds
Took me over 8 hours to track down the cause of bizarre link
errors when building with libsodium. The VS project files are
not simple things.

Note to self and other maintainers: when someone is obviously
out of their depth, do not merge their changes to build scripts
without cynical appraisal.

Solution: undo the damage.
2016-02-05 00:25:59 +01:00
Pieter Hintjens
a3d9b46a60 Problem: Android build is slow and noisy
Solution: use --without-docs (changed from --without-documentation)
and also --quiet.
2016-02-04 11:24:25 +01:00
Pieter Hintjens
31d181effb Problem: MSVC build does not detect libsodium
Caused by error in last commit which used HAVE_LIBSODIUM instead
of HAVE_SODIUM.

Solution: use HAVE_LIBSODIUM as we do in other configure scripts.

The project is called 'libsodium' and not 'sodium'.
2016-02-03 23:45:01 +01:00
Pieter Hintjens
6a9af8ed62 Problem: can't build without libsodium from command line (MSVC)
There is an option to enable/disable libsodium via the Visual Studio
UI. This is not practical for command-line usage (via msbuild).

Solution: add configure.bat that searches for libsodium in sibling
directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1.

This is consistent with zproject, which has the same problem and
is getting the same solution for all dependency resolution on
Windows.

Note that this approach also provides a way to support tweetnacl
via a configure option.

Also, removed duplicate props files and re-copy in configure.bat
as it was an insane nightmare to update these by hand. (and not
clear that they were identical. Now it's forced.)
2016-02-03 22:44:06 +01:00
Pieter Hintjens
d218e03884 Problem: project files have tool version in two places
Leading to extra work when copying between versions of VS.

Solution: remove second unnecessary definition.
2016-02-02 22:49:15 +01:00
Pieter Hintjens
4ce9c7c742 Problem: does not build on VS2015
Solution: add missing project files

(Also, updated FD_SETSIZE to 16K as a bonus.)
2016-02-02 22:31:18 +01:00
Pieter Hintjens
b92055fa56 Problem: not building on VS2015
Solution: fixed project files, and warning in timers.cpp
2016-02-02 22:05:56 +01:00
Pieter Hintjens
44c6b0484e Revert "Revert "Problem: deprecated use and reference of zmq_term"" 2016-02-01 23:00:06 +01:00
Pieter Hintjens
1708bfefb7 Revert "Problem: deprecated use and reference of zmq_term" 2016-02-01 22:41:51 +01:00
Constantin Rack
a26bb743d4 Problem: docs are still referring to deprecated zmq_term
Solution: Replace with `zmq_ctx_term`
2016-02-01 22:00:35 +01:00
Pieter Hintjens
6f94af8cca Problem: various errors in build scripts
- zmq_utils.h was removed
- udp_address.cpp and udp_engine.cpp were added

Solution: patch all affected build scripts
2016-02-01 11:18:08 +01:00
sunkin351
9b01ae826e Restoring zmq_utils.h from previous version
I hope restoring this from a previous version doesn't do any damage, it
is missing in the current version of this repository and is vital for
the lib to compile anywhere.
2016-01-31 20:19:04 -08:00
sunkin351
a464eec7df Added "udp_address" and "udp_engine" to enable windows build
Altered VS2015 files to enable building of the library.
2016-01-31 17:54:31 -08:00
Pieter Hintjens
2ae4c55bf5 Problem: radio/dish class broke Windows builds
Solution: add these new classes to MSVC project files
2016-01-29 11:07:21 +01:00
Constantin Rack
a539b0c6e8 Problem: copyright year is still 2015
Solution: update to 2016
2016-01-28 15:07:31 +01:00
Benjamin Henrion
e19454e388 Problem: OpenWRT Makefile still uses tarballs, now using GIT HEAD master 2016-01-15 11:19:24 +01:00
Pieter Hintjens
055995e535 Problem: builds directory contains packaging scripts
Specifically, the RedHat tools.

Solution: move this into packaging/
2016-01-15 10:25:38 +01:00
Pieter Hintjens
d8d9ee3243 Problem: no support for OpenWRT
Solution: copy ZeroMQ packaging script from
https://github.com/vperron/openwrt-zmq-packages

Note: this is not usable as-such, needs fixing.
2016-01-15 10:10:06 +01:00
Pieter Hintjens
c49eef46ec Problem: Android build is too slow
Solution: use parallel make (-j 4) and don't build man pages.
2016-01-05 17:31:17 +01:00
Pieter Hintjens
6bb0cc1fd5 Problem: still one error in vcxproj files
Solution: fix and try again.

(We could start to think of using zproject to generate these build
scripts as the only difference is C/C++)
2015-12-21 18:57:31 +01:00
Pieter Hintjens
137afd5610 Problem: includes timer.cpp/hpp instead of timers.cpp/hpp
Solution: fix it.
2015-12-21 18:36:49 +01:00
Pieter Hintjens
065fbcdc8f Problem: performance tests don't link on Windows/MSVC
Solution: add Iphlpapi.lib to libraries to link against
2015-12-21 13:07:13 +01:00
Pieter Hintjens
6665bffe11 Problem: MSVC projects don't include timers.cpp/hpp
Solution: add these
2015-12-21 11:09:11 +01:00
Pieter Hintjens
627809568b Problem: on Windows, link fails on missing Iphlpapi.lib
Solution: add to project dependencies
2015-12-21 10:52:40 +01:00
Constantin Rack
33c5985eb2 Problem: build scripts don't need full git history
Solution: add `--depth 1` parameter to `git clone` commands
2015-12-19 13:17:22 +01:00
Benjamin Henrion
8f1810d1e2 Add a Dockerfile to build libzmq for android 2015-12-17 00:11:26 +01:00
Pieter Hintjens
9b45ba7067 Problem: builds/qt-android name is inaccurate
Solution: rename to simple builds/android.
2015-12-14 19:01:13 +01:00
roalz
5f5fb5e5ad Added solution and project files to build with Microsoft Visual Studio 2015 2015-11-05 16:08:33 +01:00
ahmet
7c8e65e2cd Added missing socket_poller.cpp file to msvc solutions.
also fixes issue https://github.com/zeromq/libzmq/issues/1624
2015-10-27 14:16:36 +02:00
Pieter Hintjens
5d5cdac161 Problem: source packages lack makefiles for all systems except msvc
Solution: specify the necessary EXTRA_DIST

I added a Makefile.am in builds that covers all systems except msvc,
which already has a Makefile.am that does this.

Fixes #1505
2015-08-11 19:34:25 +02:00
Luca Boccassi
40e2befbbe Update NDK version to r10e, OSX support 2015-08-02 18:38:35 +01:00
Luca Boccassi
102d1b14d0 Check for [g]readelf availability in qt-android helper
readelf is not available on OSX, greadelf is available on homebrew
2015-08-02 18:38:35 +01:00
evoskuil
342c417f9d Add decoder_allocators to VS builds. 2015-07-26 17:37:18 -07:00
Pieter Hintjens
8620c3e032 Problem: source file headers are somewhat confusing about LGPLv3
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.

Solution: specify these grants in the header of each source file.
2015-06-02 22:33:55 +02:00
Henrik S. Gaßmann
f0a76318f4 REPLACE MSVC VERSION SUFFIX VARIABLE
Replace _zmq_COMPILER with CMAKE_VS_PLATFORM_TOOLSET; so the suffix can
be automagically generated for every MSVC compiler supported by cmake.
2015-05-05 21:39:50 +02:00
Constantin Rack
7e8ba0ecff Solution: Build libsodium from latest master branch. Fixes 1386. 2015-04-28 10:42:56 +02:00
somdoron
c2dcc80602 change minimum version to windows vista and implement dummy condition variable for lower versions 2015-04-26 09:16:01 +03:00
Constantin Rack
eb34533728 Merge pull request #1367 from evoskuil/master
Problem: wrong default VC rt lib for release dynamic exe.
2015-03-14 13:18:06 +01:00
evoskuil
1e27b364a4 Fix default VC rt lib for release dynamic exe. 2015-03-14 05:10:40 -07:00
xantares
032c5eda3d fix CMP0053 warning with cmake 3.1 2015-03-11 10:35:59 +01:00
evoskuil
6630f19686 Apply VS2013 changes to VS2010 and VS2012. 2015-02-13 15:08:17 -08:00
Doron Somech
a4de3df73e Revert "Bzimmerman cmake" 2015-02-12 21:29:09 +02:00
somdoron
bbdd8662ba thread safety - supporting windows 2015-02-12 18:54:23 +02:00
evoskuil
6bf1609a10 Update VS DLL and NuGet versioning to 4.2.0. 2015-02-11 13:23:58 -08:00
evoskuil
91eead1d20 Add client.cpp/hpp and server.cpp/hpp to VS projects. 2015-02-11 13:17:13 -08:00
Bryan Zimmerman
2bb72add49 update to use new find_program syntax 2015-02-06 11:03:14 -05:00
Joe Eli McIlvain
2894634829 Problem: qt-android build script out of date
Solution: copy changes from latest zproject
2015-01-28 17:30:35 -08:00
DaiyuHurst
5d084cdfdd Implement a definitive cygwin target for libzmq. 2014-12-29 17:39:19 -05:00
Joe McIlvain
5b6293c57e Problem: qt-android build doesn't fully work for downstream builds
Solution: Fix the qt-android build
2014-11-04 13:55:48 -08:00
Joe McIlvain
aeec276b85 Problem: Travis ci logs are too long
Solution: Don't print tar extraction verbosely
2014-11-02 17:39:01 -08:00
Joe McIlvain
eae679718e Problem: No builtin way to build for qt-android
Solution: Add qt-android build system and add to travis-ci
2014-11-02 17:33:23 -08:00
J.T. Conklin
f78cbc50eb Correct libgssapi_krb5 packages. 2014-10-27 21:19:03 -07:00
J.T. Conklin
0fe9cec92e Pass --with/--without-libgssapi_krb5 to configure. 2014-10-27 20:36:45 -07:00
Phillip Mienk
2153043614 Add support for --with/--without libgssapi_krb5 2014-10-25 01:31:30 -07:00
J.T. Conklin
9078a7a4a5 Add support for --with/--without libsodium and --with/--without pgm
command line options.
2014-10-18 17:08:53 -07:00
Pieter Hintjens
ebfe6354e0 Merge pull request #1214 from johntconklin/master
Remove build and runtime dependencies on e2fsprogs and e2fsprogs-devel.
2014-10-18 00:34:35 +02:00
Dan Mick
c22bcf4f65 Fix builds/msvc/Makefile.am to include all properties files in the build
I attempted to fix up the properties files manifests in the Makefile,
but neglected the end-of-line escape characters.  It was good enough
to pass whatever make dist on Linux did, but I had no Windows build
env to test in.  The broken change was in commit de4a442.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-10-16 14:18:23 -07:00
J.T. Conklin
9289845c83 Remove build and runtime dependencies on e2fsprogs and e2fsprogs-devel. 2014-10-16 06:13:36 -07:00
J.T. Conklin
fbce7a2407 Remove build and runtime dependencies on uuid and uuid-devel. 2014-10-07 00:11:53 -07:00
Dan Mick
dfd021b133 builds/redhat/zeromq.spec: fix manpage lists
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-10-01 20:50:04 -07:00
Dan Mick
2a0fa6baf5 builds/redhat/zeromq.spec: missing '%'
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-10-01 20:49:00 -07:00
Dan Mick
de4a442263 builds/msvc/Makefile.am: fix up project file/property file paths
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-10-01 15:53:15 -07:00
Dan Mick
d3c391c3d4 zeromq.spec.in: shared library version bump
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-09-30 23:22:57 -07:00
Dan Mick
6e53253d11 zeromq.spec.in: Missing build dependencies in specfile: asciidoc, xmlto
Signed-off-by: Dan Mick <dmick@redhat.com>
2014-09-30 23:21:06 -07:00
Pieter Hintjens
1acc1b1582 Problem: FD_SETSIZE 1024 is too restrictive under Windows
Solution: increased to 4096 by default for all MSVC builds, for MinGW,
and for CMake.

Note: this is a speculative change, it needs confirmation before we
can keep it. Particularly, there is some doubt that changing this in
libzmq will affect upstream applications using libzmq.dll.
2014-08-23 13:59:53 +02:00
Ewen McNeill
326dec067f z/OS: Updated portability notes
Updated:
    builds/zos/README.md: Updated with portability notes resulting
       from building zeromq/libzmq/master as of 2014-07-23 on z/OS
       UNIX System Services.

       Current z/OS UNIX status: all expected tests pass, except
       "test_proxy", which hangs and times out.
2014-07-24 14:48:49 +12:00
Ewen McNeill
f1cd2055de z/OS: chmod +x builds/zos/{cxxall,runtests} 2014-07-24 14:13:59 +12:00
Ewen McNeill
256c32d1fb z/OS: builds/zos/platform.hpp for libzmq 4.1.0 2014-07-24 14:06:00 +12:00
Ewen McNeill
b27bafff60 z/OS: Autodetect tests to run
Updated:
    builds/zos/runtests: Extract tests to run from tests/Makefile.am
      at runtime, rather than hard coding tests list (to simplfy
      later maintenance).  test_*_tipc is excluded as BUILD_TIPC is
      not defined on z/OS UNIX System Services.  XFAIL_TESTS are also
      excluded, following current logic in tests/Makefile.am
2014-07-24 13:50:38 +12:00
Ewen McNeill
9d4f719e94 z/OS: Update build defines:
Updated:
    builds/zos/cxxall: Defines ZMQ_HAVE_ZOS for platform portability;
        define ZMQ_USE_POLL _instead_ of ZMQ_FORCE_POLL, due to change
        in src/poller.hpp since ZeroMQ 4.0.x branch
2014-07-24 13:48:19 +12:00
Ewen McNeill
6b21b1ecfa z/OS: Avoid removing libzmq.pc.in in makeclean 2014-07-24 11:13:24 +12:00
Ewen McNeill
5cab63e1a1 z/OS: Transferrring from GitHub to z/OS UNIX
Updated:
   builds/zos/README.md: Outlined process to transfer source from
     GitHub to z/OS UNIX System Services, including character set
     conversion for the source
2014-07-24 10:42:30 +12:00
Ewen McNeill
f8ec9b5fad z/OS: Make builds/zos scripts executable 2014-07-24 09:28:06 +12:00
Pieter Hintjens
57a70d5e3b Merge pull request #1138 from ewen-naos-nz/zos
z/OS UNIX System Services port: EAGAIN, SIGPIPE
2014-07-23 07:06:53 +02:00
Ewen McNeill
19808ff878 z/OS: Documented SIGPIPE considerations
Updated:
    README.md: Documented need for application to handle/ignore SIGPIPE
2014-07-23 13:09:28 +12:00
evoskuil
f96ebba7c2 Add socks files to VS2010 builds, update VS2012/2010 filters. 2014-07-22 12:02:23 -07:00
evoskuil
126b9d3a2a Remove libsodium VS import props crypt32.lib dependency. 2014-07-22 12:01:15 -07:00
evoskuil
0efd8d9bf3 Update VS filters for socks additions. 2014-07-22 11:21:57 -07:00
Ewen McNeill
f72f4b2526 Extend z/OS UNIX port to allow building DLL
Updated:
   README.md:  describes process of building/using DLL
   makelibzmq: Build DLL as well as static library (unless BUILD_DLL=false)
   maketests:  Dynamically link to ../src/libzmq.so if present
   runtests:   Explicitly place ../src at start of LIBPATH
   makeclean:  Also remove files created for DLL
   cxxall:     Bumped updated date to reflect last edit
2014-07-22 16:44:56 +12:00
Ewen McNeill
6e0c1c0a80 builds/zos/* portability files to z/OS UNIX
builds/zos includes:
    README.md: Overview of z/OS UNIX System Services port (Markdown)
    makelibzmq: Compile src/*.cpp and make libzmq.a
    maketests:  Compile tests/*.cpp and make test_* executables
    runtests:   Run tests/test_* executables and report results
    makeclean:  Remove built files
    zc++: /bin/c++ wrapper supplying required build arguments
    cxxall: run zc++ for all *.cpp files in directory

    platform.hpp: pre-generated (and edited) src/platform.hpp for z/OS
    test_fork.cpp: updated tests/test_fork.cpp that completes on z/OS
2014-07-22 12:05:51 +12:00
Tom Whittock
cb2582b09e vs2012: Add missing socks files 2014-07-07 14:47:39 +01:00
Diego Duclos
a9cb9022fd Add missing socks files 2014-06-29 15:14:54 +02:00
Tristian Celestin
8d7b64d648 Added packaged files and binary to RPM spec 2014-06-10 16:56:03 -04:00
evoskuil
455bba6a15 Refresh VS 2010/2012 projects with recent VS2013 updates. 2014-06-05 12:12:18 -07:00
Dave Meehan
d775b4539f Modified remote_thr project to not copy platform.hpp 2014-06-05 13:07:26 +01:00
Dave Meehan
66ebe31bf5 Modified remote_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
dd95eb96be Modified local_thr project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
06e67ff096 Modified local_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
7b50270142 Modified inproc_thr project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
f5478859b0 Modified inproc_lat project to not copy platform.hpp 2014-06-05 13:07:25 +01:00
Dave Meehan
649f4b0f24 Modified libzmq project to not copy platform.hpp 2014-06-05 13:07:25 +01:00