Makefile.am 31.9 KB
Newer Older
1 2
ACLOCAL_AMFLAGS = -I config

3 4
SUBDIRS = doc

5
DIST_SUBDIRS = doc builds builds/deprecated-msvc
6 7 8

pkgconfig_DATA = src/libzmq.pc

9 10 11 12 13 14 15
AM_CPPFLAGS = \
	-I$(top_builddir)/include \
	-I$(top_srcdir)/include

#
# libraries/binaries
#
16
lib_LTLIBRARIES = src/libzmq.la
17 18

include_HEADERS = \
Min RK's avatar
Min RK committed
19 20
	include/zmq.h \
	include/zmq_utils.h
21

22
src_libzmq_la_SOURCES = \
23 24 25 26 27 28
	src/address.cpp \
	src/address.hpp \
	src/array.hpp \
	src/atomic_counter.hpp \
	src/atomic_ptr.hpp \
	src/blob.hpp \
29 30
	src/client.cpp \
	src/client.hpp \
31 32 33
	src/clock.cpp \
	src/clock.hpp \
	src/command.hpp \
somdoron's avatar
somdoron committed
34
	src/condition_variable.hpp \
35 36 37 38 39
	src/config.hpp \
	src/ctx.cpp \
	src/ctx.hpp \
	src/curve_client.cpp \
	src/curve_client.hpp \
40
	src/curve_client_tools.hpp \
41 42
	src/curve_mechanism_base.cpp \
	src/curve_mechanism_base.hpp \
43 44 45 46 47 48 49 50
	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 \
51 52
	src/dgram.cpp \
	src/dgram.hpp \
somdoron's avatar
somdoron committed
53 54
	src/dish.cpp \
	src/dish.hpp \
55 56 57 58 59 60 61 62 63 64
	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 \
somdoron's avatar
somdoron committed
65 66
	src/gather.cpp \
	src/gather.hpp \
67 68
	src/generic_mtrie.hpp \
	src/generic_mtrie_impl.hpp \
69 70 71 72 73 74 75 76 77
	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 \
somdoron's avatar
somdoron committed
78
	src/i_mailbox.hpp \
79 80 81 82 83 84 85
	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 \
86 87
	src/ip_resolver.cpp \
	src/ip_resolver.hpp \
88 89 90 91 92 93 94 95 96 97 98
	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 \
99
	src/macros.hpp \
100 101
	src/mailbox.cpp \
	src/mailbox.hpp \
somdoron's avatar
somdoron committed
102 103
	src/mailbox_safe.cpp \
	src/mailbox_safe.hpp \
104 105
	src/mechanism.cpp \
	src/mechanism.hpp  \
106 107
	src/mechanism_base.cpp \
	src/mechanism_base.hpp  \
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
	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 \
137
	src/plain_common.hpp \
138 139 140 141 142 143 144 145
	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 \
146 147
	src/polling_util.cpp \
	src/polling_util.hpp \
Laughing's avatar
Laughing committed
148 149
	src/pollset.cpp \
	src/pollset.hpp \
150 151
	src/precompiled.cpp \
	src/precompiled.hpp \
152 153 154 155 156 157 158 159
	src/proxy.cpp \
	src/proxy.hpp \
	src/pub.cpp \
	src/pub.hpp \
	src/pull.cpp \
	src/pull.hpp \
	src/push.cpp \
	src/push.hpp \
somdoron's avatar
somdoron committed
160 161
	src/radio.cpp \
	src/radio.hpp \
162 163
	src/radix_tree.cpp \
	src/radix_tree.hpp \
164 165 166 167 168 169 170 171 172 173 174 175 176 177
	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 \
somdoron's avatar
somdoron committed
178 179
	src/scatter.cpp \
	src/scatter.hpp \
180 181
	src/select.cpp \
	src/select.hpp \
182 183
	src/server.cpp \
	src/server.hpp \
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
	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 \
somdoron's avatar
somdoron committed
211 212
	src/timers.cpp \
	src/timers.hpp \
213 214 215 216 217 218 219 220
	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 \
221 222 223 224
	src/udp_address.cpp \
	src/udp_address.hpp \
	src/udp_engine.cpp \
	src/udp_engine.hpp \
225 226 227 228 229 230 231 232 233
	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 \
Ilya Kulakov's avatar
Ilya Kulakov committed
234 235 236 237 238 239 240 241
	src/vmci.cpp \
	src/vmci.hpp \
	src/vmci_address.cpp \
	src/vmci_address.hpp \
	src/vmci_connecter.cpp \
	src/vmci_connecter.hpp \
	src/vmci_listener.cpp \
	src/vmci_listener.hpp \
242 243 244
	src/windows.hpp \
	src/wire.hpp \
	src/xpub.cpp \
245
	src/xpub.hpp \
246 247 248 249 250 251 252
	src/xsub.cpp \
	src/xsub.hpp \
	src/ypipe.hpp \
	src/ypipe_base.hpp \
	src/ypipe_conflate.hpp \
	src/yqueue.hpp \
	src/zmq.cpp \
Jens Auer's avatar
Jens Auer committed
253
	src/zmq_utils.cpp \
254 255 256
	src/decoder_allocators.cpp \
	src/decoder_allocators.hpp \
	src/socket_poller.cpp \
257
	src/socket_poller.hpp \
258 259
	src/zap_client.cpp \
	src/zap_client.hpp \
260
	src/zmq_draft.h
Jens Auer's avatar
Jens Auer committed
261

262 263
if USE_WEPOLL
src_libzmq_la_SOURCES += \
264 265
	external/wepoll/wepoll.c \
	external/wepoll/wepoll.h
266 267
endif

268 269 270 271 272 273
if USE_TWEETNACL
src_libzmq_la_SOURCES += \
	src/tweetnacl.c \
	src/tweetnacl.h
endif

274
if ON_MINGW
275
src_libzmq_la_LDFLAGS = \
276 277 278 279 280
	-no-undefined \
	-avoid-version \
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@
else
281 282 283 284 285 286 287
if ON_CYGWIN
src_libzmq_la_LDFLAGS = \
	-no-undefined \
	-avoid-version \
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@
else
288
if ON_ANDROID
289
src_libzmq_la_LDFLAGS = \
290 291 292
	-avoid-version \
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@
293
else
294
if ON_LINUX
295
src_libzmq_la_LDFLAGS = \
296 297 298 299
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@ \
	-Wl,--version-script=$(srcdir)/src/libzmq.vers
else
300 301 302 303 304 305
if ON_GNU
src_libzmq_la_LDFLAGS = \
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@ \
	-Wl,--version-script=$(srcdir)/src/libzmq.vers
else
306 307 308 309 310 311
if ON_DEBIAN_KFREEBSD
src_libzmq_la_LDFLAGS = \
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@ \
	-Wl,--version-script=$(srcdir)/src/libzmq.vers
else
312
src_libzmq_la_LDFLAGS = \
313 314 315 316 317 318
	-version-info @LTVER@ \
	@LIBZMQ_EXTRA_LDFLAGS@ \
	-Wl
endif
endif
endif
319
endif
320
endif
321
endif
322

323 324 325 326 327
src_libzmq_la_CPPFLAGS = $(CODE_COVERAGE_CPPFLAGS) $(LIBUNWIND_CFLAGS)
src_libzmq_la_CFLAGS = $(CODE_COVERAGE_CFLAGS) $(LIBUNWIND_CFLAGS)
src_libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@ $(CODE_COVERAGE_CXXFLAGS) \
	$(LIBUNWIND_CFLAGS)
src_libzmq_la_LIBADD = $(CODE_COVERAGE_LDFLAGS) $(LIBUNWIND_LIBS)
328

329 330 331 332 333
if USE_LIBSODIUM
src_libzmq_la_CPPFLAGS += ${sodium_CFLAGS}
src_libzmq_la_LIBADD += ${sodium_LIBS}
endif

334
if HAVE_PGM
335 336
src_libzmq_la_CPPFLAGS += ${pgm_CFLAGS}
src_libzmq_la_LIBADD += ${pgm_LIBS}
337 338
endif

339 340 341 342 343
if HAVE_NORM
src_libzmq_la_CPPFLAGS += ${norm_CFLAGS}
src_libzmq_la_LIBADD += ${norm_LIBS}
endif

344 345 346 347 348
if BUILD_GSSAPI
src_libzmq_la_CPPFLAGS += ${gssapi_krb5_CFLAGS}
src_libzmq_la_LIBADD += ${gssapi_krb5_LIBS}
endif

349
if ENABLE_PERF
350
noinst_PROGRAMS = \
351 352 353 354 355 356
	perf/local_lat \
	perf/remote_lat \
	perf/local_thr \
	perf/remote_thr \
	perf/inproc_lat \
	perf/inproc_thr
357

358 359
perf_local_lat_LDADD = src/libzmq.la
perf_local_lat_SOURCES = perf/local_lat.cpp
360

361 362
perf_remote_lat_LDADD = src/libzmq.la
perf_remote_lat_SOURCES = perf/remote_lat.cpp
363

364 365
perf_local_thr_LDADD = src/libzmq.la
perf_local_thr_SOURCES = perf/local_thr.cpp
366

367 368
perf_remote_thr_LDADD = src/libzmq.la
perf_remote_thr_SOURCES = perf/remote_thr.cpp
369

370 371
perf_inproc_lat_LDADD = src/libzmq.la
perf_inproc_lat_SOURCES = perf/inproc_lat.cpp
372

373 374
perf_inproc_thr_LDADD = src/libzmq.la
perf_inproc_thr_SOURCES = perf/inproc_thr.cpp
375
endif
376

377
if ENABLE_CURVE_KEYGEN
378
bin_PROGRAMS = tools/curve_keygen
379

380 381
tools_curve_keygen_LDADD = src/libzmq.la
tools_curve_keygen_SOURCES = tools/curve_keygen.cpp
382
endif
383

384 385 386
#
# tests
#
387
test_apps = \
388
	tests/test_ancillaries \
389 390 391 392 393 394 395 396 397 398 399
	tests/test_system \
	tests/test_pair_inproc \
	tests/test_pair_tcp \
	tests/test_reqrep_inproc \
	tests/test_reqrep_tcp \
	tests/test_hwm \
	tests/test_hwm_pubsub \
	tests/test_reqrep_device \
	tests/test_sub_forward \
	tests/test_invalid_rep \
	tests/test_msg_flags \
400
	tests/test_msg_ffn \
