Commit 3f10e401 authored by Pieter Hintjens's avatar Pieter Hintjens

Merge pull request #1208 from pmienk/master

Reduce automake recursion; simplify pgm dependency
parents 3aa5a9d4 00b3bfab
ACLOCAL_AMFLAGS = -I config
if BUILD_PGM
SUBDIRS = foreign/openpgm src doc perf tests tools
SUBDIRS = doc
DIST_SUBDIRS = builds/msvc doc
pkgconfig_DATA = src/libzmq.pc
AM_CPPFLAGS = \
-I$(top_builddir)/include \
-I$(top_srcdir)/include
#
# libraries/binaries
#
lib_LTLIBRARIES = libzmq.la
include_HEADERS = \
include/zmq.h \
include/zmq_utils.h
libzmq_la_SOURCES = \
src/address.cpp \
src/address.hpp \
src/array.hpp \
src/atomic_counter.hpp \
src/atomic_ptr.hpp \
src/blob.hpp \
src/clock.cpp \
src/clock.hpp \
src/command.hpp \
src/config.hpp \
src/ctx.cpp \
src/ctx.hpp \
src/curve_client.cpp \
src/curve_client.hpp \
src/curve_server.cpp \
src/curve_server.hpp \
src/dbuffer.hpp \
src/dealer.cpp \
src/dealer.hpp \
src/decoder.hpp \
src/devpoll.cpp \
src/devpoll.hpp \
src/dist.cpp \
src/dist.hpp \
src/encoder.hpp \
src/epoll.cpp \
src/epoll.hpp \
src/err.cpp \
src/err.hpp \
src/fd.hpp \
src/fq.cpp \
src/fq.hpp \
src/gssapi_mechanism_base.cpp \
src/gssapi_mechanism_base.hpp \
src/gssapi_client.cpp \
src/gssapi_client.hpp \
src/gssapi_server.cpp \
src/gssapi_server.hpp \
src/i_encoder.hpp \
src/i_engine.hpp \
src/i_decoder.hpp \
src/i_poll_events.hpp \
src/io_object.cpp \
src/io_object.hpp \
src/io_thread.cpp \
src/io_thread.hpp \
src/ip.cpp \
src/ip.hpp \
src/ipc_address.cpp \
src/ipc_address.hpp \
src/ipc_connecter.cpp \
src/ipc_connecter.hpp \
src/ipc_listener.cpp \
src/ipc_listener.hpp \
src/kqueue.cpp \
src/kqueue.hpp \
src/lb.cpp \
src/lb.hpp \
src/likely.hpp \
src/mailbox.cpp \
src/mailbox.hpp \
src/mechanism.cpp \
src/mechanism.hpp \
src/metadata.cpp \
src/metadata.hpp \
src/msg.cpp \
src/msg.hpp \
src/mtrie.cpp \
src/mtrie.hpp \
src/mutex.hpp \
src/norm_engine.cpp \
src/norm_engine.hpp \
src/null_mechanism.cpp \
src/null_mechanism.hpp \
src/object.cpp \
src/object.hpp \
src/options.cpp \
src/options.hpp \
src/own.cpp \
src/own.hpp \
src/pair.cpp \
src/pair.hpp \
src/pgm_receiver.cpp \
src/pgm_receiver.hpp \
src/pgm_sender.cpp \
src/pgm_sender.hpp \
src/pgm_socket.cpp \
src/pgm_socket.hpp \
src/pipe.cpp \
src/pipe.hpp \
src/plain_client.cpp \
src/plain_client.hpp \
src/plain_server.cpp \
src/plain_server.hpp \
src/platform.hpp \
src/poll.cpp \
src/poll.hpp \
src/poller.hpp \
src/poller_base.cpp \
src/poller_base.hpp \
src/proxy.cpp \
src/proxy.hpp \
src/pub.cpp \
src/pub.hpp \
src/pull.cpp \
src/pull.hpp \
src/push.cpp \
src/push.hpp \
src/random.cpp \
src/random.hpp \
src/raw_decoder.cpp \
src/raw_decoder.hpp \
src/raw_encoder.cpp \
src/raw_encoder.hpp \
src/reaper.cpp \
src/reaper.hpp \
src/rep.cpp \
src/rep.hpp \
src/req.cpp \
src/req.hpp \
src/router.cpp \
src/router.hpp \
src/select.cpp \
src/select.hpp \
src/session_base.cpp \
src/session_base.hpp \
src/signaler.cpp \
src/signaler.hpp \
src/socket_base.cpp \
src/socket_base.hpp \
src/socks.cpp \
src/socks.hpp \
src/socks_connecter.cpp \
src/socks_connecter.hpp \
src/stdint.hpp \
src/stream.cpp \
src/stream.hpp \
src/stream_engine.cpp \
src/stream_engine.hpp \
src/sub.cpp \
src/sub.hpp \
src/tcp.cpp \
src/tcp.hpp \
src/tcp_address.cpp \
src/tcp_address.hpp \
src/tcp_connecter.cpp \
src/tcp_connecter.hpp \
src/tcp_listener.cpp \
src/tcp_listener.hpp \
src/thread.cpp \
src/thread.hpp \
src/tipc_address.cpp \
src/tipc_address.hpp \
src/tipc_connecter.cpp \
src/tipc_connecter.hpp \
src/tipc_listener.cpp \
src/tipc_listener.hpp \
src/trie.cpp \
src/trie.hpp \
src/v1_decoder.cpp \
src/v1_decoder.hpp \
src/v2_decoder.cpp \
src/v2_decoder.hpp \
src/v1_encoder.cpp \
src/v1_encoder.hpp \
src/v2_encoder.cpp \
src/v2_encoder.hpp \
src/v2_protocol.hpp \
src/windows.hpp \
src/wire.hpp \
src/xpub.hpp \
src/xpub.cpp \
src/xsub.cpp \
src/xsub.hpp \
src/ypipe.hpp \
src/ypipe_base.hpp \
src/ypipe_conflate.hpp \
src/yqueue.hpp \
src/zmq.cpp \
src/zmq_utils.cpp
if ON_MINGW
libzmq_la_LDFLAGS = \
-no-undefined \
-avoid-version \
-version-info @LTVER@ \
@LIBZMQ_EXTRA_LDFLAGS@
else
SUBDIRS = src doc perf tests tools
if ON_ANDROID
libzmq_la_LDFLAGS = \
-avoid-version \
-version-info @LTVER@ \
@LIBZMQ_EXTRA_LDFLAGS@
else
if ON_LINUX
libzmq_la_LDFLAGS = \
-version-info @LTVER@ \
@LIBZMQ_EXTRA_LDFLAGS@ \
-Wl,--version-script=$(srcdir)/src/libzmq.vers
else
libzmq_la_LDFLAGS = \
-version-info @LTVER@ \
@LIBZMQ_EXTRA_LDFLAGS@ \
-Wl
endif
endif
endif
libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@
if HAVE_PGM
libzmq_la_CPPFLAGS = ${pgm_CFLAGS}
libzmq_la_LIBADD = ${pgm_LIBS}
endif
noinst_PROGRAMS = \
local_lat \
remote_lat \
local_thr \
remote_thr \
inproc_lat \
inproc_thr
local_lat_LDADD = libzmq.la
local_lat_SOURCES = perf/local_lat.cpp
remote_lat_LDADD = libzmq.la
remote_lat_SOURCES = perf/remote_lat.cpp
local_thr_LDADD = libzmq.la
local_thr_SOURCES = perf/local_thr.cpp
remote_thr_LDADD = libzmq.la
remote_thr_SOURCES = perf/remote_thr.cpp
inproc_lat_LDADD = libzmq.la
inproc_lat_SOURCES = perf/inproc_lat.cpp
inproc_thr_LDADD = libzmq.la
inproc_thr_SOURCES = perf/inproc_thr.cpp
bin_PROGRAMS = curve_keygen
curve_keygen_LDADD = libzmq.la
curve_keygen_SOURCES = tools/curve_keygen.cpp
#
# tests
#
test_apps = \
test_system \
test_pair_inproc \
test_pair_tcp \
test_reqrep_inproc \
test_reqrep_tcp \
test_hwm \
test_hwm_pubsub \
test_reqrep_device \
test_sub_forward \
test_invalid_rep \
test_msg_flags \
test_connect_resolve \
test_immediate \
test_last_endpoint \
test_term_endpoint \
test_srcfd \
test_monitor \
test_router_mandatory \
test_router_mandatory_hwm \
test_router_handover \
test_probe_router \
test_stream \
test_stream_empty \
test_stream_disconnect \
test_stream_timeout \
test_disconnect_inproc \
test_ctx_options \
test_ctx_destroy \
test_security_null \
test_security_plain \
test_security_curve \
test_iov \
test_spec_req \
test_spec_rep \
test_spec_dealer \
test_spec_router \
test_spec_pushpull \
test_req_correlate \
test_req_relaxed \
test_conflate \
test_inproc_connect \
test_issue_566 \
test_proxy \
test_many_sockets \
test_ipc_wildcard \
test_diffserv \
test_connect_rid \
test_bind_src_address \
test_metadata \
test_id2fd \
test_capabilities \
test_xpub_nodrop
test_system_SOURCES = tests/test_system.cpp
test_system_LDADD = libzmq.la
test_pair_inproc_SOURCES = \
tests/test_pair_inproc.cpp \
tests/testutil.hpp
test_pair_inproc_LDADD = libzmq.la
test_pair_tcp_SOURCES = \
tests/test_pair_tcp.cpp \
tests/testutil.hpp
test_pair_tcp_LDADD = libzmq.la
test_reqrep_inproc_SOURCES = \
tests/test_reqrep_inproc.cpp \
tests/testutil.hpp
test_reqrep_inproc_LDADD = libzmq.la
test_reqrep_tcp_SOURCES = \
tests/test_reqrep_tcp.cpp \
tests/testutil.hpp
test_reqrep_tcp_LDADD = libzmq.la
test_hwm_SOURCES = tests/test_hwm.cpp
test_hwm_LDADD = libzmq.la
test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp
test_hwm_pubsub_LDADD = libzmq.la
test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp
test_reqrep_device_LDADD = libzmq.la
test_sub_forward_SOURCES = tests/test_sub_forward.cpp
test_sub_forward_LDADD = libzmq.la
test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp
test_invalid_rep_LDADD = libzmq.la
test_msg_flags_SOURCES = tests/test_msg_flags.cpp
test_msg_flags_LDADD = libzmq.la
test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp
test_connect_resolve_LDADD = libzmq.la
test_immediate_SOURCES = tests/test_immediate.cpp
test_immediate_LDADD = libzmq.la
test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp
test_last_endpoint_LDADD = libzmq.la
test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp
test_term_endpoint_LDADD = libzmq.la
test_srcfd_SOURCES = tests/test_srcfd.cpp
test_srcfd_LDADD = libzmq.la
test_monitor_SOURCES = tests/test_monitor.cpp
test_monitor_LDADD = libzmq.la
test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp
test_router_mandatory_LDADD = libzmq.la
test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp
test_router_mandatory_hwm_LDADD = libzmq.la
test_router_handover_SOURCES = tests/test_router_handover.cpp
test_router_handover_LDADD = libzmq.la
test_probe_router_SOURCES = tests/test_probe_router.cpp
test_probe_router_LDADD = libzmq.la
test_stream_SOURCES = tests/test_stream.cpp
test_stream_LDADD = libzmq.la
test_stream_empty_SOURCES = tests/test_stream_empty.cpp
test_stream_empty_LDADD = libzmq.la
test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp
test_stream_timeout_LDADD = libzmq.la
test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp
test_stream_disconnect_LDADD = libzmq.la
test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
test_disconnect_inproc_LDADD = libzmq.la
test_ctx_options_SOURCES = tests/test_ctx_options.cpp
test_ctx_options_LDADD = libzmq.la
test_iov_SOURCES = tests/test_iov.cpp
test_iov_LDADD = libzmq.la
test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp
test_ctx_destroy_LDADD = libzmq.la
test_security_null_SOURCES = tests/test_security_null.cpp
test_security_null_LDADD = libzmq.la
test_security_plain_SOURCES = tests/test_security_plain.cpp
test_security_plain_LDADD = libzmq.la
test_security_curve_SOURCES = tests/test_security_curve.cpp
test_security_curve_LDADD = libzmq.la
test_spec_req_SOURCES = tests/test_spec_req.cpp
test_spec_req_LDADD = libzmq.la
test_spec_rep_SOURCES = tests/test_spec_rep.cpp
test_spec_rep_LDADD = libzmq.la
test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp
test_spec_dealer_LDADD = libzmq.la
test_spec_router_SOURCES = tests/test_spec_router.cpp
test_spec_router_LDADD = libzmq.la
test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp
test_spec_pushpull_LDADD = libzmq.la
test_req_correlate_SOURCES = tests/test_req_correlate.cpp
test_req_correlate_LDADD = libzmq.la
test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp
test_req_relaxed_LDADD = libzmq.la
test_conflate_SOURCES = tests/test_conflate.cpp
test_conflate_LDADD = libzmq.la
test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp
test_inproc_connect_LDADD = libzmq.la
test_issue_566_SOURCES = tests/test_issue_566.cpp
test_issue_566_LDADD = libzmq.la
test_proxy_SOURCES = tests/test_proxy.cpp
test_proxy_LDADD = libzmq.la
test_many_sockets_SOURCES = tests/test_many_sockets.cpp
test_many_sockets_LDADD = libzmq.la
test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp
test_ipc_wildcard_LDADD = libzmq.la
test_diffserv_SOURCES = tests/test_diffserv.cpp
test_diffserv_LDADD = libzmq.la
test_connect_rid_SOURCES = tests/test_connect_rid.cpp
test_connect_rid_LDADD = libzmq.la
test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp
test_bind_src_address_LDADD = libzmq.la
test_metadata_SOURCES = tests/test_metadata.cpp
test_metadata_LDADD = libzmq.la
test_id2fd_SOURCES = tests/test_id2fd.cpp
test_id2fd_LDADD = libzmq.la
test_capabilities_SOURCES = tests/test_capabilities.cpp
test_capabilities_LDADD = libzmq.la
test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp
test_xpub_nodrop_LDADD = libzmq.la
if !ON_MINGW
test_apps += \
test_shutdown_stress \
test_pair_ipc \
test_reqrep_ipc \
test_timeo \
test_filter_ipc
test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp
test_shutdown_stress_LDADD = libzmq.la
test_pair_ipc_SOURCES = \
tests/test_pair_ipc.cpp \
tests/testutil.hpp
test_pair_ipc_LDADD = libzmq.la
test_reqrep_ipc_SOURCES = \
tests/test_reqrep_ipc.cpp \
tests/testutil.hpp
test_reqrep_ipc_LDADD = libzmq.la
test_timeo_SOURCES = tests/test_timeo.cpp
test_timeo_LDADD = libzmq.la
test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp
test_filter_ipc_LDADD = libzmq.la
if HAVE_FORK
test_apps += test_fork
test_fork_SOURCES = tests/test_fork.cpp
test_fork_LDADD = libzmq.la
endif
endif
DIST_SUBDIRS = foreign/openpgm src doc perf tests tools builds/msvc
if BUILD_TIPC
test_apps += \
test_connect_delay_tipc \
test_pair_tipc \
test_reqrep_device_tipc \
test_reqrep_tipc \
test_router_mandatory_tipc \
test_shutdown_stress_tipc \
test_sub_forward_tipc \
test_term_endpoint_tipc
test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp
test_connect_delay_tipc_LDADD = libzmq.la
test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp
test_pair_tipc_LDADD = libzmq.la
test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp
test_reqrep_device_tipc_LDADD = libzmq.la
test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp
test_reqrep_tipc_LDADD = libzmq.la
test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp
test_router_mandatory_tipc_LDADD = libzmq.la
test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp
test_shutdown_stress_tipc_LDADD = libzmq.la
test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp
test_sub_forward_tipc_LDADD = libzmq.la
test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp
test_term_endpoint_tipc_LDADD = libzmq.la
endif
if ON_LINUX
test_apps += test_abstract_ipc
test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp
test_abstract_ipc_LDADD = libzmq.la
endif
check_PROGRAMS = ${test_apps}
# Run the test cases
TESTS = $(test_apps)
XFAIL_TESTS =
if !ON_LINUX
XFAIL_TESTS += test_abstract_ipc
endif
EXTRA_DIST = \
CMakeLists.txt \
autogen.sh \
version.sh \
MAINTAINERS \
foreign/openpgm/@pgm_basename@.tar.gz
src/libzmq.pc.cmake.in \
src/libzmq.vers \
tools/curve_keygen.cpp
MAINTAINERCLEANFILES = \
$(srcdir)/aclocal.m4 \
$(srcdir)/autom4te.cache \
$(srcdir)/configure \
$(srcdir)/aclocal.m4 \
$(srcdir)/autom4te.cache \
$(srcdir)/configure \
`find "$(srcdir)" -type f -name Makefile.in -print`
dist-hook:
-rm $(distdir)/src/platform.hpp
@if test -d "$(srcdir)/.git"; \
then \
echo Creating ChangeLog && \
......@@ -34,8 +608,7 @@ dist-hook:
echo A git clone is required to generate a ChangeLog >&2; \
fi
-cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec
-rm -rf $(distdir)/foreign/openpgm/build-staging
distclean-local:
-rm -rf $(top_srcdir)/foreign/openpgm/build-staging
maintainer-clean-local:
-rm -rf $(top_srcdir)/config
......@@ -11,7 +11,8 @@ AC_INIT([zeromq],[m4_esyscmd([./version.sh])],[zeromq-dev@lists.zeromq.org])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(config)
AC_CONFIG_HEADERS([src/platform.hpp])
AM_INIT_AUTOMAKE(tar-ustar dist-zip foreign)
AM_INIT_AUTOMAKE(foreign subdir-objects tar-ustar dist-zip)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# This lets us use PACKAGE_VERSION in Makefiles
......@@ -63,43 +64,51 @@ LIBZMQ_CHECK_ENABLE_DEBUG
# Check wheter to enable code coverage
LIBZMQ_WITH_GCOV
AC_MSG_CHECKING([if TIPC is available and supports nonblocking connect])
AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/socket.h>
#include <linux/tipc.h>
]],[[
struct sockaddr_tipc topsrv;
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
if (sd == -EAFNOSUPPORT) {
return 1;
}
memset(&topsrv, 0, sizeof(topsrv));
topsrv.family = AF_TIPC;
topsrv.addrtype = TIPC_ADDR_NAME;
topsrv.addr.name.name.type = TIPC_TOP_SRV;
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
fcntl(sd, F_SETFL, O_NONBLOCK);
if (connect(sd, (struct sockaddr *)&topsrv,
sizeof(topsrv)) != 0) {
if (errno != EINPROGRESS)
return -1;
}]])
],
[libzmq_tipc_support=yes],
[libzmq_tipc_support=no],
[libzmq_tipc_support=no])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM([[
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/socket.h>
#include <linux/tipc.h>
]],[[
struct sockaddr_tipc topsrv;
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
if (sd == -EAFNOSUPPORT) {
return 1;
}
memset(&topsrv, 0, sizeof(topsrv));
topsrv.family = AF_TIPC;
topsrv.addrtype = TIPC_ADDR_NAME;
topsrv.addr.name.name.type = TIPC_TOP_SRV;
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
fcntl(sd, F_SETFL, O_NONBLOCK);
if (connect(sd, (struct sockaddr *)&topsrv, sizeof(topsrv)) != 0) {
if (errno != EINPROGRESS)
return -1;
}
]])
],
[libzmq_tipc_support=yes],
[libzmq_tipc_support=no],
[libzmq_tipc_support=no])
AC_MSG_RESULT([$libzmq_tipc_support])
# Allow libsodium to be installed in a custom path:
AC_ARG_WITH([libsodium],
[AS_HELP_STRING([--with-libsodium],
[Specify libsodium prefix])],
[zmq_search_libsodium="yes"],
[])
[AS_HELP_STRING([--with-libsodium],
[Specify libsodium prefix])],
[zmq_search_libsodium="yes"],
[])
if test "x$zmq_search_libsodium" = "xyes"; then
if test -r "${with_libsodium}/include/sodium.h"; then
......@@ -109,10 +118,10 @@ if test "x$zmq_search_libsodium" = "xyes"; then
fi
AC_ARG_WITH([libsodium-include-dir],
[AS_HELP_STRING([--with-libsodium-include-dir],
[Specify libsodium include prefix])],
[zmq_search_libsodium_include="yes"],
[])
[AS_HELP_STRING([--with-libsodium-include-dir],
[Specify libsodium include prefix])],
[zmq_search_libsodium_include="yes"],
[])
if test "x$zmq_search_libsodium_include" = "xyes"; then
if test -r "${with_libsodium_include_dir}/sodium.h"; then
......@@ -121,10 +130,10 @@ if test "x$zmq_search_libsodium_include" = "xyes"; then
fi
AC_ARG_WITH([libsodium_lib_dir],
[AS_HELP_STRING([--with-libsodium-lib-dir],
[Specify libsodium library prefix])],
[zmq_search_libsodium_lib="yes"],
[])
[AS_HELP_STRING([--with-libsodium-lib-dir],
[Specify libsodium library prefix])],
[zmq_search_libsodium_lib="yes"],
[])
if test "x$zmq_search_libsodium_lib" = "xyes"; then
if test -r "${with_libsodium_lib_dir}/libsodium.{a|so|dylib}"; then
......@@ -133,10 +142,10 @@ if test "x$zmq_search_libsodium_lib" = "xyes"; then
fi
AC_ARG_WITH([relaxed],
[AS_HELP_STRING([--with-relaxed],
[Switch off pedantic compiler])],
[zmq_relaxed="yes"],
[])
[AS_HELP_STRING([--with-relaxed],
[Switch off pedantic compiler])],
[zmq_relaxed="yes"],
[])
if test "x$zmq_relaxed" = "xyes"; then
libzmq_pedantic="no"
......@@ -145,10 +154,10 @@ else
fi
AC_ARG_WITH([militant],
[AS_HELP_STRING([--with-militant],
[Enable militant API assertions])],
[zmq_militant="yes"],
[])
[AS_HELP_STRING([--with-militant],
[Enable militant API assertions])],
[zmq_militant="yes"],
[])
if test "x$zmq_militant" = "xyes"; then
AC_DEFINE(ZMQ_ACT_MILITANT, 1, [Enable militant API assertions])
......@@ -310,8 +319,9 @@ esac
# Checks for libraries
AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_LIB([rt], [clock_gettime])
if test "x$zmq_search_libsodium" = "xyes"; then
AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script))
AC_CHECK_LIB([sodium],[sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script))
else
AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security))
fi
......@@ -343,12 +353,23 @@ LIBZMQ_CHECK_DOC_BUILD
# Check polling system
LIBZMQ_CHECK_POLLER([CPPFLAGS="${CPPFLAGS} -D${libzmq_cv_poller_flag}"],
[AC_MSG_ERROR([Unable to continue without polling system])])
[AC_MSG_ERROR([Unable to continue without polling system])])
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(errno.h arpa/inet.h netinet/tcp.h netinet/in.h stddef.h \
stdlib.h string.h sys/socket.h sys/time.h time.h unistd.h limits.h)
AC_CHECK_HEADERS(\
errno.h \
time.h \
unistd.h \
limits.h \
stddef.h \
stdlib.h \
string.h \
arpa/inet.h \
netinet/tcp.h \
netinet/in.h \
sys/socket.h \
sys/time.h)
# Check if we have ifaddrs.h header file.
AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h header.])])
......@@ -357,25 +378,36 @@ AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h head
AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])])
# Force not to use eventfd
AC_ARG_ENABLE([eventfd], [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])],
[zmq_disable_eventfd=yes], [zmq_disable_eventfd=no])
AC_ARG_ENABLE([eventfd],
[AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])],
[zmq_disable_eventfd=yes],
[zmq_disable_eventfd=no])
if test "x$zmq_disable_eventfd" != "xyes"; then
# Check if we have eventfd.h header file.
AC_CHECK_HEADERS(sys/eventfd.h,
[AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])])
[AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])])
fi
# Use c++ in subsequent tests
AC_LANG_PUSH(C++)
AC_CHECK_DECLS([SO_PEERCRED], [AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])], [], [#include <sys/socket.h>])
AC_CHECK_DECLS([LOCAL_PEERCRED], [AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])], [], [#include <sys/socket.h>])
AC_CHECK_DECLS([SO_PEERCRED],
[AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])],
[],
[#include <sys/socket.h>])
AC_CHECK_DECLS([LOCAL_PEERCRED],
[AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])],
[],
[#include <sys/socket.h>])
AM_CONDITIONAL(HAVE_IPC_PEERCRED, test "x$ac_cv_have_decl_SO_PEERCRED" = "xyes" || test "x$ac_cv_have_decl_LOCAL_PEERCRED" = "xyes")
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
# Checks for typedefs, structures, and compiler characteristics.
if test "x$libzmq_cv_[]_AC_LANG_ABBREV[]_intel_compiler" = "xyes"; then
dnl 279: controlling expression is constant
......@@ -386,117 +418,62 @@ else
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
fi
AC_HEADER_TIME
AC_TYPE_UINT32_T
AC_C_VOLATILE
# PGM extension
libzmq_pgm_ext="no"
pgm_basename="libpgm-5.2.122~dfsg"
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
[build libzmq with PGM extension [default=no]])],
[with_pgm_ext=$withval], [with_pgm_ext=no])
# build using pgm
have_pgm_library="no"
# build using system pgm
AC_ARG_WITH([system-pgm], [AS_HELP_STRING([--with-system-pgm],
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
[build libzmq with PGM extension. Requires pkg-config [default=no]])],
[with_system_pgm_ext=yes], [with_system_pgm_ext=no])
if test "x$with_pgm_ext" != "xno" -a "x$with_system_pgm_ext" != "xno"; then
AC_MSG_ERROR([--with-pgm and --with-system-pgm cannot be specified together])
fi
[with_pgm_ext=yes], [with_pgm_ext=no])
# conditionally require pgm package
if test "x$with_pgm_ext" != "xno"; then
# This allows placing the tar.gz to foreign/openpgm
# and using ./configure --with-pgm=libpgm-x.y.z
if test "x$with_pgm_ext" != "xyes"; then
pgm_basename="$with_pgm_ext"
fi
# Unpack libpgm
AC_MSG_NOTICE([Unpacking ${pgm_basename}.tar.gz])
libzmq_pwd=`pwd`
cd foreign/openpgm
if ! (gzip -dc "${pgm_basename}.tar.gz" || echo "failed") | ${am__untar}; then
AC_MSG_ERROR([cannot unpack the foreign/openpgm/${pgm_basename}.tar.gz file])
fi
cd "${libzmq_pwd}"
if test -d foreign/openpgm/build-staging; then
rm -rf foreign/openpgm/build-staging
fi
mv foreign/openpgm/${pgm_basename} foreign/openpgm/build-staging
pgm_srcdir=foreign/openpgm/build-staging/openpgm/pgm
if ! test -d foreign/openpgm/build-staging/openpgm/pgm/config; then
mkdir foreign/openpgm/build-staging/openpgm/pgm/config
fi
# DSO symbol visibility for openpgm
AC_LANG_PUSH([C])
LIBZMQ_CHECK_LANG_VISIBILITY([ac_configure_args="CFLAGS='$libzmq_cv_[]_AC_LANG_ABBREV[]_visibility_flag' ${ac_configure_args}"])
AC_LANG_POP([C])
pgm_subdir=build-staging/openpgm/pgm
AC_SUBST(pgm_subdir)
AC_SUBST(pgm_srcdir)
AC_CONFIG_SUBDIRS([foreign/openpgm/build-staging/openpgm/pgm/])
# Success!
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
libzmq_pgm_ext="yes"
fi
# Build with system openpgm
if test "x$with_system_pgm_ext" != "xno"; then
m4_ifdef([PKG_CHECK_MODULES], [
have_pgm_system_library="no"
PKG_CHECK_MODULES([OpenPGM], [openpgm-5.2 >= 5.2],
[ have_pgm_system_library="yes" ],
[PKG_CHECK_MODULES([OpenPGM], [openpgm-5.1 >= 5.1],
[ have_pgm_system_library="yes" ])
]
PKG_CHECK_MODULES([pgm], [openpgm-5.2 >= 5.2],
[ have_pgm_library="yes" ],
[PKG_CHECK_MODULES([pgm], [openpgm-5.1 >= 5.1],
[ have_pgm_library="yes" ])]
)
if test "x$have_pgm_system_library" = "xyes"; then
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
LIBZMQ_EXTRA_CXXFLAGS="$OpenPGM_CFLAGS $LIBZMQ_EXTRA_CXXFLAGS"
LIBS="$OpenPGM_LIBS $LIBS"
fi
],
[AC_MSG_ERROR([--with-system-pgm requires a working pkg-config installation])])
[AC_MSG_ERROR([--with-pgm requires a working pkg-config installation])])
fi
AC_SUBST(pgm_basename)
if test "x$have_pgm_library" = "xyes"; then
AC_DEFINE(ZMQ_HAVE_OPENPGM, [1], [Have OpenPGM extension])
fi
AM_CONDITIONAL(HAVE_PGM, test "x$have_pgm_library" = "xyes")
# This uses "--with-norm" to point to the "norm" directory
# for "norm/include" and "norm/lib"
#(if "--with-norm=yes" is given, then assume installed on system)
AC_ARG_WITH([norm], [AS_HELP_STRING([--with-norm],
[build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])],
[with_norm_ext=$withval], [with_norm_ext=no])
AC_ARG_WITH([norm],
[AS_HELP_STRING([--with-norm],
[build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])],
[with_norm_ext=$withval],
[with_norm_ext=no])
AC_MSG_CHECKING("with_norm_ext = ${with_norm_ext}")
if test "x$with_norm_ext" != "xno"; then
if test "x$with_norm_ext" != "xno"; then
AC_DEFINE(ZMQ_HAVE_NORM, 1, [Have NORM protocol extension])
if test "x$wwith_norm_ext" != "xyes"; then
norm_path="${with_norm_ext}"
LIBZMQ_EXTRA_CXXFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_CXXFLAGS}"
LIBZMQ_EXTRA_LDFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_LDFLAGS}"
fi
LIBS="-lnorm $LIBS"
fi
# Set -Wall, -Werror and -pedantic
AC_LANG_PUSH([C++])
......@@ -513,7 +490,6 @@ fi
AC_LANG_POP([C++])
AM_CONDITIONAL(BUILD_TIPC, test "x$libzmq_tipc_support" = "xyes")
AM_CONDITIONAL(BUILD_PGM, test "x$libzmq_pgm_ext" = "xyes")
AM_CONDITIONAL(ON_MINGW, test "x$libzmq_on_mingw32" = "xyes")
AM_CONDITIONAL(ON_ANDROID, test "x$libzmq_on_android" = "xyes")
AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes")
......@@ -522,38 +498,43 @@ AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes")
AC_TYPE_SIGNAL
AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork)
AC_CHECK_HEADERS([alloca.h])
LIBZMQ_CHECK_SOCK_CLOEXEC([AC_DEFINE(
[ZMQ_HAVE_SOCK_CLOEXEC],
[1],
[Whether SOCK_CLOEXEC is defined and functioning.])
])
LIBZMQ_CHECK_SOCK_CLOEXEC([
AC_DEFINE([ZMQ_HAVE_SOCK_CLOEXEC],
[1],
[Whether SOCK_CLOEXEC is defined and functioning.])
])
# TCP keep-alives Checks.
LIBZMQ_CHECK_SO_KEEPALIVE([AC_DEFINE(
[ZMQ_HAVE_SO_KEEPALIVE],
[1],
[Whether SO_KEEPALIVE is supported.])
])
LIBZMQ_CHECK_TCP_KEEPCNT([AC_DEFINE(
[ZMQ_HAVE_TCP_KEEPCNT],
[1],
[Whether TCP_KEEPCNT is supported.])
])
LIBZMQ_CHECK_TCP_KEEPIDLE([AC_DEFINE(
[ZMQ_HAVE_TCP_KEEPIDLE],
[1],
[Whether TCP_KEEPIDLE is supported.])
])
LIBZMQ_CHECK_TCP_KEEPINTVL([AC_DEFINE(
[ZMQ_HAVE_TCP_KEEPINTVL],
[1],
[Whether TCP_KEEPINTVL is supported.])
])
LIBZMQ_CHECK_TCP_KEEPALIVE([AC_DEFINE(
[ZMQ_HAVE_TCP_KEEPALIVE],
[1],
[Whether TCP_KEEPALIVE is supported.])
])
LIBZMQ_CHECK_SO_KEEPALIVE([
AC_DEFINE([ZMQ_HAVE_SO_KEEPALIVE],
[1],
[Whether SO_KEEPALIVE is supported.])
])
LIBZMQ_CHECK_TCP_KEEPCNT([
AC_DEFINE([ZMQ_HAVE_TCP_KEEPCNT],
[1],
[Whether TCP_KEEPCNT is supported.])
])
LIBZMQ_CHECK_TCP_KEEPIDLE([
AC_DEFINE([ZMQ_HAVE_TCP_KEEPIDLE],
[1],
[Whether TCP_KEEPIDLE is supported.])
])
LIBZMQ_CHECK_TCP_KEEPINTVL([
AC_DEFINE([ZMQ_HAVE_TCP_KEEPINTVL],
[1],
[Whether TCP_KEEPINTVL is supported.])
])
LIBZMQ_CHECK_TCP_KEEPALIVE([
AC_DEFINE([ZMQ_HAVE_TCP_KEEPALIVE],
[1],
[Whether TCP_KEEPALIVE is supported.])
])
AM_CONDITIONAL(HAVE_FORK, test "x$ac_cv_func_fork" = "xyes")
......@@ -562,14 +543,19 @@ AC_SUBST(LIBZMQ_EXTRA_CFLAGS)
AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS)
AC_SUBST(LIBZMQ_EXTRA_LDFLAGS)
AC_CONFIG_FILES([Makefile \
src/Makefile \
# set pkgconfigdir, allow override
AC_ARG_WITH([pkgconfigdir],
AS_HELP_STRING([--with-pkgconfigdir=PATH],
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
[pkgconfigdir="$withval"],
[pkgconfigdir='${libdir}/pkgconfig'])
AC_SUBST([pkgconfigdir])
AC_CONFIG_FILES([ \
Makefile \
src/libzmq.pc \
doc/Makefile \
perf/Makefile \
tests/Makefile \
tools/Makefile \
builds/msvc/Makefile \
foreign/openpgm/Makefile \
builds/redhat/zeromq.spec])
AC_OUTPUT
#
# documentation
#
MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
zmq_ctx_new.3 zmq_ctx_term.3 zmq_ctx_get.3 zmq_ctx_set.3 zmq_ctx_shutdown.3 \
zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 \
......@@ -21,20 +24,17 @@ MAN_TXT = $(MAN3:%.3=%.txt)
MAN_TXT += $(MAN7:%.7=%.txt)
MAN_HTML = $(MAN_TXT:%.txt=%.html)
if INSTALL_MAN
dist_man_MANS = $(MAN_DOC)
endif
MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML)
EXTRA_DIST = asciidoc.conf $(MAN_TXT)
if BUILD_DOC
EXTRA_DIST += $(MAN_HTML)
endif
MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML)
dist-hook : $(MAN_DOC) $(MAN_HTML)
if INSTALL_MAN
dist_man_MANS = $(MAN_DOC)
endif
if BUILD_DOC
SUFFIXES=.html .txt .xml .3 .7
.txt.html:
......@@ -52,3 +52,5 @@ SUFFIXES=.html .txt .xml .3 .7
zmq_epgm.7: zmq_pgm.7
cp $< $@
endif
dist-hook : $(MAN_DOC) $(MAN_HTML)
SUBDIRS = $(pgm_subdir)
DIST_SUBDIRS =
# Override Automake's installation targets with the command ":" that does nothing.
install:; @:
install-exec:; @:
install-data:; @:
uninstall:; @:
dist:; @;
AM_CPPFLAGS = -I$(top_builddir)/include \
-I$(top_srcdir)/include
noinst_PROGRAMS = local_lat remote_lat local_thr remote_thr inproc_lat inproc_thr
local_lat_LDADD = $(top_builddir)/src/libzmq.la
local_lat_SOURCES = local_lat.cpp
remote_lat_LDADD = $(top_builddir)/src/libzmq.la
remote_lat_SOURCES = remote_lat.cpp
local_thr_LDADD = $(top_builddir)/src/libzmq.la
local_thr_SOURCES = local_thr.cpp
remote_thr_LDADD = $(top_builddir)/src/libzmq.la
remote_thr_SOURCES = remote_thr.cpp
inproc_lat_LDADD = $(top_builddir)/src/libzmq.la
inproc_lat_SOURCES = inproc_lat.cpp
inproc_thr_LDADD = $(top_builddir)/src/libzmq.la
inproc_thr_SOURCES = inproc_thr.cpp
lib_LTLIBRARIES = libzmq.la
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libzmq.pc
include_HEADERS = ../include/zmq.h ../include/zmq_utils.h
libzmq_la_SOURCES = \
address.hpp \
array.hpp \
atomic_counter.hpp \
atomic_ptr.hpp \
blob.hpp \
clock.hpp \
command.hpp \
config.hpp \
ctx.hpp \
curve_client.hpp \
curve_server.hpp \
decoder.hpp \
devpoll.hpp \
dist.hpp \
encoder.hpp \
epoll.hpp \
err.hpp \
fd.hpp \
fq.hpp \
gssapi_mechanism_base.hpp \
gssapi_client.hpp \
gssapi_server.hpp \
i_encoder.hpp \
i_decoder.hpp \
i_engine.hpp \
i_poll_events.hpp \
io_object.hpp \
io_thread.hpp \
ip.hpp \
ipc_address.hpp \
ipc_connecter.hpp \
ipc_listener.hpp \
i_engine.hpp \
i_poll_events.hpp \
kqueue.hpp \
lb.hpp \
likely.hpp \
mailbox.hpp \
mechanism.hpp \
metadata.hpp \
msg.hpp \
mtrie.hpp \
mutex.hpp \
norm_engine.hpp \
null_mechanism.hpp \
object.hpp \
options.hpp \
own.hpp \
pgm_receiver.hpp \
pgm_sender.hpp \
pgm_socket.hpp \
pipe.hpp \
plain_client.hpp \
plain_server.hpp \
platform.hpp \
poll.hpp \
poller.hpp \
poller_base.hpp \
pair.hpp \
proxy.hpp \
pub.hpp \
pull.hpp \
push.hpp \
random.hpp \
reaper.hpp \
rep.hpp \
req.hpp \
select.hpp \
session_base.hpp \
signaler.hpp \
socket_base.hpp \
socks.hpp \
socks_connecter.hpp \
stdint.hpp \
stream.hpp \
stream_engine.hpp \
sub.hpp \
tcp.hpp \
tcp_address.hpp \
tcp_connecter.hpp \
tcp_listener.hpp \
thread.hpp \
trie.hpp \
windows.hpp \
wire.hpp \
xpub.hpp \
router.hpp \
dealer.hpp \
xsub.hpp \
ypipe.hpp \
ypipe_base.hpp \
yqueue.hpp \
address.cpp \
clock.cpp \
ctx.cpp \
curve_client.cpp \
curve_server.cpp \
devpoll.cpp \
dist.cpp \
epoll.cpp \
err.cpp \
fq.cpp \
gssapi_mechanism_base.cpp \
gssapi_client.cpp \
gssapi_server.cpp \
io_object.cpp \
io_thread.cpp \
ip.cpp \
ipc_address.cpp \
ipc_connecter.cpp \
ipc_listener.cpp \
kqueue.cpp \
lb.cpp \
mailbox.cpp \
mechanism.cpp \
metadata.cpp \
msg.cpp \
mtrie.cpp \
norm_engine.cpp \
null_mechanism.cpp \
object.cpp \
options.cpp \
own.cpp \
pair.cpp \
pgm_receiver.cpp \
pgm_sender.cpp \
pgm_socket.cpp \
pipe.cpp \
plain_client.cpp \
plain_server.cpp \
poll.cpp \
poller_base.cpp \
pull.cpp \
push.cpp \
proxy.cpp \
reaper.cpp \
pub.cpp \
random.cpp \
rep.cpp \
req.cpp \
select.cpp \
session_base.cpp \
signaler.cpp \
socket_base.cpp \
socks.cpp \
socks_connecter.cpp \
stream.cpp \
stream_engine.cpp \
sub.cpp \
tcp.cpp \
tcp_address.cpp \
tcp_connecter.cpp \
tcp_listener.cpp \
thread.cpp \
trie.cpp \
xpub.cpp \
router.cpp \
dealer.cpp \
v1_decoder.cpp \
v1_encoder.cpp \
v1_decoder.hpp \
v1_encoder.hpp \
v2_decoder.cpp \
v2_decoder.hpp \
v2_encoder.cpp \
v2_encoder.hpp \
v2_protocol.hpp \
xsub.cpp \
zmq.cpp \
zmq_utils.cpp \
raw_decoder.hpp \
raw_decoder.cpp \
raw_encoder.hpp \
raw_encoder.cpp \
ypipe_conflate.hpp \
dbuffer.hpp \
tipc_address.cpp \
tipc_address.hpp \
tipc_listener.cpp \
tipc_listener.hpp \
tipc_connecter.cpp \
tipc_connecter.hpp
if ON_MINGW
libzmq_la_LDFLAGS = -no-undefined -avoid-version -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
else
if ON_ANDROID
libzmq_la_LDFLAGS = -avoid-version -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
else
if ON_LINUX
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@ -Wl,--version-script=$(srcdir)/libzmq.vers
else
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@ -Wl
endif
endif
endif
libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@
if BUILD_PGM
libzmq_la_CPPFLAGS = -I$(top_srcdir)/@pgm_srcdir@/include/
libzmq_la_LIBADD = $(top_srcdir)/@pgm_srcdir@/libpgm_noinst.la
endif
dist-hook:
-rm $(distdir)/platform.hpp
EXTRA_DIST = \
libzmq.pc.cmake.in \
libzmq.vers
AM_CPPFLAGS = -I$(top_builddir)/include \
-I$(top_srcdir)/include
LDADD = $(top_builddir)/src/libzmq.la
noinst_PROGRAMS = test_system \
test_pair_inproc \
test_pair_tcp \
test_reqrep_inproc \
test_reqrep_tcp \
test_hwm \
test_hwm_pubsub \
test_reqrep_device \
test_sub_forward \
test_invalid_rep \
test_msg_flags \
test_connect_resolve \
test_immediate \
test_last_endpoint \
test_term_endpoint \
test_srcfd \
test_monitor \
test_router_mandatory \
test_router_mandatory_hwm \
test_router_handover \
test_probe_router \
test_stream \
test_stream_empty \
test_stream_disconnect \
test_stream_timeout \
test_disconnect_inproc \
test_ctx_options \
test_ctx_destroy \
test_security_null \
test_security_plain \
test_security_curve \
test_iov \
test_spec_req \
test_spec_rep \
test_spec_dealer \
test_spec_router \
test_spec_pushpull \
test_req_correlate \
test_req_relaxed \
test_conflate \
test_inproc_connect \
test_issue_566 \
test_proxy \
test_many_sockets \
test_ipc_wildcard \
test_diffserv \
test_connect_rid \
test_bind_src_address \
test_metadata \
test_id2fd \
test_capabilities \
test_xpub_nodrop
if !ON_MINGW
noinst_PROGRAMS += test_shutdown_stress \
test_pair_ipc \
test_reqrep_ipc \
test_timeo \
test_filter_ipc
if HAVE_FORK
noinst_PROGRAMS += test_fork
endif
endif
if BUILD_TIPC
noinst_PROGRAMS += test_connect_delay_tipc \
test_pair_tipc \
test_reqrep_device_tipc \
test_reqrep_tipc \
test_router_mandatory_tipc \
test_shutdown_stress_tipc \
test_sub_forward_tipc \
test_term_endpoint_tipc
endif
if ON_LINUX
noinst_PROGRAMS += test_abstract_ipc
endif
test_system_SOURCES = test_system.cpp
test_pair_inproc_SOURCES = test_pair_inproc.cpp testutil.hpp
test_pair_tcp_SOURCES = test_pair_tcp.cpp testutil.hpp
test_reqrep_inproc_SOURCES = test_reqrep_inproc.cpp testutil.hpp
test_reqrep_tcp_SOURCES = test_reqrep_tcp.cpp testutil.hpp
test_hwm_SOURCES = test_hwm.cpp
test_hwm_pubsub_SOURCES = test_hwm_pubsub.cpp
test_reqrep_device_SOURCES = test_reqrep_device.cpp
test_sub_forward_SOURCES = test_sub_forward.cpp
test_invalid_rep_SOURCES = test_invalid_rep.cpp
test_msg_flags_SOURCES = test_msg_flags.cpp
test_connect_resolve_SOURCES = test_connect_resolve.cpp
test_immediate_SOURCES = test_immediate.cpp
test_last_endpoint_SOURCES = test_last_endpoint.cpp
test_term_endpoint_SOURCES = test_term_endpoint.cpp
test_srcfd_SOURCES = test_srcfd.cpp
test_monitor_SOURCES = test_monitor.cpp
test_router_mandatory_SOURCES = test_router_mandatory.cpp
test_router_mandatory_hwm_SOURCES = test_router_mandatory_hwm.cpp
test_router_handover_SOURCES = test_router_handover.cpp
test_probe_router_SOURCES = test_probe_router.cpp
test_stream_SOURCES = test_stream.cpp
test_stream_empty_SOURCES = test_stream_empty.cpp
test_stream_timeout_SOURCES = test_stream_timeout.cpp
test_stream_disconnect_SOURCES = test_stream_disconnect.cpp
test_disconnect_inproc_SOURCES = test_disconnect_inproc.cpp
test_ctx_options_SOURCES = test_ctx_options.cpp
test_iov_SOURCES = test_iov.cpp
test_ctx_destroy_SOURCES = test_ctx_destroy.cpp
test_security_null_SOURCES = test_security_null.cpp
test_security_plain_SOURCES = test_security_plain.cpp
test_security_curve_SOURCES = test_security_curve.cpp
test_spec_req_SOURCES = test_spec_req.cpp
test_spec_rep_SOURCES = test_spec_rep.cpp
test_spec_dealer_SOURCES = test_spec_dealer.cpp
test_spec_router_SOURCES = test_spec_router.cpp
test_spec_pushpull_SOURCES = test_spec_pushpull.cpp
test_req_correlate_SOURCES = test_req_correlate.cpp
test_req_relaxed_SOURCES = test_req_relaxed.cpp
test_conflate_SOURCES = test_conflate.cpp
test_inproc_connect_SOURCES = test_inproc_connect.cpp
test_issue_566_SOURCES = test_issue_566.cpp
test_proxy_SOURCES = test_proxy.cpp
test_abstract_ipc_SOURCES = test_abstract_ipc.cpp
test_many_sockets_SOURCES = test_many_sockets.cpp
test_ipc_wildcard_SOURCES = test_ipc_wildcard.cpp
test_diffserv_SOURCES = test_diffserv.cpp
test_connect_rid_SOURCES = test_connect_rid.cpp
test_bind_src_address_SOURCES = test_bind_src_address.cpp
test_metadata_SOURCES = test_metadata.cpp
test_id2fd_SOURCES = test_id2fd.cpp
test_capabilities_SOURCES = test_capabilities.cpp
test_xpub_nodrop_SOURCES = test_xpub_nodrop.cpp
if !ON_MINGW
test_shutdown_stress_SOURCES = test_shutdown_stress.cpp
test_pair_ipc_SOURCES = test_pair_ipc.cpp testutil.hpp
test_reqrep_ipc_SOURCES = test_reqrep_ipc.cpp testutil.hpp
test_timeo_SOURCES = test_timeo.cpp
if HAVE_FORK
test_fork_SOURCES = test_fork.cpp
endif
test_filter_ipc_SOURCES = test_filter_ipc.cpp
endif
if BUILD_TIPC
test_connect_delay_tipc_SOURCES = test_connect_delay_tipc.cpp
test_pair_tipc_SOURCES = test_pair_tipc.cpp
test_reqrep_device_tipc_SOURCES = test_reqrep_device_tipc.cpp
test_reqrep_tipc_SOURCES = test_reqrep_tipc.cpp
test_router_mandatory_tipc_SOURCES = test_router_mandatory_tipc.cpp
test_shutdown_stress_tipc_SOURCES = test_shutdown_stress_tipc.cpp
test_sub_forward_tipc_SOURCES = test_sub_forward_tipc.cpp
test_term_endpoint_tipc_SOURCES = test_term_endpoint_tipc.cpp
endif
# Run the test cases
TESTS = $(noinst_PROGRAMS)
XFAIL_TESTS =
if !ON_LINUX
XFAIL_TESTS += test_abstract_ipc
endif
EXTRA_DIST = curve_keygen.cpp
AM_CPPFLAGS = -I$(top_srcdir)/include
bin_PROGRAMS = curve_keygen
curve_keygen_LDADD = $(top_builddir)/src/libzmq.la
curve_keygen_SOURCES = curve_keygen.cpp
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment