- Added a macro for checking clang compiler
- Moved basic compiler checks to a macro
- Added a macro for checking if compiler supports a flag
- Added --enable-debug flag
- Added a macro for running normal autoconf check with compiler flags
- Added a macro for checking for verbose flag for different compilers (-Wall)
- Added a macro for turning on strict standards compliance
- Added a macro for turning warnings to errors
- Added a macro for checking if compiler supports given pragma
- Most of the flags now go through checks if the compilers supports them
rather than enumerating different compilers
- Added DSO symbol visibility for sun compiler
- Enabled verbose mode for sun compiler
- Fixed build for ICC 12.x by adding -wd279 to size_t checks
- Removed pkg-config checks as those don't seem to be used anywhere
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
On systems using GCC 4.0 or newer which support symbol visibility in shared
libraries, use -fvisibility=hidden and only export explict API functions
defined in zmq.cpp. We do not enable -fvisibility on MinGW since this uses a
separate mechanism (__declspec).
Signed-off-by: Martin Lucina <mato@kotelna.sk>
The patch tests that the C and C++ compilers actually exist
and work. autoconf seems to default to 'g++' when C++ compiler is not
found, which causes the following error (when the compiler isn't
there):
checking for uuid_generate in -luuid... no
configure: error: cannot link with -luuid, install uuid-dev.
The config.log contains the real error message "g++ command not found"
but the error message shown to the user is misleading.
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
I ran autoupdate on the configure.in, which generated most of the
patch attached. There is also a small manual fix in which removes the
warning "Remember to add LT_INIT to configure.in" which I assume is
because AC_PROG_LIBTOOL was called inside a macro.
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
After long discussions in IRC we came to conclusion that there is no
elegant way to handle static builds with MinGW32. This patch sets
AC_DISABLE_STATIC by default on MinGW32 and Cygwin
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
MinGW32 defines __int64_t as long long, which causes the build to fail
unless -Wno-long-long is used. In addition the shutdown_stress test
isn't currently compatible with Win.
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
- RAND_bytes function resides in crypto library
- pollfd on AIX used 'reqevents' instead of events and 'retnevents'
instead of 'revents'
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Upgrade OpenPGM to version 2.1.28 for ZeroMQ 2.0.x. Now we also use the
DFSG-compliant upstream release tarball.
Signed-off-by: Martin Lucina <mato@kotelna.sk>
* maint:
Makefile.am: Add missing files to distribution, improve maintainer-clean
configure.in: Extract API version from zmq.h
Added bin directory to ignore list.
Conflicts:
configure.in
include/zmq.h
* Added a version.sh and relevant changes to configure.in to extract the API
version from zmq.h at the time autogen.sh is run.
* Moved the version macros to be next to zmq_version in zmq.h and improved
the comments.
* Modified ZMQ_MAKE_VERSION to use (x) instead of plain x when expanding
macro parameters.
Signed-off-by: Martin Lucina <mato@kotelna.sk>
For historic reasons (mainly compatbility with really old libtool), configure was
patching libtool to not use rpath in binaries. This breaks (among other things)
correct operation of "make check" since the test binaries may not be run with
the correct shared library version.
Current best practice as seen e.g. at http://wiki.debian.org/RpathIssue suggests
that this is no longer an issue, so I'm removing the code that patches libtool.
Signed-off-by: Martin Lucina <mato@kotelna.sk>
Macro ZMQ_VERSION represents the current version of 0MQ
Macro ZMQ_MAKE_VERSION(major,minor,patch) allows to create
a representation of the specified version.
The versions can be compared using simple <, >, ==, etc.
operators.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Change 'make dist' to generate the Git ChangeLog file, that way it doesn't
have to be manually updated nor kept in Git which causes unnecessary work.
Also change 'make dist' to invoke 'dist-zip' automatically to generate a
ZIP as well as a .tar.gz.
Thanks to http://live.gnome.org/Git/ChangeLog for the inspiration to
automatically generate ChangeLog.
Compiling C++ code with -D_POSIX_SOURCE on Solaris is unsupported, so remove it.
Isolate GCC-isms inside checks that we are actually using GCC/G++.
Only check for -lstdc++ when on GCC and doing static linking.