401 402 403 404 405 406 407 408 409 410 411 412 413 414 415
	tests/test_connect_resolve \
	tests/test_immediate \
	tests/test_last_endpoint \
	tests/test_term_endpoint \
	tests/test_srcfd \
	tests/test_monitor \
	tests/test_router_mandatory \
	tests/test_router_mandatory_hwm \
	tests/test_router_handover \
	tests/test_probe_router \
	tests/test_stream \
	tests/test_stream_empty \
	tests/test_stream_disconnect \
	tests/test_stream_timeout \
	tests/test_disconnect_inproc \
Dylan Cali's avatar
Dylan Cali committed
416
	tests/test_unbind_wildcard \
417 418 419 420
	tests/test_ctx_options \
	tests/test_ctx_destroy \
	tests/test_security_null \
	tests/test_security_plain \
421
	tests/test_security_zap \
422 423 424 425 426 427 428 429 430 431 432 433
	tests/test_iov \
	tests/test_spec_req \
	tests/test_spec_rep \
	tests/test_spec_dealer \
	tests/test_spec_router \
	tests/test_spec_pushpull \
	tests/test_req_correlate \
	tests/test_req_relaxed \
	tests/test_conflate \
	tests/test_inproc_connect \
	tests/test_issue_566 \
	tests/test_proxy \
434
	tests/test_proxy_hwm \
435
	tests/test_proxy_single_socket \
436
	tests/test_proxy_terminate \
437
	tests/test_getsockopt_memset \
438
	tests/test_setsockopt \
439 440 441 442 443
	tests/test_diffserv \
	tests/test_connect_rid \
	tests/test_bind_src_address \
	tests/test_metadata \
	tests/test_capabilities \
444
	tests/test_xpub_nodrop \
somdoron's avatar
somdoron committed
445
	tests/test_xpub_manual \
446
	tests/test_xpub_welcome_msg \
447
	tests/test_xpub_verbose \
448
	tests/test_atomics \
449
	tests/test_sockopt_hwm \
450
	tests/test_heartbeats \
451
	tests/test_stream_exceeds_buffer \
452 453
	tests/test_pub_invert_matching \
	tests/test_base85 \
454
	tests/test_bind_after_connect_tcp \
455
	tests/test_sodium \
456
	tests/test_reconnect_ivl \
457
	tests/test_mock_pub_sub \
458
	tests/test_socket_null
459

460
UNITY_CPPFLAGS = -I$(top_srcdir)/external/unity -DUNITY_USE_COMMAND_LINE_ARGS -DUNITY_EXCLUDE_FLOAT
461 462
UNITY_LIBS = $(top_builddir)/external/unity/libunity.a
noinst_LIBRARIES = external/unity/libunity.a
463 464 465
external_unity_libunity_a_SOURCES = external/unity/unity.c \
	external/unity/unity.h \
	external/unity/unity_internals.h
466

467
tests_test_ancillaries_SOURCES = tests/test_ancillaries.cpp
468 469
tests_test_ancillaries_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_ancillaries_CPPFLAGS = ${UNITY_CPPFLAGS}
470

471 472 473 474
tests_test_system_SOURCES = tests/test_system.cpp
tests_test_system_LDADD = src/libzmq.la

tests_test_pair_inproc_SOURCES = \
475 476
	tests/test_pair_inproc.cpp \
	tests/testutil.hpp
477
tests_test_pair_inproc_LDADD = src/libzmq.la
478

479
tests_test_pair_tcp_SOURCES = \
480 481
	tests/test_pair_tcp.cpp \
	tests/testutil.hpp
482 483
tests_test_pair_tcp_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_pair_tcp_CPPFLAGS = ${UNITY_CPPFLAGS}
484

485
tests_test_reqrep_inproc_SOURCES = \
486 487
	tests/test_reqrep_inproc.cpp \
	tests/testutil.hpp
488
tests_test_reqrep_inproc_LDADD = src/libzmq.la
489

490
tests_test_reqrep_tcp_SOURCES = \
491 492
	tests/test_reqrep_tcp.cpp \
	tests/testutil.hpp
493 494
tests_test_reqrep_tcp_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_reqrep_tcp_CPPFLAGS = ${UNITY_CPPFLAGS}
495

496 497 498
tests_test_hwm_SOURCES = tests/test_hwm.cpp tests/testutil_unity.hpp
tests_test_hwm_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_hwm_CPPFLAGS = ${UNITY_CPPFLAGS}
499

500
tests_test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp
501 502
tests_test_hwm_pubsub_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_hwm_pubsub_CPPFLAGS = ${UNITY_CPPFLAGS}
503

504 505
tests_test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp
tests_test_reqrep_device_LDADD = src/libzmq.la
506

507 508
tests_test_sub_forward_SOURCES = tests/test_sub_forward.cpp
tests_test_sub_forward_LDADD = src/libzmq.la
509

510 511
tests_test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp
tests_test_invalid_rep_LDADD = src/libzmq.la
512

513 514
tests_test_msg_flags_SOURCES = tests/test_msg_flags.cpp
tests_test_msg_flags_LDADD = src/libzmq.la
515

516 517 518
tests_test_msg_ffn_SOURCES = tests/test_msg_ffn.cpp
tests_test_msg_ffn_LDADD = src/libzmq.la

519
tests_test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp
520 521
tests_test_connect_resolve_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_connect_resolve_CPPFLAGS = ${UNITY_CPPFLAGS}
522

