rbczmq 1.6.2 → 1.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. data/.gitignore +4 -3
  2. data/.gitmodules +6 -0
  3. data/.travis.yml +5 -1
  4. data/CHANGELOG.rdoc +15 -0
  5. data/Gemfile.lock +2 -2
  6. data/README.rdoc +5 -2
  7. data/Rakefile +8 -3
  8. data/ext/czmq/.gitignore +52 -0
  9. data/ext/czmq/.travis.yml +18 -0
  10. data/ext/czmq/AUTHORS +9 -0
  11. data/ext/czmq/COPYING +674 -0
  12. data/ext/czmq/COPYING.LESSER +178 -0
  13. data/ext/czmq/ChangeLog +0 -0
  14. data/ext/czmq/Makefile.am +22 -0
  15. data/ext/czmq/NEWS +263 -0
  16. data/ext/czmq/README +0 -0
  17. data/ext/czmq/README.md +1122 -0
  18. data/ext/czmq/README.txt +327 -0
  19. data/ext/czmq/autogen.sh +46 -0
  20. data/ext/czmq/builds/android/Android.mk +35 -0
  21. data/ext/czmq/builds/android/Application.mk +1 -0
  22. data/ext/czmq/builds/android/build.sh +59 -0
  23. data/ext/czmq/builds/android/clean.sh +26 -0
  24. data/ext/czmq/builds/mingw32/Makefile.mingw32 +38 -0
  25. data/ext/czmq/builds/mingw32/platform.h +0 -0
  26. data/ext/czmq/builds/msvc/.gitignore +18 -0
  27. data/ext/czmq/builds/msvc/README.txt +17 -0
  28. data/ext/czmq/builds/msvc/czmq.sln +69 -0
  29. data/ext/czmq/builds/msvc/czmq.vcproj +2246 -0
  30. data/ext/czmq/builds/msvc/czmq.vcxproj +329 -0
  31. data/ext/czmq/builds/msvc/czmq.vcxproj.filters +117 -0
  32. data/ext/czmq/builds/msvc/czmq11.sln +36 -0
  33. data/ext/czmq/builds/msvc/czmq_selftest.vcproj +840 -0
  34. data/ext/czmq/builds/msvc/czmq_selftest.vcxproj +189 -0
  35. data/ext/czmq/builds/msvc/czmq_selftest.vcxproj.filters +14 -0
  36. data/ext/czmq/c +520 -0
  37. data/ext/czmq/configure.ac +229 -0
  38. data/ext/czmq/doc/Makefile.am +49 -0
  39. data/ext/czmq/doc/asciidoc.conf +57 -0
  40. data/ext/czmq/doc/czmq.txt +334 -0
  41. data/ext/czmq/doc/mkman +100 -0
  42. data/ext/czmq/doc/mksite +65 -0
  43. data/ext/czmq/doc/wdput +43 -0
  44. data/ext/czmq/doc/xml2wd.pl +242 -0
  45. data/ext/czmq/doc/zbeacon.txt +173 -0
  46. data/ext/czmq/doc/zclock.txt +51 -0
  47. data/ext/czmq/doc/zconfig.txt +92 -0
  48. data/ext/czmq/doc/zctx.txt +111 -0
  49. data/ext/czmq/doc/zfile.txt +77 -0
  50. data/ext/czmq/doc/zframe.txt +222 -0
  51. data/ext/czmq/doc/zhash.txt +225 -0
  52. data/ext/czmq/doc/zlist.txt +176 -0
  53. data/ext/czmq/doc/zloop.txt +106 -0
  54. data/ext/czmq/doc/zmsg.txt +315 -0
  55. data/ext/czmq/doc/zmutex.txt +54 -0
  56. data/ext/czmq/doc/zsocket.txt +110 -0
  57. data/ext/czmq/doc/zsockopt.txt +528 -0
  58. data/ext/czmq/doc/zstr.txt +80 -0
  59. data/ext/czmq/doc/zsys.txt +44 -0
  60. data/ext/czmq/doc/zthread.txt +126 -0
  61. data/ext/czmq/doc/ztree.txt +236 -0
  62. data/ext/czmq/images/README_1.png +0 -0
  63. data/ext/czmq/images/README_2.png +0 -0
  64. data/ext/czmq/include/czmq.h +64 -0
  65. data/ext/czmq/include/czmq_prelude.h +504 -0
  66. data/ext/czmq/include/zbeacon.h +91 -0
  67. data/ext/czmq/include/zclock.h +56 -0
  68. data/ext/czmq/include/zconfig.h +117 -0
  69. data/ext/czmq/include/zctx.h +96 -0
  70. data/ext/czmq/include/zfile.h +82 -0
  71. data/ext/czmq/include/zframe.h +145 -0
  72. data/ext/czmq/include/zhash.h +127 -0
  73. data/ext/czmq/include/zlist.h +113 -0
  74. data/ext/czmq/include/zloop.h +98 -0
  75. data/ext/czmq/include/zmsg.h +165 -0
  76. data/ext/czmq/include/zmutex.h +62 -0
  77. data/ext/czmq/include/zsocket.h +104 -0
  78. data/ext/czmq/include/zsockopt.h +249 -0
  79. data/ext/czmq/include/zstr.h +69 -0
  80. data/ext/czmq/include/zsys.h +66 -0
  81. data/ext/czmq/include/zthread.h +62 -0
  82. data/ext/czmq/include/ztree.h +133 -0
  83. data/ext/czmq/mkdoc +14 -0
  84. data/ext/czmq/model/generate +2 -0
  85. data/ext/czmq/model/sockopts.xml +101 -0
  86. data/ext/czmq/notes.txt +21 -0
  87. data/ext/czmq/scripts/sockopts.gsl +325 -0
  88. data/ext/czmq/src/Makefile.am +61 -0
  89. data/ext/czmq/src/czmq_selftest.c +60 -0
  90. data/ext/czmq/src/libczmq.pc.in +11 -0
  91. data/ext/czmq/src/selftest +7 -0
  92. data/ext/czmq/src/selftest.cfg +5 -0
  93. data/ext/czmq/src/valgrind.supp +14 -0
  94. data/ext/czmq/src/vg +2 -0
  95. data/ext/czmq/src/zbeacon.c +787 -0
  96. data/ext/czmq/src/zclock.c +143 -0
  97. data/ext/czmq/src/zconfig.c +691 -0
  98. data/ext/czmq/src/zctx.c +287 -0
  99. data/ext/czmq/src/zfile.c +237 -0
  100. data/ext/czmq/src/zframe.c +551 -0
  101. data/ext/czmq/src/zhash.c +664 -0
  102. data/ext/czmq/src/zlist.c +459 -0
  103. data/ext/czmq/src/zloop.c +496 -0
  104. data/ext/czmq/src/zmsg.c +854 -0
  105. data/ext/czmq/src/zmutex.c +134 -0
  106. data/ext/czmq/src/zsocket.c +313 -0
  107. data/ext/czmq/src/zsockopt.c +1756 -0
  108. data/ext/czmq/src/zstr.c +297 -0
  109. data/ext/czmq/src/zsys.c +136 -0
  110. data/ext/czmq/src/zthread.c +269 -0
  111. data/ext/czmq/src/ztree.c +888 -0
  112. data/ext/czmq/version.sh +21 -0
  113. data/ext/rbczmq/extconf.rb +1 -18
  114. data/ext/rbczmq/poller.c +4 -1
  115. data/ext/rbczmq/socket.c +28 -5
  116. data/ext/rbczmq/socket.h +1 -0
  117. data/ext/zeromq/AUTHORS +110 -0
  118. data/ext/zeromq/CMakeLists.txt +392 -0
  119. data/ext/zeromq/COPYING +674 -0
  120. data/ext/zeromq/COPYING.LESSER +179 -0
  121. data/ext/zeromq/INSTALL +246 -0
  122. data/ext/zeromq/MAINTAINERS +56 -0
  123. data/ext/zeromq/Makefile.am +40 -0
  124. data/ext/zeromq/NEWS +333 -0
  125. data/ext/zeromq/README +39 -0
  126. data/ext/zeromq/acinclude.m4 +930 -0
  127. data/ext/zeromq/autogen.sh +45 -0
  128. data/ext/zeromq/branding.bmp +0 -0
  129. data/ext/zeromq/builds/msvc/Makefile.am +33 -0
  130. data/ext/zeromq/builds/msvc/c_local_lat/c_local_lat.vcproj +176 -0
  131. data/ext/zeromq/builds/msvc/c_local_lat/c_local_lat.vcxproj +87 -0
  132. data/ext/zeromq/builds/msvc/c_local_thr/c_local_thr.vcproj +176 -0
  133. data/ext/zeromq/builds/msvc/c_local_thr/c_local_thr.vcxproj +87 -0
  134. data/ext/zeromq/builds/msvc/c_remote_lat/c_remote_lat.vcproj +176 -0
  135. data/ext/zeromq/builds/msvc/c_remote_lat/c_remote_lat.vcxproj +87 -0
  136. data/ext/zeromq/builds/msvc/c_remote_thr/c_remote_thr.vcproj +176 -0
  137. data/ext/zeromq/builds/msvc/c_remote_thr/c_remote_thr.vcxproj +87 -0
  138. data/ext/zeromq/builds/msvc/errno.cpp +32 -0
  139. data/ext/zeromq/builds/msvc/errno.hpp +56 -0
  140. data/ext/zeromq/builds/msvc/inproc_lat/inproc_lat.vcproj +174 -0
  141. data/ext/zeromq/builds/msvc/inproc_lat/inproc_lat.vcxproj +86 -0
  142. data/ext/zeromq/builds/msvc/inproc_thr/inproc_thr.vcproj +174 -0
  143. data/ext/zeromq/builds/msvc/inproc_thr/inproc_thr.vcxproj +86 -0
  144. data/ext/zeromq/builds/msvc/libzmq/libzmq.vcproj +804 -0
  145. data/ext/zeromq/builds/msvc/libzmq/libzmq.vcxproj +252 -0
  146. data/ext/zeromq/builds/msvc/libzmq/libzmq.vcxproj.filters +431 -0
  147. data/ext/zeromq/builds/msvc/msvc.sln +89 -0
  148. data/ext/zeromq/builds/msvc/msvc10.sln +116 -0
  149. data/ext/zeromq/builds/msvc/platform.hpp +32 -0
  150. data/ext/zeromq/builds/msvc/properties/Common.props +21 -0
  151. data/ext/zeromq/builds/msvc/properties/Debug.props +19 -0
  152. data/ext/zeromq/builds/msvc/properties/Dynamic.props +20 -0
  153. data/ext/zeromq/builds/msvc/properties/Executable.props +19 -0
  154. data/ext/zeromq/builds/msvc/properties/Precompiled.props +14 -0
  155. data/ext/zeromq/builds/msvc/properties/Release.props +22 -0
  156. data/ext/zeromq/builds/msvc/properties/Win32.props +12 -0
  157. data/ext/zeromq/builds/msvc/properties/Win32_Release.props +17 -0
  158. data/ext/zeromq/builds/msvc/properties/WithOpenPGM.props +12 -0
  159. data/ext/zeromq/builds/msvc/properties/ZeroMQ.props +23 -0
  160. data/ext/zeromq/builds/msvc/properties/x64.props +12 -0
  161. data/ext/zeromq/builds/redhat/zeromq.spec.in +160 -0
  162. data/ext/zeromq/builds/valgrind/valgrind.supp +14 -0
  163. data/ext/zeromq/builds/valgrind/vg +1 -0
  164. data/ext/zeromq/cmake/Modules/TestZMQVersion.cmake +35 -0
  165. data/ext/zeromq/cmake/Modules/zmq_version.cpp +31 -0
  166. data/ext/zeromq/cmake/NSIS.template32.in +952 -0
  167. data/ext/zeromq/cmake/NSIS.template64.in +960 -0
  168. data/ext/zeromq/configure.in +428 -0
  169. data/ext/zeromq/doc/Makefile.am +51 -0
  170. data/ext/zeromq/doc/asciidoc.conf +56 -0
  171. data/ext/zeromq/doc/zmq.txt +233 -0
  172. data/ext/zeromq/doc/zmq_bind.txt +102 -0
  173. data/ext/zeromq/doc/zmq_close.txt +52 -0
  174. data/ext/zeromq/doc/zmq_connect.txt +98 -0
  175. data/ext/zeromq/doc/zmq_ctx_destroy.txt +66 -0
  176. data/ext/zeromq/doc/zmq_ctx_get.txt +67 -0
  177. data/ext/zeromq/doc/zmq_ctx_new.txt +49 -0
  178. data/ext/zeromq/doc/zmq_ctx_set.txt +75 -0
  179. data/ext/zeromq/doc/zmq_disconnect.txt +67 -0
  180. data/ext/zeromq/doc/zmq_epgm.txt +162 -0
  181. data/ext/zeromq/doc/zmq_errno.txt +50 -0
  182. data/ext/zeromq/doc/zmq_getsockopt.txt +516 -0
  183. data/ext/zeromq/doc/zmq_init.txt +52 -0
  184. data/ext/zeromq/doc/zmq_inproc.txt +85 -0
  185. data/ext/zeromq/doc/zmq_ipc.txt +85 -0
  186. data/ext/zeromq/doc/zmq_msg_close.txt +55 -0
  187. data/ext/zeromq/doc/zmq_msg_copy.txt +57 -0
  188. data/ext/zeromq/doc/zmq_msg_data.txt +48 -0
  189. data/ext/zeromq/doc/zmq_msg_get.txt +72 -0
  190. data/ext/zeromq/doc/zmq_msg_init.txt +65 -0
  191. data/ext/zeromq/doc/zmq_msg_init_data.txt +85 -0
  192. data/ext/zeromq/doc/zmq_msg_init_size.txt +58 -0
  193. data/ext/zeromq/doc/zmq_msg_more.txt +63 -0
  194. data/ext/zeromq/doc/zmq_msg_move.txt +52 -0
  195. data/ext/zeromq/doc/zmq_msg_recv.txt +125 -0
  196. data/ext/zeromq/doc/zmq_msg_send.txt +122 -0
  197. data/ext/zeromq/doc/zmq_msg_set.txt +45 -0
  198. data/ext/zeromq/doc/zmq_msg_size.txt +48 -0
  199. data/ext/zeromq/doc/zmq_pgm.txt +162 -0
  200. data/ext/zeromq/doc/zmq_poll.txt +132 -0
  201. data/ext/zeromq/doc/zmq_proxy.txt +97 -0
  202. data/ext/zeromq/doc/zmq_recv.txt +93 -0
  203. data/ext/zeromq/doc/zmq_recvmsg.txt +123 -0
  204. data/ext/zeromq/doc/zmq_send.txt +100 -0
  205. data/ext/zeromq/doc/zmq_sendmsg.txt +119 -0
  206. data/ext/zeromq/doc/zmq_setsockopt.txt +523 -0
  207. data/ext/zeromq/doc/zmq_socket.txt +369 -0
  208. data/ext/zeromq/doc/zmq_socket_monitor.txt +288 -0
  209. data/ext/zeromq/doc/zmq_strerror.txt +55 -0
  210. data/ext/zeromq/doc/zmq_tcp.txt +101 -0
  211. data/ext/zeromq/doc/zmq_term.txt +66 -0
  212. data/ext/zeromq/doc/zmq_unbind.txt +65 -0
  213. data/ext/zeromq/doc/zmq_version.txt +53 -0
  214. data/ext/zeromq/foreign/openpgm/Makefile.am +8 -0
  215. data/ext/zeromq/foreign/openpgm/libpgm-5.1.118~dfsg.tar.gz +0 -0
  216. data/ext/zeromq/include/zmq.h +402 -0
  217. data/ext/zeromq/include/zmq_utils.h +64 -0
  218. data/ext/zeromq/installer.ico +0 -0
  219. data/ext/zeromq/perf/Makefile.am +22 -0
  220. data/ext/zeromq/perf/inproc_lat.cpp +233 -0
  221. data/ext/zeromq/perf/inproc_thr.cpp +241 -0
  222. data/ext/zeromq/perf/local_lat.cpp +109 -0
  223. data/ext/zeromq/perf/local_thr.cpp +133 -0
  224. data/ext/zeromq/perf/remote_lat.cpp +122 -0
  225. data/ext/zeromq/perf/remote_thr.cpp +105 -0
  226. data/ext/zeromq/src/Makefile.am +171 -0
  227. data/ext/zeromq/src/address.cpp +78 -0
  228. data/ext/zeromq/src/address.hpp +52 -0
  229. data/ext/zeromq/src/array.hpp +155 -0
  230. data/ext/zeromq/src/atomic_counter.hpp +197 -0
  231. data/ext/zeromq/src/atomic_ptr.hpp +196 -0
  232. data/ext/zeromq/src/blob.hpp +129 -0
  233. data/ext/zeromq/src/clock.cpp +147 -0
  234. data/ext/zeromq/src/clock.hpp +60 -0
  235. data/ext/zeromq/src/command.hpp +154 -0
  236. data/ext/zeromq/src/config.hpp +89 -0
  237. data/ext/zeromq/src/ctx.cpp +352 -0
  238. data/ext/zeromq/src/ctx.hpp +173 -0
  239. data/ext/zeromq/src/dealer.cpp +133 -0
  240. data/ext/zeromq/src/dealer.hpp +92 -0
  241. data/ext/zeromq/src/decoder.cpp +166 -0
  242. data/ext/zeromq/src/decoder.hpp +248 -0
  243. data/ext/zeromq/src/devpoll.cpp +190 -0
  244. data/ext/zeromq/src/devpoll.hpp +105 -0
  245. data/ext/zeromq/src/dist.cpp +194 -0
  246. data/ext/zeromq/src/dist.hpp +105 -0
  247. data/ext/zeromq/src/encoder.cpp +102 -0
  248. data/ext/zeromq/src/encoder.hpp +200 -0
  249. data/ext/zeromq/src/epoll.cpp +178 -0
  250. data/ext/zeromq/src/epoll.hpp +101 -0
  251. data/ext/zeromq/src/err.cpp +291 -0
  252. data/ext/zeromq/src/err.hpp +155 -0
  253. data/ext/zeromq/src/fd.hpp +45 -0
  254. data/ext/zeromq/src/fq.cpp +141 -0
  255. data/ext/zeromq/src/fq.hpp +74 -0
  256. data/ext/zeromq/src/i_decoder.hpp +49 -0
  257. data/ext/zeromq/src/i_encoder.hpp +55 -0
  258. data/ext/zeromq/src/i_engine.hpp +55 -0
  259. data/ext/zeromq/src/i_msg_sink.hpp +43 -0
  260. data/ext/zeromq/src/i_msg_source.hpp +44 -0
  261. data/ext/zeromq/src/i_poll_events.hpp +47 -0
  262. data/ext/zeromq/src/io_object.cpp +108 -0
  263. data/ext/zeromq/src/io_object.hpp +81 -0
  264. data/ext/zeromq/src/io_thread.cpp +104 -0
  265. data/ext/zeromq/src/io_thread.hpp +91 -0
  266. data/ext/zeromq/src/ip.cpp +109 -0
  267. data/ext/zeromq/src/ip.hpp +41 -0
  268. data/ext/zeromq/src/ipc_address.cpp +84 -0
  269. data/ext/zeromq/src/ipc_address.hpp +67 -0
  270. data/ext/zeromq/src/ipc_connecter.cpp +265 -0
  271. data/ext/zeromq/src/ipc_connecter.hpp +128 -0
  272. data/ext/zeromq/src/ipc_listener.cpp +206 -0
  273. data/ext/zeromq/src/ipc_listener.hpp +99 -0
  274. data/ext/zeromq/src/kqueue.cpp +201 -0
  275. data/ext/zeromq/src/kqueue.hpp +107 -0
  276. data/ext/zeromq/src/lb.cpp +148 -0
  277. data/ext/zeromq/src/lb.hpp +73 -0
  278. data/ext/zeromq/src/libzmq.pc.in +10 -0
  279. data/ext/zeromq/src/likely.hpp +33 -0
  280. data/ext/zeromq/src/mailbox.cpp +87 -0
  281. data/ext/zeromq/src/mailbox.hpp +75 -0
  282. data/ext/zeromq/src/msg.cpp +299 -0
  283. data/ext/zeromq/src/msg.hpp +148 -0
  284. data/ext/zeromq/src/mtrie.cpp +428 -0
  285. data/ext/zeromq/src/mtrie.hpp +93 -0
  286. data/ext/zeromq/src/mutex.hpp +118 -0
  287. data/ext/zeromq/src/object.cpp +393 -0
  288. data/ext/zeromq/src/object.hpp +134 -0
  289. data/ext/zeromq/src/options.cpp +562 -0
  290. data/ext/zeromq/src/options.hpp +135 -0
  291. data/ext/zeromq/src/own.cpp +206 -0
  292. data/ext/zeromq/src/own.hpp +145 -0
  293. data/ext/zeromq/src/pair.cpp +136 -0
  294. data/ext/zeromq/src/pair.hpp +79 -0
  295. data/ext/zeromq/src/pgm_receiver.cpp +283 -0
  296. data/ext/zeromq/src/pgm_receiver.hpp +141 -0
  297. data/ext/zeromq/src/pgm_sender.cpp +218 -0
  298. data/ext/zeromq/src/pgm_sender.hpp +113 -0
  299. data/ext/zeromq/src/pgm_socket.cpp +706 -0
  300. data/ext/zeromq/src/pgm_socket.hpp +124 -0
  301. data/ext/zeromq/src/pipe.cpp +447 -0
  302. data/ext/zeromq/src/pipe.hpp +207 -0
  303. data/ext/zeromq/src/poll.cpp +176 -0
  304. data/ext/zeromq/src/poll.hpp +105 -0
  305. data/ext/zeromq/src/poller.hpp +82 -0
  306. data/ext/zeromq/src/poller_base.cpp +99 -0
  307. data/ext/zeromq/src/poller_base.hpp +86 -0
  308. data/ext/zeromq/src/precompiled.cpp +21 -0
  309. data/ext/zeromq/src/precompiled.hpp +47 -0
  310. data/ext/zeromq/src/proxy.cpp +150 -0
  311. data/ext/zeromq/src/proxy.hpp +32 -0
  312. data/ext/zeromq/src/pub.cpp +57 -0
  313. data/ext/zeromq/src/pub.hpp +69 -0
  314. data/ext/zeromq/src/pull.cpp +79 -0
  315. data/ext/zeromq/src/pull.hpp +81 -0
  316. data/ext/zeromq/src/push.cpp +76 -0
  317. data/ext/zeromq/src/push.hpp +80 -0
  318. data/ext/zeromq/src/random.cpp +52 -0
  319. data/ext/zeromq/src/random.hpp +37 -0
  320. data/ext/zeromq/src/reaper.cpp +117 -0
  321. data/ext/zeromq/src/reaper.hpp +80 -0
  322. data/ext/zeromq/src/rep.cpp +137 -0
  323. data/ext/zeromq/src/rep.hpp +80 -0
  324. data/ext/zeromq/src/req.cpp +185 -0
  325. data/ext/zeromq/src/req.hpp +91 -0
  326. data/ext/zeromq/src/router.cpp +364 -0
  327. data/ext/zeromq/src/router.hpp +138 -0
  328. data/ext/zeromq/src/select.cpp +216 -0
  329. data/ext/zeromq/src/select.hpp +126 -0
  330. data/ext/zeromq/src/session_base.cpp +503 -0
  331. data/ext/zeromq/src/session_base.hpp +156 -0
  332. data/ext/zeromq/src/signaler.cpp +406 -0
  333. data/ext/zeromq/src/signaler.hpp +63 -0
  334. data/ext/zeromq/src/socket_base.cpp +1236 -0
  335. data/ext/zeromq/src/socket_base.hpp +255 -0
  336. data/ext/zeromq/src/stdint.hpp +63 -0
  337. data/ext/zeromq/src/stream_engine.cpp +594 -0
  338. data/ext/zeromq/src/stream_engine.hpp +149 -0
  339. data/ext/zeromq/src/sub.cpp +93 -0
  340. data/ext/zeromq/src/sub.hpp +71 -0
  341. data/ext/zeromq/src/tcp.cpp +131 -0
  342. data/ext/zeromq/src/tcp.hpp +38 -0
  343. data/ext/zeromq/src/tcp_address.cpp +613 -0
  344. data/ext/zeromq/src/tcp_address.hpp +100 -0
  345. data/ext/zeromq/src/tcp_connecter.cpp +319 -0
  346. data/ext/zeromq/src/tcp_connecter.hpp +123 -0
  347. data/ext/zeromq/src/tcp_listener.cpp +293 -0
  348. data/ext/zeromq/src/tcp_listener.hpp +91 -0
  349. data/ext/zeromq/src/thread.cpp +107 -0
  350. data/ext/zeromq/src/thread.hpp +79 -0
  351. data/ext/zeromq/src/trie.cpp +337 -0
  352. data/ext/zeromq/src/trie.hpp +79 -0
  353. data/ext/zeromq/src/v1_decoder.cpp +162 -0
  354. data/ext/zeromq/src/v1_decoder.hpp +68 -0
  355. data/ext/zeromq/src/v1_encoder.cpp +103 -0
  356. data/ext/zeromq/src/v1_encoder.hpp +60 -0
  357. data/ext/zeromq/src/v1_protocol.hpp +43 -0
  358. data/ext/zeromq/src/version.rc.in +93 -0
  359. data/ext/zeromq/src/windows.hpp +181 -0
  360. data/ext/zeromq/src/wire.hpp +99 -0
  361. data/ext/zeromq/src/xpub.cpp +200 -0
  362. data/ext/zeromq/src/xpub.hpp +110 -0
  363. data/ext/zeromq/src/xsub.cpp +242 -0
  364. data/ext/zeromq/src/xsub.hpp +108 -0
  365. data/ext/zeromq/src/ypipe.hpp +210 -0
  366. data/ext/zeromq/src/yqueue.hpp +199 -0
  367. data/ext/zeromq/src/zmq.cpp +1058 -0
  368. data/ext/zeromq/src/zmq_utils.cpp +61 -0
  369. data/ext/zeromq/tests/Makefile.am +55 -0
  370. data/ext/zeromq/tests/test_connect_delay.cpp +260 -0
  371. data/ext/zeromq/tests/test_connect_resolve.cpp +54 -0
  372. data/ext/zeromq/tests/test_disconnect_inproc.cpp +120 -0
  373. data/ext/zeromq/tests/test_hwm.cpp +83 -0
  374. data/ext/zeromq/tests/test_invalid_rep.cpp +92 -0
  375. data/ext/zeromq/tests/test_last_endpoint.cpp +60 -0
  376. data/ext/zeromq/tests/test_monitor.cpp +289 -0
  377. data/ext/zeromq/tests/test_msg_flags.cpp +78 -0
  378. data/ext/zeromq/tests/test_pair_inproc.cpp +53 -0
  379. data/ext/zeromq/tests/test_pair_ipc.cpp +53 -0
  380. data/ext/zeromq/tests/test_pair_tcp.cpp +54 -0
  381. data/ext/zeromq/tests/test_reqrep_device.cpp +143 -0
  382. data/ext/zeromq/tests/test_reqrep_inproc.cpp +53 -0
  383. data/ext/zeromq/tests/test_reqrep_ipc.cpp +53 -0
  384. data/ext/zeromq/tests/test_reqrep_tcp.cpp +54 -0
  385. data/ext/zeromq/tests/test_router_mandatory.cpp +62 -0
  386. data/ext/zeromq/tests/test_shutdown_stress.cpp +93 -0
  387. data/ext/zeromq/tests/test_sub_forward.cpp +99 -0
  388. data/ext/zeromq/tests/test_term_endpoint.cpp +118 -0
  389. data/ext/zeromq/tests/test_timeo.cpp +119 -0
  390. data/ext/zeromq/tests/testutil.hpp +77 -0
  391. data/ext/zeromq/version.sh +21 -0
  392. data/lib/zmq/version.rb +1 -1
  393. data/rbczmq.gemspec +16 -3
  394. data/test/test_socket.rb +13 -1
  395. metadata +398 -9
  396. checksums.yaml +0 -15
  397. data/ext/czmq-1.4.1.tar.gz +0 -0
  398. data/ext/zeromq-3.2.3.tar.gz +0 -0