523
tests_test_immediate_SOURCES = tests/test_immediate.cpp
524 525
tests_test_immediate_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_immediate_CPPFLAGS = ${UNITY_CPPFLAGS}
526

527
tests_test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp
528 529
tests_test_last_endpoint_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_last_endpoint_CPPFLAGS = ${UNITY_CPPFLAGS}
530

531
tests_test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp
532 533
tests_test_term_endpoint_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_term_endpoint_CPPFLAGS = ${UNITY_CPPFLAGS}
534

535 536
tests_test_srcfd_SOURCES = tests/test_srcfd.cpp
tests_test_srcfd_LDADD = src/libzmq.la
537

538 539
tests_test_monitor_SOURCES = tests/test_monitor.cpp
tests_test_monitor_LDADD = src/libzmq.la
540

541 542 543
tests_test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp tests/testutil_unity.hpp
tests_test_router_mandatory_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_router_mandatory_CPPFLAGS = ${UNITY_CPPFLAGS}
544

545
tests_test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp
546 547
tests_test_router_mandatory_hwm_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_router_mandatory_hwm_CPPFLAGS = ${UNITY_CPPFLAGS}
548

549
tests_test_router_handover_SOURCES = tests/test_router_handover.cpp
550 551
tests_test_router_handover_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_router_handover_CPPFLAGS = ${UNITY_CPPFLAGS}
552

553
tests_test_probe_router_SOURCES = tests/test_probe_router.cpp
554 555
tests_test_probe_router_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_probe_router_CPPFLAGS = ${UNITY_CPPFLAGS}
556

557
tests_test_stream_SOURCES = tests/test_stream.cpp
558 559
tests_test_stream_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_stream_CPPFLAGS = ${UNITY_CPPFLAGS}
560

561
tests_test_stream_empty_SOURCES = tests/test_stream_empty.cpp
562 563
tests_test_stream_empty_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_stream_empty_CPPFLAGS = ${UNITY_CPPFLAGS}
564

565
tests_test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp
566 567
tests_test_stream_timeout_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_stream_timeout_CPPFLAGS = ${UNITY_CPPFLAGS}
568

569
tests_test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp
570
tests_test_stream_disconnect_LDADD = src/libzmq.la ${UNITY_LIBS}
571
tests_test_stream_disconnect_CPPFLAGS = ${UNITY_CPPFLAGS}
572

573 574
tests_test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
tests_test_disconnect_inproc_LDADD = src/libzmq.la
575

Dylan Cali's avatar
Dylan Cali committed
576
tests_test_unbind_wildcard_SOURCES = tests/test_unbind_wildcard.cpp
577 578
tests_test_unbind_wildcard_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_unbind_wildcard_CPPFLAGS = ${UNITY_CPPFLAGS}
Dylan Cali's avatar
Dylan Cali committed
579

580 581
tests_test_ctx_options_SOURCES = tests/test_ctx_options.cpp
tests_test_ctx_options_LDADD = src/libzmq.la
582

583 584
tests_test_iov_SOURCES = tests/test_iov.cpp
tests_test_iov_LDADD = src/libzmq.la
585

586
tests_test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp
587 588
tests_test_ctx_destroy_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_ctx_destroy_CPPFLAGS = ${UNITY_CPPFLAGS}
589

590 591
tests_test_security_null_SOURCES = tests/test_security_null.cpp
tests_test_security_null_LDADD = src/libzmq.la
592

593 594
tests_test_security_plain_SOURCES = tests/test_security_plain.cpp
tests_test_security_plain_LDADD = src/libzmq.la
595

596 597 598 599
tests_test_security_zap_SOURCES = \
	tests/test_security_zap.cpp \
	tests/testutil_security.hpp \
	tests/testutil.hpp
600 601
tests_test_security_zap_LDADD = src/libzmq.la

602 603
tests_test_spec_req_SOURCES = tests/test_spec_req.cpp
tests_test_spec_req_LDADD = src/libzmq.la
604

605 606
tests_test_spec_rep_SOURCES = tests/test_spec_rep.cpp
tests_test_spec_rep_LDADD = src/libzmq.la
607

608
tests_test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp
609 610
tests_test_spec_dealer_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_spec_dealer_CPPFLAGS = ${UNITY_CPPFLAGS}
611

612
tests_test_spec_router_SOURCES = tests/test_spec_router.cpp
613 614
tests_test_spec_router_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_spec_router_CPPFLAGS = ${UNITY_CPPFLAGS}
615

616
tests_test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp
617 618
tests_test_spec_pushpull_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_spec_pushpull_CPPFLAGS = ${UNITY_CPPFLAGS}
619

620
tests_test_req_correlate_SOURCES = tests/test_req_correlate.cpp
621 622
tests_test_req_correlate_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_req_correlate_CPPFLAGS = ${UNITY_CPPFLAGS}
623

624 625
tests_test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp
tests_test_req_relaxed_LDADD = src/libzmq.la
626

627
tests_test_conflate_SOURCES = tests/test_conflate.cpp
628 629
tests_test_conflate_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_conflate_CPPFLAGS = ${UNITY_CPPFLAGS}
630

631
tests_test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp
632 633
tests_test_inproc_connect_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_inproc_connect_CPPFLAGS = ${UNITY_CPPFLAGS}
634

635 636
tests_test_issue_566_SOURCES = tests/test_issue_566.cpp
tests_test_issue_566_LDADD = src/libzmq.la
637

638
tests_test_proxy_SOURCES = tests/test_proxy.cpp
639
tests_test_proxy_LDADD = src/libzmq.la
640

641 642 643 644
tests_test_proxy_hwm_SOURCES = tests/test_proxy_hwm.cpp
tests_test_proxy_hwm_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_proxy_hwm_CPPFLAGS = ${UNITY_CPPFLAGS}

645 646 647
tests_test_proxy_single_socket_SOURCES = tests/test_proxy_single_socket.cpp
tests_test_proxy_single_socket_LDADD = src/libzmq.la

648 649 650
tests_test_proxy_terminate_SOURCES = tests/test_proxy_terminate.cpp
tests_test_proxy_terminate_LDADD = src/libzmq.la

651
tests_test_getsockopt_memset_SOURCES = tests/test_getsockopt_memset.cpp
652
tests_test_getsockopt_memset_LDADD = src/libzmq.la
653

654 655
tests_test_many_sockets_SOURCES = tests/test_many_sockets.cpp
tests_test_many_sockets_LDADD = src/libzmq.la
656

657 658
tests_test_diffserv_SOURCES = tests/test_diffserv.cpp
tests_test_diffserv_LDADD = src/libzmq.la
659

660
tests_test_connect_rid_SOURCES = tests/test_connect_rid.cpp
661 662
tests_test_connect_rid_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_connect_rid_CPPFLAGS = ${UNITY_CPPFLAGS}
663

664
tests_test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp
665 666
tests_test_bind_src_address_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_bind_src_address_CPPFLAGS = ${UNITY_CPPFLAGS}
667

668 669
tests_test_metadata_SOURCES = tests/test_metadata.cpp
tests_test_metadata_LDADD = src/libzmq.la
670

671
tests_test_capabilities_SOURCES = tests/test_capabilities.cpp
672 673
tests_test_capabilities_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_capabilities_CPPFLAGS = ${UNITY_CPPFLAGS}
674

675
tests_test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp
676 677
tests_test_xpub_nodrop_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_xpub_nodrop_CPPFLAGS = ${UNITY_CPPFLAGS}
678

679
tests_test_xpub_manual_SOURCES = tests/test_xpub_manual.cpp
680 681
tests_test_xpub_manual_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_xpub_manual_CPPFLAGS = ${UNITY_CPPFLAGS}
682

somdoron's avatar
somdoron committed
683 684 685
tests_test_xpub_welcome_msg_SOURCES = tests/test_xpub_welcome_msg.cpp
tests_test_xpub_welcome_msg_LDADD = src/libzmq.la

686 687 688 689
tests_test_xpub_verbose_SOURCES = tests/test_xpub_verbose.cpp
tests_test_xpub_verbose_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_xpub_verbose_CPPFLAGS = ${UNITY_CPPFLAGS}

690 691 692
tests_test_atomics_SOURCES = tests/test_atomics.cpp
tests_test_atomics_LDADD = src/libzmq.la

693
tests_test_sockopt_hwm_SOURCES = tests/test_sockopt_hwm.cpp
694 695
tests_test_sockopt_hwm_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_sockopt_hwm_CPPFLAGS = ${UNITY_CPPFLAGS}
696

697
tests_test_setsockopt_SOURCES = tests/test_setsockopt.cpp
698 699
tests_test_setsockopt_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_setsockopt_CPPFLAGS = ${UNITY_CPPFLAGS}
700

Jonathan Reams's avatar
Jonathan Reams committed
701
tests_test_heartbeats_SOURCES = tests/test_heartbeats.cpp
702 703
tests_test_heartbeats_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_heartbeats_CPPFLAGS = ${UNITY_CPPFLAGS}
somdoron's avatar
somdoron committed
704

705 706 707
tests_test_stream_exceeds_buffer_SOURCES = tests/test_stream_exceeds_buffer.cpp
tests_test_stream_exceeds_buffer_LDADD = src/libzmq.la

708
tests_test_pub_invert_matching_SOURCES = tests/test_pub_invert_matching.cpp
709 710
tests_test_pub_invert_matching_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_pub_invert_matching_CPPFLAGS = ${UNITY_CPPFLAGS}
711

712
tests_test_bind_after_connect_tcp_SOURCES = tests/test_bind_after_connect_tcp.cpp
713 714
tests_test_bind_after_connect_tcp_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_bind_after_connect_tcp_CPPFLAGS = ${UNITY_CPPFLAGS}
715

716
tests_test_base85_SOURCES = tests/test_base85.cpp
717 718
tests_test_base85_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_base85_CPPFLAGS = ${UNITY_CPPFLAGS}
719 720 721 722

tests_test_sodium_SOURCES = tests/test_sodium.cpp
tests_test_sodium_LDADD = src/libzmq.la

723
tests_test_socket_null_SOURCES = tests/test_socket_null.cpp
724 725
tests_test_socket_null_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_socket_null_CPPFLAGS = ${UNITY_CPPFLAGS}
726

727
tests_test_reconnect_ivl_SOURCES = tests/test_reconnect_ivl.cpp
728 729
tests_test_reconnect_ivl_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_reconnect_ivl_CPPFLAGS = ${UNITY_CPPFLAGS}
730