@@ -0,0 +1,428 @@
1
+ # -*- Autoconf -*-
2
+ # Process this file with autoconf to produce a configure script.
3
+ AC_PREREQ(2.61)
4
+ #
5
+ # The 0MQ version number is extracted from include/zmq.h using
6
+ # the version.sh script. Hence, it should be updated there.
7
+ # The version in git should reflect the *next* version planned.
8
+ #
9
+ AC_INIT([zeromq],[m4_esyscmd([./version.sh])],[zeromq-dev@lists.zeromq.org])
10
+
11
+ AC_CONFIG_AUX_DIR(config)
12
+ AC_CONFIG_MACRO_DIR(config)
13
+ AC_CONFIG_HEADERS([src/platform.hpp])
14
+ AM_INIT_AUTOMAKE(tar-ustar dist-zip foreign)
15
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
16
+
17
+ # This lets us use PACKAGE_VERSION in Makefiles
18
+ AC_SUBST(PACKAGE_VERSION)
19
+
20
+ # Libtool -version-info (ABI version)
21
+ #
22
+ # Don't change this unless you know exactly what you're doing and have read and
23
+ # understand:
24
+ # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
25
+ #
26
+ # Changes:
27
+ #
28
+ # ZeroMQ versions prior to 2.1.0 use 0:0:0 (undefined)
29
+ # ZeroMQ versions 2.1.x: 1:0:0 (ABI version 1)
30
+ # ZeroMQ version 3.0: 2:0:0 (ABI version 2)
31
+ # ZeroMQ version 3.1: 3:0:0 (ABI version 3)
32
+ #
33
+ # libzmq -version-info current:revision:age
34
+ LTVER="3:0:0"
35
+ AC_SUBST(LTVER)
36
+
37
+ # Take a copy of original flags
38
+ ZMQ_ORIG_CFLAGS="${CFLAGS:-none}"
39
+ ZMQ_ORIG_CPPFLAGS="${CPPFLAGS:-none}"
40
+ ZMQ_ORIG_CXXFLAGS="${CXXFLAGS:-none}"
41
+
42
+ # Checks for programs.
43
+ AC_PROG_CC
44
+ AC_PROG_CC_C99
45
+ AC_PROG_CXX
46
+ AM_PROG_CC_C_O
47
+ AC_PROG_SED
48
+ AC_PROG_AWK
49
+
50
+ # Libtool configuration for different targets. See acinclude.m4
51
+ AC_ARG_VAR([XMLTO], [Path to xmlto command])
52
+ AC_PATH_PROG([XMLTO], [xmlto])
53
+ AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
54
+ AC_PATH_PROG([ASCIIDOC], [asciidoc])
55
+ LIBZMQ_CONFIG_LIBTOOL
56
+ AC_LIBTOOL_WIN32_DLL
57
+ AC_PROG_LIBTOOL
58
+
59
+ # Check whether to build a with debug symbols
60
+ LIBZMQ_CHECK_ENABLE_DEBUG
61
+
62
+ # Check wheter to enable code coverage
63
+ LIBZMQ_WITH_GCOV
64
+
65
+ # Checks for libraries.
66
+ AC_CHECK_LIB([pthread], [pthread_create])
67
+ AC_CHECK_LIB([rt], [clock_gettime])
68
+
69
+ # Set pedantic
70
+ libzmq_pedantic="yes"
71
+
72
+ # By default compiling with -Werror except OSX.
73
+ libzmq_werror="yes"
74
+
75
+ # By default use DSO visibility
76
+ libzmq_dso_visibility="yes"
77
+
78
+ # Whether we are on mingw or android or not.
79
+ libzmq_on_mingw32="no"
80
+ libzmq_on_android="no"
81
+
82
+ # Set some default features required by 0MQ code.
83
+ CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE $CPPFLAGS"
84
+
85
+ # For host type checks
86
+ AC_CANONICAL_HOST
87
+
88
+ # OS-specific tests
89
+ case "${host_os}" in
90
+ *linux*)
91
+ # Define on Linux to enable all library features. Define if using a gnu compiler
92
+ if test "x$GXX" = "xyes"; then
93
+ CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
94
+ fi
95
+ AC_DEFINE(ZMQ_HAVE_LINUX, 1, [Have Linux OS])
96
+
97
+ case "${host_os}" in
98
+ *android*)
99
+ AC_DEFINE(ZMQ_HAVE_ANDROID, 1, [Have Android OS])
100
+ libzmq_on_android="yes"
101
+ ;;
102
+ esac
103
+ ;;
104
+ *solaris*)
105
+ # Define on Solaris to enable all library features
106
+ CPPFLAGS="-D_PTHREADS $CPPFLAGS"
107
+ AC_DEFINE(ZMQ_HAVE_SOLARIS, 1, [Have Solaris OS])
108
+ AC_CHECK_LIB(socket, socket)
109
+ AC_CHECK_LIB(nsl, gethostbyname)
110
+ AC_MSG_CHECKING([whether atomic operations can be used])
111
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
112
+ [[#include <atomic.h>]],
113
+ [[uint32_t value;
114
+ atomic_cas_32 (&value, 0, 0);
115
+ return 0;]])],
116
+ [solaris_has_atomic=yes],
117
+ [solaris_has_atomic=no])
118
+ AC_MSG_RESULT([$solaris_has_atomic])
119
+ # Solaris 8 does not have atomic operations exported to user space.
120
+ if test "x$solaris_has_atomic" = "xno"; then
121
+ AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes])
122
+ fi
123
+ ;;
124
+ *freebsd*)
125
+ # Define on FreeBSD to enable all library features
126
+ CPPFLAGS="-D__BSD_VISIBLE $CPPFLAGS"
127
+ AC_DEFINE(ZMQ_HAVE_FREEBSD, 1, [Have FreeBSD OS])
128
+ ;;
129
+ *darwin*)
130
+ # Define on Darwin to enable all library features
131
+ CPPFLAGS="-D_DARWIN_C_SOURCE $CPPFLAGS"
132
+ libzmq_pedantic="no"
133
+ libzmq_werror="no"
134
+ AC_DEFINE(ZMQ_HAVE_OSX, 1, [Have DarwinOSX OS])
135
+ AC_LANG_PUSH([C++])
136
+ LIBZMQ_CHECK_LANG_FLAG_PREPEND([-Wno-uninitialized])
137
+ AC_LANG_POP([C++])
138
+ ;;
139
+ *netbsd*)
140
+ # Define on NetBSD to enable all library features
141
+ CPPFLAGS="-D_NETBSD_SOURCE $CPPFLAGS"
142
+ AC_DEFINE(ZMQ_HAVE_NETBSD, 1, [Have NetBSD OS])
143
+ # NetBSD 5.0 and newer provides atomic operations but we can
144
+ # only use these on systems where PR #42842 has been fixed so
145
+ # we must try and link a test program using C++.
146
+ libzmq_netbsd_has_atomic=no
147
+ AC_MSG_CHECKING([whether atomic operations can be used])
148
+ AC_LANG_PUSH([C++])
149
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
150
+ [[#include <atomic.h>]],
151
+ [[uint32_t value;
152
+ atomic_cas_32 (&value, 0, 0);
153
+ return 0;]])],
154
+ [libzmq_netbsd_has_atomic=yes],
155
+ [libzmq_netbsd_has_atomic=no])
156
+ AC_LANG_POP([C++])
157
+ AC_MSG_RESULT([$libzmq_netbsd_has_atomic])
158
+ if test "x$libzmq_netbsd_has_atomic" = "xno"; then
159
+ AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes])
160
+ fi
161
+ ;;
162
+ *openbsd*)
163
+ # Define on OpenBSD to enable all library features
164
+ CPPFLAGS="-D_BSD_SOURCE $CPPFLAGS"
165
+ AC_DEFINE(ZMQ_HAVE_OPENBSD, 1, [Have OpenBSD OS])
166
+ ;;
167
+ *nto-qnx*)
168
+ libzmq_pedantic="no"
169
+ AC_DEFINE(ZMQ_HAVE_QNXNTO, 1, [Have QNX Neutrino OS])
170
+ AC_CHECK_LIB(socket, socket)
171
+ ;;
172
+ *aix*)
173
+ AC_DEFINE(ZMQ_HAVE_AIX, 1, [Have AIX OS])
174
+ ;;
175
+ *hpux*)
176
+ # Define on HP-UX to enable all library features
177
+ CPPFLAGS="-D_POSIX_C_SOURCE=200112L $CPPFLAGS"
178
+ AC_DEFINE(ZMQ_HAVE_HPUX, 1, [Have HPUX OS])
179
+ LIBZMQ_CHECK_LANG_FLAG_PREPEND([-Ae])
180
+ AC_CHECK_FUNCS(gethrtime)
181
+ ;;
182
+ *mingw32*)
183
+ AC_DEFINE(ZMQ_HAVE_WINDOWS, 1, [Have Windows OS])
184
+ AC_DEFINE(ZMQ_HAVE_MINGW32, 1, [Have MinGW32])
185
+ AC_CHECK_HEADERS(windows.h)
186
+ AC_CHECK_LIB(ws2_32, main, ,
187
+ [AC_MSG_ERROR([cannot link with ws2_32.dll.])])
188
+ AC_CHECK_LIB(rpcrt4, main, ,
189
+ [AC_MSG_ERROR([cannot link with rpcrt4.dll.])])
190
+ AC_CHECK_LIB(iphlpapi, main, ,
191
+ [AC_MSG_ERROR([cannot link with iphlpapi.dll.])])
192
+ # mingw32 defines __int64_t as long long
193
+ AC_LANG_PUSH([C++])
194
+ LIBZMQ_CHECK_LANG_FLAG_PREPEND([-Wno-long-long])
195
+ AC_LANG_POP([C++])
196
+ libzmq_on_mingw32="yes"
197
+ libzmq_dso_visibility="no"
198
+
199
+ if test "x$enable_static" = "xyes"; then
200
+ AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
201
+ fi
202
+ ;;
203
+ *cygwin*)
204
+ # Define on Cygwin to enable all library features
205
+ CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
206
+ AC_DEFINE(ZMQ_HAVE_CYGWIN, 1, [Have Cygwin])
207
+ if test "x$enable_static" = "xyes"; then
208
+ AC_MSG_ERROR([Building static libraries is not supported under Cygwin])
209
+ fi
210
+ ;;
211
+ *)
212
+ AC_MSG_ERROR([unsupported system: ${host_os}.])
213
+ ;;
214
+ esac
215
+
216
+ #
217
+ # Check if the compiler supports -fvisibility=hidden flag. MinGW32 uses __declspec
218
+ #
219
+ if test "x$libzmq_dso_visibility" = "xyes"; then
220
+ AC_LANG_PUSH([C++])
221
+ LIBZMQ_CHECK_LANG_VISIBILITY([LIBZMQ_EXTRA_CXXFLAGS="$libzmq_cv_[]_AC_LANG_ABBREV[]_visibility_flag ${LIBZMQ_EXTRA_CXXFLAGS}"])
222
+ AC_LANG_POP([C++])
223
+ fi
224
+
225
+ # CPU-specific optimizations
226
+ case "${host_cpu}" in
227
+ *sparc*)
228
+ AC_LANG_PUSH([C++])
229
+ LIBZMQ_CHECK_LANG_FLAG_PREPEND([-mcpu=v9])
230
+ AC_LANG_POP([C++])
231
+ ;;
232
+ *)
233
+ ;;
234
+ esac
235
+
236
+ # Check whether to build docs / install man pages
237
+ LIBZMQ_CHECK_DOC_BUILD
238
+
239
+ # Check polling system
240
+ LIBZMQ_CHECK_POLLER([CPPFLAGS="${CPPFLAGS} -D${libzmq_cv_poller_flag}"],
241
+ [AC_MSG_ERROR([Unable to continue without polling system])])
242
+
243
+ # Checks for header files.
244
+ AC_HEADER_STDC
245
+ AC_CHECK_HEADERS(errno.h arpa/inet.h netinet/tcp.h netinet/in.h stddef.h \
246
+ stdlib.h string.h sys/socket.h sys/time.h time.h unistd.h limits.h)
247
+
248
+ # Check if we have ifaddrs.h header file.
249
+ AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h header.])])
250
+
251
+ # Check if we have sys/uio.h header file.
252
+ AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])])
253
+
254
+ # Force not to use eventfd
255
+ AC_ARG_ENABLE([eventfd], [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])],
256
+ [zmq_disable_eventfd=yes], [zmq_disable_eventfd=no])
257
+
258
+ if test "x$zmq_disable_eventfd" != "xyes"; then
259
+ # Check if we have eventfd.h header file.
260
+ AC_CHECK_HEADERS(sys/eventfd.h,
261
+ [AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])])
262
+ fi
263
+
264
+ # Use c++ in subsequent tests
265
+ AC_LANG_PUSH(C++)
266
+
267
+ AC_HEADER_STDBOOL
268
+ AC_C_CONST
269
+ AC_C_INLINE
270
+ # Checks for typedefs, structures, and compiler characteristics.
271
+ if test "x$libzmq_cv_[]_AC_LANG_ABBREV[]_intel_compiler" = "xyes"; then
272
+ dnl 279: controlling expression is constant
273
+ dnl Fixes build with ICC 12.x
274
+ LIBZMQ_CHECK_WITH_FLAG([-wd279], [AC_TYPE_SIZE_T])
275
+ LIBZMQ_CHECK_WITH_FLAG([-wd279], [AC_TYPE_SSIZE_T])
276
+ else
277
+ AC_TYPE_SIZE_T
278
+ AC_TYPE_SSIZE_T
279
+ fi
280
+ AC_HEADER_TIME
281
+ AC_TYPE_UINT32_T
282
+ AC_C_VOLATILE
283
+
284
+ # PGM extension
285
+ libzmq_pgm_ext="no"
286
+
287
+ pgm_basename="libpgm-5.1.118~dfsg"
288
+
289
+ AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
290
+ [build libzmq with PGM extension [default=no]])],
291
+ [with_pgm_ext=$withval], [with_pgm_ext=no])
292
+
293
+ # build using system pgm
294
+ AC_ARG_WITH([system-pgm], [AS_HELP_STRING([--with-system-pgm],
295
+ [build libzmq with PGM extension. Requires pkg-config [default=no]])],
296
+ [with_system_pgm_ext=yes], [with_system_pgm_ext=no])
297
+
298
+ if test "x$with_pgm_ext" != "xno" -a "x$with_system_pgm_ext" != "xno"; then
299
+ AC_MSG_ERROR([--with-pgm and --with-system-pgm cannot be specified together])
300
+ fi
301
+
302
+ if test "x$with_pgm_ext" != "xno"; then
303
+
304
+ # This allows placing the tar.gz to foreign/openpgm
305
+ # and using ./configure --with-pgm=libpgm-x.y.z
306
+ if test "x$with_pgm_ext" != "xyes"; then
307
+ pgm_basename="$with_pgm_ext"
308
+ fi
309
+
310
+ # Unpack libpgm
311
+ AC_MSG_NOTICE([Unpacking ${pgm_basename}.tar.gz])
312
+ libzmq_pwd=`pwd`
313
+ cd foreign/openpgm
314
+
315
+ if ! (gzip -dc "${pgm_basename}.tar.gz" || echo "failed") | ${am__untar}; then
316
+ AC_MSG_ERROR([cannot unpack the foreign/openpgm/${pgm_basename}.tar.gz file])
317
+ fi
318
+
319
+ cd "${libzmq_pwd}"
320
+
321
+ if test -d foreign/openpgm/build-staging; then
322
+ rm -rf foreign/openpgm/build-staging
323
+ fi
324
+
325
+ mv foreign/openpgm/${pgm_basename} foreign/openpgm/build-staging
326
+ pgm_srcdir=foreign/openpgm/build-staging/openpgm/pgm
327
+
328
+ if ! test -d foreign/openpgm/build-staging/openpgm/pgm/config; then
329
+ mkdir foreign/openpgm/build-staging/openpgm/pgm/config
330
+ fi
331
+
332
+ # DSO symbol visibility for openpgm
333
+ AC_LANG_PUSH([C])
334
+ LIBZMQ_CHECK_LANG_VISIBILITY([ac_configure_args="CFLAGS='$libzmq_cv_[]_AC_LANG_ABBREV[]_visibility_flag' ${ac_configure_args}"])
335
+ AC_LANG_POP([C])
336
+
337
+ pgm_subdir=build-staging/openpgm/pgm
338
+ AC_SUBST(pgm_subdir)
339
+
340
+ AC_SUBST(pgm_srcdir)
341
+ AC_CONFIG_SUBDIRS([foreign/openpgm/build-staging/openpgm/pgm/])
342
+
343
+ # Success!
344
+ AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
345
+ libzmq_pgm_ext="yes"
346
+ fi
347
+
348
+ # Build with system openpgm
349
+ if test "x$with_system_pgm_ext" != "xno"; then
350
+ m4_ifdef([PKG_CHECK_MODULES], [
351
+ PKG_CHECK_MODULES([OpenPGM], [openpgm-5.1 >= 5.1])
352
+ AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
353
+ LIBZMQ_EXTRA_CXXFLAGS="$OpenPGM_CFLAGS $LIBZMQ_EXTRA_CXXFLAGS"
354
+ LIBS="$OpenPGM_LIBS $LIBS"
355
+ ],
356
+ [AC_MSG_ERROR([--with-system-pgm requires a working pkg-config installation])])
357
+ fi
358
+
359
+ AC_SUBST(pgm_basename)
360
+
361
+ # Set -Wall, -Werror and -pedantic
362
+ AC_LANG_PUSH([C++])
363
+
364
+ # Check how to enable -Wall
365
+ LIBZMQ_LANG_WALL([CPPFLAGS="$libzmq_cv_[]_AC_LANG_ABBREV[]_wall_flag $CPPFLAGS"])
366
+
367
+ if test "x$libzmq_werror" = "xyes" -a "x$libzmq_cv_[]_AC_LANG_ABBREV[]_sun_studio_compiler" != "xyes"; then
368
+ LIBZMQ_LANG_WERROR([CPPFLAGS="$libzmq_cv_[]_AC_LANG_ABBREV[]_werror_flag $CPPFLAGS"])
369
+ fi
370
+
371
+ if test "x$libzmq_pedantic" = "xyes"; then
372
+ LIBZMQ_LANG_STRICT([CPPFLAGS="$libzmq_cv_[]_AC_LANG_ABBREV[]_strict_flag $CPPFLAGS"])
373
+ fi
374
+ AC_LANG_POP([C++])
375
+
376
+ AM_CONDITIONAL(BUILD_PGM, test "x$libzmq_pgm_ext" = "xyes")
377
+ AM_CONDITIONAL(ON_MINGW, test "x$libzmq_on_mingw32" = "xyes")
378
+ AM_CONDITIONAL(ON_ANDROID, test "x$libzmq_on_android" = "xyes")
379
+
380
+ # Checks for library functions.
381
+ AC_TYPE_SIGNAL
382
+ AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs)
383
+ AC_CHECK_HEADERS([alloca.h])
384
+ LIBZMQ_CHECK_SOCK_CLOEXEC([AC_DEFINE(
385
+ [ZMQ_HAVE_SOCK_CLOEXEC],
386
+ [1],
387
+ [Whether SOCK_CLOEXEC is defined and functioning.])
388
+ ])
389
+
390
+ # TCP keep-alives Checks.
391
+ LIBZMQ_CHECK_SO_KEEPALIVE([AC_DEFINE(
392
+ [ZMQ_HAVE_SO_KEEPALIVE],
393
+ [1],
394
+ [Whether SO_KEEPALIVE is supported.])
395
+ ])
396
+ LIBZMQ_CHECK_TCP_KEEPCNT([AC_DEFINE(
397
+ [ZMQ_HAVE_TCP_KEEPCNT],
398
+ [1],
399
+ [Whether TCP_KEEPCNT is supported.])
400
+ ])
401
+ LIBZMQ_CHECK_TCP_KEEPIDLE([AC_DEFINE(
402
+ [ZMQ_HAVE_TCP_KEEPIDLE],
403
+ [1],
404
+ [Whether TCP_KEEPIDLE is supported.])
405
+ ])
406
+ LIBZMQ_CHECK_TCP_KEEPINTVL([AC_DEFINE(
407
+ [ZMQ_HAVE_TCP_KEEPINTVL],
408
+ [1],
409
+ [Whether TCP_KEEPINTVL is supported.])
410
+ ])
411
+ LIBZMQ_CHECK_TCP_KEEPALIVE([AC_DEFINE(
412
+ [ZMQ_HAVE_TCP_KEEPALIVE],
413
+ [1],
414
+ [Whether TCP_KEEPALIVE is supported.])
415
+ ])
416
+
417
+ # Subst LIBZMQ_EXTRA_CFLAGS & CXXFLAGS & LDFLAGS
418
+ AC_SUBST(LIBZMQ_EXTRA_CFLAGS)
419
+ AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS)
420
+ AC_SUBST(LIBZMQ_EXTRA_LDFLAGS)
421
+
422
+ AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile
423
+ perf/Makefile src/libzmq.pc \
424
+ builds/msvc/Makefile tests/Makefile \
425
+ foreign/openpgm/Makefile \
426
+ builds/redhat/zeromq.spec])
427
+ AC_OUTPUT
428
+
@@ -0,0 +1,51 @@
1
+ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
2
+ zmq_ctx_new.3 zmq_ctx_destroy.3 zmq_ctx_get.3 zmq_ctx_set.3 \
3
+ zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 \
4
+ zmq_msg_move.3 zmq_msg_copy.3 zmq_msg_size.3 zmq_msg_data.3 zmq_msg_close.3 \
5
+ zmq_msg_send.3 zmq_msg_recv.3 \
6
+ zmq_send.3 zmq_recv.3 \
7
+ zmq_msg_get.3 zmq_msg_set.3 zmq_msg_more.3 \
8
+ zmq_getsockopt.3 zmq_setsockopt.3 \
9
+ zmq_socket.3 zmq_socket_monitor.3 zmq_poll.3 \
10
+ zmq_errno.3 zmq_strerror.3 zmq_version.3 zmq_proxy.3 \
11
+ zmq_sendmsg.3 zmq_recvmsg.3 zmq_init.3 zmq_term.3
12
+
13
+ MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7
14
+
15
+ MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
16
+
17
+ MAN_TXT = $(MAN3:%.3=%.txt)
18
+ MAN_TXT += $(MAN7:%.7=%.txt)
19
+ MAN_HTML = $(MAN_TXT:%.txt=%.html)
20
+
21
+ if INSTALL_MAN
22
+ dist_man_MANS = $(MAN_DOC)
23
+ endif
24
+
25
+ EXTRA_DIST = asciidoc.conf $(MAN_TXT)
26
+ if BUILD_DOC
27
+ EXTRA_DIST += $(MAN_HTML)
28
+ endif
29
+
30
+ MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML)
31
+
32
+ dist-hook : $(MAN_DOC) $(MAN_HTML)
33
+
34
+ if BUILD_DOC
35
+ SUFFIXES=.html .txt .xml .3 .7
36
+
37
+ .txt.html:
38
+ asciidoc -d manpage -b xhtml11 -f $(srcdir)/asciidoc.conf \
39
+ -azmq_version=@PACKAGE_VERSION@ -o$@ $<
40
+ .txt.xml:
41
+ asciidoc -d manpage -b docbook -f $(srcdir)/asciidoc.conf \
42
+ -azmq_version=@PACKAGE_VERSION@ -o$@ $<
43
+ .xml.1:
44
+ xmlto man $<
45
+ .xml.3:
46
+ xmlto man $<
47
+ .xml.7:
48
+ xmlto man $<
49
+ zmq_epgm.7: zmq_pgm.7
50
+ cp zmq_pgm.7 $@
51
+ endif