731 732 733 734
tests_test_mock_pub_sub_SOURCES = tests/test_mock_pub_sub.cpp
tests_test_mock_pub_sub_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_mock_pub_sub_CPPFLAGS = ${UNITY_CPPFLAGS}

735 736 737 738 739 740 741
if HAVE_CURVE

test_apps += \
	tests/test_security_curve

tests_test_security_curve_SOURCES = \
	tests/test_security_curve.cpp \
742
	tests/testutil_security.hpp \
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757
	tests/testutil.hpp \
	src/curve_client_tools.hpp \
	src/clock.hpp \
	src/clock.cpp \
	src/random.hpp \
	src/random.cpp \
	src/err.hpp \
	src/err.cpp

if USE_TWEETNACL
tests_test_security_curve_SOURCES += \
	src/tweetnacl.c
endif

tests_test_security_curve_LDADD = \
758
	src/libzmq.la ${UNITY_LIBS} $(LIBUNWIND_LIBS)
759
tests_test_security_curve_CPPFLAGS = \
760
	${UNITY_CPPFLAGS} \
761
	${LIBUNWIND_CFLAGS}
762 763

if USE_LIBSODIUM
764 765
tests_test_security_curve_CPPFLAGS += \
	${sodium_CFLAGS}
766 767 768 769 770 771
tests_test_security_curve_LDADD += \
	${sodium_LIBS}
endif

endif

772
if !ON_MINGW
773
if !ON_CYGWIN
774
test_apps += \
775
	tests/test_shutdown_stress \
776
	tests/test_ipc_wildcard \
777
	tests/test_pair_ipc \
778
	tests/test_rebind_ipc \
779
	tests/test_reqrep_ipc \
780
	tests/test_use_fd \
781
	tests/test_zmq_poll_fd \
782 783
	tests/test_timeo \
	tests/test_filter_ipc
784

785 786
tests_test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp
tests_test_shutdown_stress_LDADD = src/libzmq.la
787

788 789 790
tests_test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp
tests_test_ipc_wildcard_LDADD = src/libzmq.la

791
tests_test_pair_ipc_SOURCES = \
792 793
	tests/test_pair_ipc.cpp \
	tests/testutil.hpp
794
tests_test_pair_ipc_LDADD = src/libzmq.la
795

796 797 798
tests_test_rebind_ipc_SOURCES = tests/test_rebind_ipc.cpp
tests_test_rebind_ipc_LDADD = src/libzmq.la

799
tests_test_reqrep_ipc_SOURCES = \
800 801
	tests/test_reqrep_ipc.cpp \
	tests/testutil.hpp
802
tests_test_reqrep_ipc_LDADD = src/libzmq.la
803

804 805
tests_test_timeo_SOURCES = tests/test_timeo.cpp
tests_test_timeo_LDADD = src/libzmq.la
806

807
tests_test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp
808 809
tests_test_filter_ipc_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_filter_ipc_CPPFLAGS = ${UNITY_CPPFLAGS}
810

811 812
tests_test_use_fd_SOURCES = \
	tests/test_use_fd.cpp \
813
	tests/testutil.hpp
814 815
tests_test_use_fd_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_use_fd_CPPFLAGS = ${UNITY_CPPFLAGS}
816

817 818 819
tests_test_zmq_poll_fd_SOURCES = tests/test_zmq_poll_fd.cpp
tests_test_zmq_poll_fd_LDADD = src/libzmq.la

820
if HAVE_FORK
821
if !VALGRIND_ENABLED
822
test_apps += tests/test_fork
823

824 825
tests_test_fork_SOURCES = tests/test_fork.cpp
tests_test_fork_LDADD = src/libzmq.la
826

827
endif
828
endif
829 830 831 832 833
endif
endif

if BUILD_TIPC
test_apps += \
834 835 836 837 838 839 840
	tests/test_connect_delay_tipc \
	tests/test_pair_tipc \
	tests/test_reqrep_device_tipc \
	tests/test_reqrep_tipc \
	tests/test_router_mandatory_tipc \
	tests/test_shutdown_stress_tipc \
	tests/test_sub_forward_tipc \
841 842
	tests/test_term_endpoint_tipc \
	tests/test_address_tipc
843

844
tests_test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp
845 846
tests_test_connect_delay_tipc_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_connect_delay_tipc_CPPFLAGS = ${UNITY_CPPFLAGS}
847

848 849
tests_test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp
tests_test_pair_tipc_LDADD = src/libzmq.la
850

851 852
tests_test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp
tests_test_reqrep_device_tipc_LDADD = src/libzmq.la
853

854 855
tests_test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp
tests_test_reqrep_tipc_LDADD = src/libzmq.la
856

857 858
tests_test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp
tests_test_router_mandatory_tipc_LDADD = src/libzmq.la
859

860 861
tests_test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp
tests_test_shutdown_stress_tipc_LDADD = src/libzmq.la
862

863 864
tests_test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp
tests_test_sub_forward_tipc_LDADD = src/libzmq.la
865

866 867
tests_test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp
tests_test_term_endpoint_tipc_LDADD = src/libzmq.la
868

869 870 871 872
tests_test_address_tipc_SOURCES = tests/test_address_tipc.cpp
tests_test_address_tipc_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_address_tipc_CPPFLAGS = ${UNITY_CPPFLAGS}

873 874
endif

875 876 877 878 879 880 881 882
if BUILD_GSSAPI
test_apps += tests/test_security_gssapi

tests_test_security_gssapi_SOURCES = tests/test_security_gssapi.cpp
tests_test_security_gssapi_LDADD = src/libzmq.la

endif

883
if ON_LINUX
884 885
test_apps += tests/test_abstract_ipc \
		tests/test_many_sockets
886

887 888
tests_test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp
tests_test_abstract_ipc_LDADD = src/libzmq.la
889

890 891
endif

Ilya Kulakov's avatar
Ilya Kulakov committed
892 893 894 895
if HAVE_VMCI
test_apps += test_pair_vmci test_reqrep_vmci

test_pair_vmci_SOURCES = tests/test_pair_vmci.cpp
896
test_pair_vmci_LDADD = src/libzmq.la
Ilya Kulakov's avatar
Ilya Kulakov committed
897 898 899 900
test_pair_vmci_LDFLAGS = @LIBZMQ_VMCI_LDFLAGS@
test_pair_vmci_CXXFLAGS = @LIBZMQ_VMCI_CXXFLAGS@

test_reqrep_vmci_SOURCES = tests/test_reqrep_vmci.cpp
901
test_reqrep_vmci_LDADD = src/libzmq.la
Ilya Kulakov's avatar
Ilya Kulakov committed
902 903 904 905 906
test_reqrep_vmci_LDFLAGS = @LIBZMQ_VMCI_LDFLAGS@
test_reqrep_vmci_CXXFLAGS = @LIBZMQ_VMCI_CXXFLAGS@

endif

907
if ENABLE_DRAFTS
908 909
test_apps += tests/test_poller \
	tests/test_client_server \
910
	tests/test_thread_safe \
911 912
	tests/test_timers \
	tests/test_radio_dish \
Bitiquinho's avatar
Bitiquinho committed
913
	tests/test_scatter_gather \
914
	tests/test_dgram \
915 916
	tests/test_app_meta \
	tests/test_router_notify
917

918
tests_test_poller_SOURCES = tests/test_poller.cpp
919 920
tests_test_poller_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_poller_CPPFLAGS = ${UNITY_CPPFLAGS}
921

922
tests_test_client_server_SOURCES = tests/test_client_server.cpp
923 924
tests_test_client_server_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_client_server_CPPFLAGS = ${UNITY_CPPFLAGS}
925 926

tests_test_thread_safe_SOURCES = tests/test_thread_safe.cpp
927 928
tests_test_thread_safe_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_thread_safe_CPPFLAGS = ${UNITY_CPPFLAGS}
929 930

tests_test_timers_SOURCES = tests/test_timers.cpp
931 932
tests_test_timers_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_timers_CPPFLAGS = ${UNITY_CPPFLAGS}
933 934

tests_test_radio_dish_SOURCES = tests/test_radio_dish.cpp
935 936
tests_test_radio_dish_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_radio_dish_CPPFLAGS = ${UNITY_CPPFLAGS}
937

938 939
tests_test_scatter_gather_SOURCES = tests/test_scatter_gather.cpp
tests_test_scatter_gather_LDADD = src/libzmq.la
Bitiquinho's avatar
Bitiquinho committed
940 941 942

tests_test_dgram_SOURCES = tests/test_dgram.cpp
tests_test_dgram_LDADD = src/libzmq.la
943 944 945 946

tests_test_app_meta_SOURCES = tests/test_app_meta.cpp
tests_test_app_meta_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_app_meta_CPPFLAGS = ${UNITY_CPPFLAGS}
947 948 949 950

tests_test_router_notify_SOURCES = tests/test_router_notify.cpp
tests_test_router_notify_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_router_notify_CPPFLAGS = ${UNITY_CPPFLAGS}
951 952
endif

953 954 955 956
if ENABLE_STATIC
# unit tests - these include individual source files and test the internal functions
test_apps += \
	unittests/unittest_poller \
957
	unittests/unittest_ypipe \
958
	unittests/unittest_mtrie \
959
	unittests/unittest_ip_resolver \
960 961
	unittests/unittest_udp_address \
	unittests/unittest_radix_tree
962 963

unittests_unittest_poller_SOURCES = unittests/unittest_poller.cpp
964 965
unittests_unittest_poller_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_poller_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
966 967
unittests_unittest_poller_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
968 969
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
970 971

unittests_unittest_ypipe_SOURCES = unittests/unittest_ypipe.cpp
972 973
unittests_unittest_ypipe_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_ypipe_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
974 975
unittests_unittest_ypipe_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
976 977
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
978 979

unittests_unittest_mtrie_SOURCES = unittests/unittest_mtrie.cpp
980 981
unittests_unittest_mtrie_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_mtrie_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
982 983
unittests_unittest_mtrie_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
984 985
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
986

987
unittests_unittest_ip_resolver_SOURCES = unittests/unittest_ip_resolver.cpp unittests/unittest_resolver_common.hpp
988 989 990 991 992 993
unittests_unittest_ip_resolver_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_ip_resolver_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
unittests_unittest_ip_resolver_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
994

995
unittests_unittest_udp_address_SOURCES = unittests/unittest_udp_address.cpp unittests/unittest_resolver_common.hpp
996 997 998 999 1000 1001
unittests_unittest_udp_address_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_udp_address_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
unittests_unittest_udp_address_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
1002 1003 1004 1005 1006 1007 1008 1009

unittests_unittest_radix_tree_SOURCES = unittests/unittest_radix_tree.cpp
unittests_unittest_radix_tree_CPPFLAGS = -I$(top_srcdir)/src ${UNITY_CPPFLAGS} $(CODE_COVERAGE_CPPFLAGS)
unittests_unittest_radix_tree_CXXFLAGS = $(CODE_COVERAGE_CXXFLAGS)
unittests_unittest_radix_tree_LDADD = $(top_builddir)/src/.libs/libzmq.a \
	${src_libzmq_la_LIBADD} \
	${UNITY_LIBS} \
	$(CODE_COVERAGE_LDFLAGS)
1010 1011
endif

1012 1013 1014 1015
check_PROGRAMS = ${test_apps}

#  Run the test cases
TESTS = $(test_apps)
1016
XFAIL_TESTS =
1017 1018

if !ON_LINUX
1019
XFAIL_TESTS += tests/test_abstract_ipc
1020
endif
1021

1022
if ON_GNU
1023
XFAIL_TESTS += tests/test_ipc_wildcard \
1024
		tests/test_reqrep_ipc \
1025
		tests/test_term_endpoint
1026 1027
endif

1028
EXTRA_DIST = \
1029 1030
	external/unity/license.txt \
	external/unity/version.txt \
1031 1032 1033
	external/wepoll/license.txt \
	external/wepoll/version.txt \
	external/wepoll/README.md \
1034
	CMakeLists.txt \
1035 1036
	autogen.sh	\
	version.sh	\
1037
	src/libzmq.pc.cmake.in \
1038
	ci_build.sh \
1039
	src/libzmq.vers \
1040 1041
	src/version.rc.in \
	tests/CMakeLists.txt \
1042
	unittests/CMakeLists.txt \
1043
	tools/curve_keygen.cpp
1044

1045
MAINTAINERCLEANFILES = \
1046 1047 1048
	$(srcdir)/aclocal.m4 \
	$(srcdir)/autom4te.cache \
	$(srcdir)/configure \
1049
	`find "$(srcdir)" -type f -name Makefile.in -print`
malosek's avatar
malosek committed
1050

1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101
if WITH_CLANG_FORMAT
ALL_SOURCE_FILES = $(wildcard \
	$(top_srcdir)/src/*.c \
	$(top_srcdir)/src/*.cc \
	$(top_srcdir)/src/*.cpp \
	$(top_srcdir)/src/*.h \
	$(top_srcdir)/src/*.hpp \
	$(top_srcdir)/tests/*.c \
	$(top_srcdir)/tests/*.cc \
	$(top_srcdir)/tests/*.cpp \
	$(top_srcdir)/tests/*.h \
	$(top_srcdir)/tests/*.hpp \
	$(top_srcdir)/perf/*.c \
	$(top_srcdir)/perf/*.cc \
	$(top_srcdir)/perf/*.cpp \
	$(top_srcdir)/perf/*.h \
	$(top_srcdir)/perf/*.hpp \
	$(top_srcdir)/tools/*.c \
	$(top_srcdir)/tools/*.cc \
	$(top_srcdir)/tools/*.cpp \
	$(top_srcdir)/tools/*.h \
	$(top_srcdir)/tools/*.hpp \
	$(top_srcdir)/include/*.h \
 )

# Check if any sources need to be fixed, report the filenames and an error code
clang-format-check: $(ALL_SOURCE_FILES)
	@FAILED=0 ; IFS=";" ; IDS="`printf '\n\b'`" ; export IFS IDS; \
	 for FILE in $(ALL_SOURCE_FILES) ; do \
		test -s $$FILE || continue ; \
		$(CLANG_FORMAT) -style=file -output-replacements-xml "$$FILE" | grep "<replacement " >/dev/null && \
		{ echo "$$FILE is not correctly formatted" >&2 ; FAILED=1; } ; \
	 done; \
	 if test "$$FAILED" != 0 ; then \
		exit 1 ; \
	 fi

# Change source formatting
clang-format: $(ALL_SOURCE_FILES)
	$(CLANG_FORMAT) -style=file -i $(ALL_SOURCE_FILES)

# Change source formatting AND report the diff
clang-format-diff: clang-format
	git diff $(ALL_SOURCE_FILES)

else
clang-format clang-format-check clang-format-diff:
	@echo "Install the clang-format program, reconfigure and re-run this request"
	@exit 1
endif

1102 1103
@CODE_COVERAGE_RULES@

1104
dist-hook:
1105
	-rm $(distdir)/src/platform.hpp
1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117
	@if test -d "$(srcdir)/.git"; \
	then \
		echo Creating ChangeLog && \
		( cd "$(top_srcdir)" && \
		  echo '# Generated by Makefile. Do not edit.'; echo; \
		  $(top_srcdir)/config/missing --run git log --stat ) > ChangeLog.tmp \
		  && mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
		  || ( rm -f ChangeLog.tmp ; \
		       echo Failed to generate ChangeLog >&2 ); \
	else \
		echo A git clone is required to generate a ChangeLog >&2; \
	fi
1118

1119 1120
maintainer-clean-local:
	-rm -rf $(top_srcdir)/config
1121 1122

@VALGRIND_CHECK_RULES@
1123 1124

VALGRIND_SUPPRESSIONS_FILES = builds/valgrind/valgrind.supp