nutcracker 0.2.4.mac9 → 0.2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. data/README.md +13 -46
  2. data/Rakefile +20 -15
  3. data/bin/nutcracker +1 -6
  4. data/ext/nutcracker/ChangeLog +0 -9
  5. data/ext/nutcracker/LICENSE +0 -0
  6. data/ext/nutcracker/Makefile.am +0 -0
  7. data/ext/nutcracker/Makefile.in +149 -66
  8. data/ext/nutcracker/NOTICE +0 -0
  9. data/ext/nutcracker/README.md +11 -13
  10. data/ext/nutcracker/aclocal.m4 +201 -112
  11. data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
  12. data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
  13. data/ext/nutcracker/conf/nutcracker.yml +0 -0
  14. data/ext/nutcracker/config.h.in +0 -15
  15. data/ext/nutcracker/config/config.guess +84 -23
  16. data/ext/nutcracker/config/config.sub +93 -23
  17. data/ext/nutcracker/config/depcomp +81 -35
  18. data/ext/nutcracker/config/install-sh +122 -109
  19. data/ext/nutcracker/config/ltmain.sh +721 -1053
  20. data/ext/nutcracker/config/missing +29 -20
  21. data/ext/nutcracker/configure +2311 -2113
  22. data/ext/nutcracker/configure.ac +3 -35
  23. data/ext/nutcracker/contrib/Makefile.am +0 -0
  24. data/ext/nutcracker/contrib/Makefile.in +107 -41
  25. data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
  26. data/ext/nutcracker/extconf.rb +5 -3
  27. data/ext/nutcracker/m4/libtool.m4 +492 -553
  28. data/ext/nutcracker/m4/ltoptions.m4 +6 -7
  29. data/ext/nutcracker/m4/ltversion.m4 +5 -5
  30. data/ext/nutcracker/m4/lt~obsolete.m4 +3 -9
  31. data/ext/nutcracker/notes/c-styleguide.txt +0 -0
  32. data/ext/nutcracker/notes/debug.txt +0 -0
  33. data/ext/nutcracker/notes/memcache.txt +0 -0
  34. data/ext/nutcracker/notes/recommendation.md +2 -21
  35. data/ext/nutcracker/notes/redis.md +9 -9
  36. data/ext/nutcracker/notes/socket.txt +0 -0
  37. data/ext/nutcracker/scripts/nutcracker.init +0 -0
  38. data/ext/nutcracker/scripts/nutcracker.spec +0 -0
  39. data/ext/nutcracker/scripts/redis-check.py +0 -0
  40. data/ext/nutcracker/scripts/redis-check.sh +0 -9
  41. data/ext/nutcracker/src/Makefile.am +1 -1
  42. data/ext/nutcracker/src/Makefile.in +153 -74
  43. data/ext/nutcracker/src/hashkit/Makefile.am +0 -1
  44. data/ext/nutcracker/src/hashkit/Makefile.in +64 -39
  45. data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
  46. data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
  47. data/ext/nutcracker/src/hashkit/nc_hashkit.h +0 -2
  48. data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
  49. data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
  50. data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
  51. data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
  52. data/ext/nutcracker/src/hashkit/nc_modula.c +6 -18
  53. data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
  54. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
  55. data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
  56. data/ext/nutcracker/src/nc.c +0 -0
  57. data/ext/nutcracker/src/nc_array.c +0 -0
  58. data/ext/nutcracker/src/nc_array.h +0 -0
  59. data/ext/nutcracker/src/nc_client.c +0 -0
  60. data/ext/nutcracker/src/nc_client.h +0 -0
  61. data/ext/nutcracker/src/nc_conf.c +35 -14
  62. data/ext/nutcracker/src/nc_conf.h +1 -1
  63. data/ext/nutcracker/src/nc_connection.c +0 -0
  64. data/ext/nutcracker/src/nc_connection.h +0 -0
  65. data/ext/nutcracker/src/nc_core.c +26 -29
  66. data/ext/nutcracker/src/nc_core.h +5 -13
  67. data/ext/nutcracker/src/{nc_epoll.c → nc_event.c} +30 -94
  68. data/ext/nutcracker/src/nc_event.h +13 -33
  69. data/ext/nutcracker/src/nc_log.c +0 -0
  70. data/ext/nutcracker/src/nc_log.h +0 -0
  71. data/ext/nutcracker/src/nc_mbuf.c +0 -0
  72. data/ext/nutcracker/src/nc_mbuf.h +0 -0
  73. data/ext/nutcracker/src/nc_message.c +0 -0
  74. data/ext/nutcracker/src/nc_message.h +0 -2
  75. data/ext/nutcracker/src/nc_proxy.c +8 -8
  76. data/ext/nutcracker/src/nc_proxy.h +0 -0
  77. data/ext/nutcracker/src/nc_queue.h +0 -0
  78. data/ext/nutcracker/src/nc_rbtree.c +0 -0
  79. data/ext/nutcracker/src/nc_rbtree.h +0 -0
  80. data/ext/nutcracker/src/nc_request.c +3 -3
  81. data/ext/nutcracker/src/nc_response.c +6 -4
  82. data/ext/nutcracker/src/nc_server.c +12 -14
  83. data/ext/nutcracker/src/nc_server.h +0 -0
  84. data/ext/nutcracker/src/nc_signal.c +0 -0
  85. data/ext/nutcracker/src/nc_signal.h +0 -0
  86. data/ext/nutcracker/src/nc_stats.c +21 -16
  87. data/ext/nutcracker/src/nc_stats.h +4 -3
  88. data/ext/nutcracker/src/nc_string.c +0 -0
  89. data/ext/nutcracker/src/nc_string.h +0 -0
  90. data/ext/nutcracker/src/nc_util.c +0 -16
  91. data/ext/nutcracker/src/nc_util.h +0 -1
  92. data/ext/nutcracker/src/proto/Makefile.am +0 -0
  93. data/ext/nutcracker/src/proto/Makefile.in +60 -32
  94. data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
  95. data/ext/nutcracker/src/proto/nc_proto.h +0 -0
  96. data/ext/nutcracker/src/proto/nc_redis.c +4 -17
  97. data/lib/nutcracker.rb +2 -187
  98. data/lib/nutcracker/version.rb +1 -1
  99. metadata +10 -256
  100. data/ext/nutcracker/Makefile +0 -643
  101. data/ext/nutcracker/autom4te.cache/output.0 +0 -18664
  102. data/ext/nutcracker/autom4te.cache/output.1 +0 -18664
  103. data/ext/nutcracker/autom4te.cache/output.2 +0 -18664
  104. data/ext/nutcracker/autom4te.cache/requests +0 -494
  105. data/ext/nutcracker/autom4te.cache/traces.0 +0 -2415
  106. data/ext/nutcracker/autom4te.cache/traces.1 +0 -945
  107. data/ext/nutcracker/autom4te.cache/traces.2 +0 -2415
  108. data/ext/nutcracker/config.h +0 -332
  109. data/ext/nutcracker/config.log +0 -2684
  110. data/ext/nutcracker/config.status +0 -2317
  111. data/ext/nutcracker/contrib/Makefile +0 -494
  112. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +0 -736
  113. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +0 -13102
  114. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +0 -13085
  115. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +0 -13085
  116. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +0 -476
  117. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +0 -2339
  118. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +0 -545
  119. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +0 -2339
  120. data/ext/nutcracker/contrib/yaml-0.1.4/config.h +0 -81
  121. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +0 -80
  122. data/ext/nutcracker/contrib/yaml-0.1.4/config.log +0 -688
  123. data/ext/nutcracker/contrib/yaml-0.1.4/config.status +0 -2032
  124. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +0 -51
  125. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
  126. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +0 -41
  127. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
  128. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +0 -656
  129. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
  130. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +0 -40
  131. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +0 -91
  132. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +0 -84
  133. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +0 -87
  134. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +0 -83
  135. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +0 -110
  136. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +0 -79
  137. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +0 -80
  138. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +0 -92
  139. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +0 -71
  140. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +0 -88
  141. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +0 -96
  142. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +0 -71
  143. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +0 -80
  144. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +0 -100
  145. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +0 -71
  146. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +0 -87
  147. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +0 -163
  148. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +0 -115
  149. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +0 -71
  150. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +0 -80
  151. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +0 -77
  152. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +0 -91
  153. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +0 -84
  154. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +0 -87
  155. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +0 -83
  156. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +0 -110
  157. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +0 -79
  158. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +0 -80
  159. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +0 -92
  160. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +0 -71
  161. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +0 -88
  162. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +0 -96
  163. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +0 -71
  164. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +0 -80
  165. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +0 -100
  166. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +0 -71
  167. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +0 -87
  168. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +0 -163
  169. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +0 -115
  170. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +0 -71
  171. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +0 -80
  172. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +0 -77
  173. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +0 -667
  174. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +0 -81
  175. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +0 -78
  176. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +0 -373
  177. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +0 -196
  178. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +0 -126
  179. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +0 -320
  180. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +0 -819
  181. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +0 -664
  182. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +0 -60
  183. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +0 -795
  184. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +0 -606
  185. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +0 -222
  186. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +0 -246
  187. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +0 -106
  188. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +0 -31
  189. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +0 -42
  190. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
  191. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
  192. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
  193. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +0 -108
  194. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +0 -235
  195. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +0 -1300
  196. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +0 -496
  197. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +0 -108
  198. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +0 -91
  199. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +0 -420
  200. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +0 -1229
  201. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +0 -97
  202. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +0 -91
  203. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +0 -413
  204. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +0 -91
  205. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
  206. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
  207. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
  208. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
  209. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +0 -59
  210. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +0 -525
  211. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +0 -17
  212. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +0 -470
  213. data/ext/nutcracker/contrib/yaml-0.1.4/libtool +0 -8890
  214. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +0 -484
  215. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +0 -12
  216. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
  217. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +0 -12
  218. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
  219. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +0 -12
  220. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
  221. data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +0 -41
  222. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +0 -12
  223. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
  224. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +0 -12
  225. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
  226. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +0 -12
  227. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
  228. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +0 -12
  229. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
  230. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +0 -12
  231. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
  232. data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +0 -1
  233. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +0 -675
  234. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
  235. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
  236. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
  237. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
  238. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
  239. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
  240. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
  241. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
  242. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
  243. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
  244. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
  245. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
  246. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
  247. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
  248. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
  249. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
  250. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
  251. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
  252. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +0 -10
  253. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +0 -10
  254. data/ext/nutcracker/libtool +0 -9403
  255. data/ext/nutcracker/src/Makefile +0 -647
  256. data/ext/nutcracker/src/hashkit/Makefile +0 -476
  257. data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
  258. data/ext/nutcracker/src/hashkit/nc_crc16.c +0 -66
  259. data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
  260. data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
  261. data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
  262. data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
  263. data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
  264. data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
  265. data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
  266. data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
  267. data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
  268. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
  269. data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
  270. data/ext/nutcracker/src/nc.o +0 -0
  271. data/ext/nutcracker/src/nc_array.o +0 -0
  272. data/ext/nutcracker/src/nc_client.o +0 -0
  273. data/ext/nutcracker/src/nc_conf.o +0 -0
  274. data/ext/nutcracker/src/nc_connection.o +0 -0
  275. data/ext/nutcracker/src/nc_core.o +0 -0
  276. data/ext/nutcracker/src/nc_epoll.o +0 -0
  277. data/ext/nutcracker/src/nc_kqueue.c +0 -296
  278. data/ext/nutcracker/src/nc_kqueue.o +0 -0
  279. data/ext/nutcracker/src/nc_log.o +0 -0
  280. data/ext/nutcracker/src/nc_mbuf.o +0 -0
  281. data/ext/nutcracker/src/nc_message.o +0 -0
  282. data/ext/nutcracker/src/nc_proxy.o +0 -0
  283. data/ext/nutcracker/src/nc_rbtree.o +0 -0
  284. data/ext/nutcracker/src/nc_request.o +0 -0
  285. data/ext/nutcracker/src/nc_response.o +0 -0
  286. data/ext/nutcracker/src/nc_server.o +0 -0
  287. data/ext/nutcracker/src/nc_signal.o +0 -0
  288. data/ext/nutcracker/src/nc_stats.o +0 -0
  289. data/ext/nutcracker/src/nc_string.o +0 -0
  290. data/ext/nutcracker/src/nc_util.o +0 -0
  291. data/ext/nutcracker/src/nutcracker +0 -0
  292. data/ext/nutcracker/src/proto/Makefile +0 -454
  293. data/ext/nutcracker/src/proto/libproto.a +0 -0
  294. data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
  295. data/ext/nutcracker/src/proto/nc_redis.o +0 -0
  296. data/ext/nutcracker/stamp-h1 +0 -1
data/README.md CHANGED
@@ -1,27 +1,22 @@
1
1
  # Nutcracker
2
- <a href="https://rubygems.org/gems/nutcracker"><img src=https://fury-badge.herokuapp.com/rb/nutcracker.png></a>
2
+ <a href="https://rubygems.org/gems/graphite-api"><img src=https://fury-badge.herokuapp.com/rb/nutcracker.png></a>
3
3
 
4
- This library wraps Twitter's [Nutcracker](https://github.com/twitter/twemproxy) in a gem package and provides a simple ruby API to the `nutcracker` executable.
5
-
6
- ### Disclaimer
7
- this project is still in its early stages, so things could be a little buggy, if you find one, feel free to [report](https://github.com/kontera-technologies/nutcracker/issues) it.
4
+ This "library" wraps Twitter's [Nutcracker](https://github.com/twitter/twemproxy) in a gem package and provides ( in the near future I hope ) simple ruby API to the `nutcracker` executable.
5
+ For now this repository only contains a Rakefile for building new `nutcracker` gems, look at the last section for more info.
8
6
 
9
7
  ## Motivation
10
8
  The main motivation here is to take the advantages of working with Bundler's dependencies management and to be able to embed Twitter's [Nutcracker](https://github.com/twitter/twemproxy) as a dependency to any Ruby project, this allow you to create small-configuration-only-apps tied to specific version of Nutcracker as I show in the example bellow.
11
9
 
12
- ## Plugins
13
- - [nutcracker-graphite](https://github.com/kontera-technologies/nutcracker-graphite) - Send cluster stats to Graphite
14
- - [nutcracker-web](https://github.com/kontera-technologies/nutcracker-web) - Web interface
10
+ ## Installation
15
11
 
16
- ### Installation
17
- Add this line to your application's Gemfile:
18
- ```
19
- gem 'nutcracker'
20
- ```
12
+ `gem install nutcracker`
21
13
 
22
- And then execute:
23
- ```
24
- $ bundle install
14
+ Or if you are using a `Gemfile`
15
+
16
+ ```ruby
17
+ source :rubygems
18
+
19
+ gem 'nutcracker'
25
20
  ```
26
21
 
27
22
  after the gem was successfully installed, the `nutcracker` executable should be available
@@ -49,37 +44,9 @@ Options:
49
44
  -m, --mbuf-size=N : set size of mbuf chunk in bytes (default: 16384 bytes)
50
45
 
51
46
  ```
52
-
53
- ### Ruby Wrapper
54
- a simple ruby wrapper is also included
55
-
56
- ```ruby
57
- require 'nutcracker'
58
-
59
- nutcracker = Nutcracker.start(config_file: 'cluster.yaml')
60
- nutcracker.running? # => true
61
-
62
- nutcracker.stats # => {"source"=>"local", "version"=>"0.2.4", "uptime"=>6...}
63
-
64
- nutcracker.stop
65
- nutcracker.running? # => false
66
-
67
- nutcracker.start
68
- nutcracker.join # wait for server to exit
69
- ```
70
-
71
- you can also attach to a running instance of nutcracker
72
-
73
- ```ruby
74
- Nutcracker.attach(config_file: 'cluster.yaml', stats_port: 22222)
75
- ```
76
-
77
- ### Building new gems
47
+ ## Wanna build a new version?
78
48
  * Set the version @ `lib/nutcracker/version.rb` ( [Available Versions](https://code.google.com/p/twemproxy/downloads/list) )
79
49
  * run the `rake build` command
80
50
  * look for `nutcracker-X.Y.Z` gem under the pkg folder
81
51
 
82
- ### Warranty
83
- This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
84
-
85
- > for more details like licensing etc, please look @ [Nutcracker](https://github.com/twitter/twemproxy)
52
+ > for more details like licensing etc, please look @ [Nutcracker](https://github.com/twitter/twemproxy)
data/Rakefile CHANGED
@@ -2,23 +2,36 @@ $:.unshift File.expand_path '../lib', __FILE__
2
2
  require 'nutcracker'
3
3
  require 'rake'
4
4
  require 'rubygems/package_task'
5
- require "rake/testtask"
6
5
 
7
- Nutcracker::GemSpec = eval File.read 'nutcracker.gemspec'
8
-
9
- sversion = Nutcracker.version.split(".")[0..2].join(".")
6
+ Nutcracker::GemSpec = Gem::Specification.new do |s|
7
+ s.name = "nutcracker"
8
+ s.version = Nutcracker.version.dup
9
+ s.platform = Gem::Platform::RUBY
10
+ s.summary = "Twitter's Nutcraker Gem Wrapper"
11
+ s.description = "Gem/Bundler benefits for Twitter's Nutcraker C app"
12
+ s.author = "Eran Barak Levi"
13
+ s.email = "eran@kontera.com"
14
+ s.homepage = 'http://www.kontera.com'
15
+ s.required_ruby_version = '>= 1.8.5'
16
+ s.rubyforge_project = "ruby-nutcracker"
17
+ s.files = %w(README.md Rakefile) + Dir.glob("{bin,lib,ext}/**/*")
18
+ s.require_path = "lib"
19
+ s.extensions = ['ext/nutcracker/extconf.rb']
20
+ s.executables = ['nutcracker']
21
+ s.require_paths = ['lib']
22
+ end
10
23
 
11
24
  task :download do
12
- "nutcracker-#{sversion}.tar.gz".tap do |tarball|
25
+ "nutcracker-#{Nutcracker.version}.tar.gz".tap do |tarball|
13
26
  sh "mkdir ext" unless File.directory? "ext"
14
27
  sh "rm -rf ext/nutcracker"
15
28
  sh "wget https://twemproxy.googlecode.com/files/#{tarball}"
16
29
  sh "tar -zxvf #{tarball}"
17
- sh "mv nutcracker-#{sversion} ext/nutcracker"
30
+ sh "mv nutcracker-#{Nutcracker.version} ext/nutcracker"
18
31
  File.open("ext/nutcracker/extconf.rb",'w') do |file|
19
32
  file.puts %q{
20
33
  raise "no support for #{RUBY_PLATFORM}" if RUBY_PLATFORM =~ /darwin|mswin|mingw/
21
- system "./configure --prefix=#{File.expand_path('..',__FILE__)}"
34
+ system './configure'
22
35
  system 'make'
23
36
  }
24
37
  end
@@ -40,11 +53,3 @@ task :install => [:gem] do
40
53
  sh "gem install pkg/nutcracker"
41
54
  Rake::Task['clobber_package'].execute
42
55
  end
43
-
44
- ## Tests stuff
45
- task :default => :test
46
-
47
- Rake::TestTask.new(:test) do |t|
48
- t.libs << "tests"
49
- t.pattern = "tests/**/*_test.rb"
50
- end
data/bin/nutcracker CHANGED
@@ -1,7 +1,2 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- $:.unshift File.expand_path("../../lib", __FILE__)
4
-
5
- require 'nutcracker'
6
-
7
- exec Nutcracker.executable, *ARGV
2
+ exec File.expand_path('../../ext/nutcracker/src/nutcracker', __FILE__ ), *ARGV
@@ -1,12 +1,3 @@
1
- 2013-23-04 Manju Rajashekhar <manj@cs.stanford.edu>
2
- * twemproxy: version 0.2.4 release
3
- redis keys must be less than mbuf_data_size() in length (fifsky)
4
- Adds support for DUMP/RESTORE commands in Redis (remotezygote)
5
- Use of the weight value in the modula distribution (mezzatto)
6
- Add support to unix socket connections to servers (mezzatto)
7
- only check for duplicate server name and not 'host:port:weight' when 'name' is configured
8
- crc16 hash support added (mezzatto)
9
-
10
1
  2013-31-01 Manju Rajashekhar <manj@twitter.com>
11
2
  * twemproxy: version 0.2.3 release
12
3
  RPOPLPUSH, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION, SUNIONSTORE, ZINTERSTORE, and ZUNIONSTORE support (dcartoon)
File without changes
File without changes
@@ -1,8 +1,9 @@
1
- # Makefile.in generated by automake 1.10 from Makefile.am.
1
+ # Makefile.in generated by automake 1.11 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
4
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
5
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6
+ # Inc.
6
7
  # This Makefile.in is free software; the Free Software Foundation
7
8
  # gives unlimited permission to copy and/or distribute it,
8
9
  # with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
15
16
  @SET_MAKE@
16
17
  VPATH = @srcdir@
17
18
  pkgdatadir = $(datadir)/@PACKAGE@
18
- pkglibdir = $(libdir)/@PACKAGE@
19
19
  pkgincludedir = $(includedir)/@PACKAGE@
20
+ pkglibdir = $(libdir)/@PACKAGE@
21
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
20
22
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
21
23
  install_sh_DATA = $(install_sh) -c -m 644
22
24
  install_sh_PROGRAM = $(install_sh) -c
@@ -49,6 +51,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
49
51
  mkinstalldirs = $(install_sh) -d
50
52
  CONFIG_HEADER = config.h
51
53
  CONFIG_CLEAN_FILES =
54
+ CONFIG_CLEAN_VPATH_FILES =
52
55
  SOURCES =
53
56
  DIST_SOURCES =
54
57
  RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -60,6 +63,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
60
63
  ps-recursive uninstall-recursive
61
64
  RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
62
65
  distclean-recursive maintainer-clean-recursive
66
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
67
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
68
+ distdir dist dist-all distcheck
63
69
  ETAGS = etags
64
70
  CTAGS = ctags
65
71
  DIST_SUBDIRS = $(SUBDIRS)
@@ -67,9 +73,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
67
73
  distdir = $(PACKAGE)-$(VERSION)
68
74
  top_distdir = $(distdir)
69
75
  am__remove_distdir = \
70
- { test ! -d $(distdir) \
71
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
72
- && rm -fr $(distdir); }; }
76
+ { test ! -d "$(distdir)" \
77
+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
78
+ && rm -fr "$(distdir)"; }; }
79
+ am__relativize = \
80
+ dir0=`pwd`; \
81
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
82
+ sed_rest='s,^[^/]*/*,,'; \
83
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
84
+ sed_butlast='s,/*[^/]*$$,,'; \
85
+ while test -n "$$dir1"; do \
86
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
87
+ if test "$$first" != "."; then \
88
+ if test "$$first" = ".."; then \
89
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
90
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
91
+ else \
92
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
93
+ if test "$$first2" = "$$first"; then \
94
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
95
+ else \
96
+ dir2="../$$dir2"; \
97
+ fi; \
98
+ dir0="$$dir0"/"$$first"; \
99
+ fi; \
100
+ fi; \
101
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
102
+ done; \
103
+ reldir="$$dir2"
73
104
  DIST_ARCHIVES = $(distdir).tar.gz
74
105
  GZIP_ENV = --best
75
106
  distuninstallcheck_listfiles = find . -type f -print
@@ -174,6 +205,7 @@ libdir = @libdir@
174
205
  libexecdir = @libexecdir@
175
206
  localedir = @localedir@
176
207
  localstatedir = @localstatedir@
208
+ lt_ECHO = @lt_ECHO@
177
209
  mandir = @mandir@
178
210
  mkdir_p = @mkdir_p@
179
211
  oldincludedir = @oldincludedir@
@@ -204,15 +236,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
204
236
  @for dep in $?; do \
205
237
  case '$(am__configure_deps)' in \
206
238
  *$$dep*) \
207
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
208
- cd $(srcdir) && $(AUTOMAKE) --foreign \
239
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
240
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
209
241
  && exit 0; \
210
242
  exit 1;; \
211
243
  esac; \
212
244
  done; \
213
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
214
- cd $(top_srcdir) && \
215
- $(AUTOMAKE) --foreign Makefile
245
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
246
+ $(am__cd) $(top_srcdir) && \
247
+ $(AUTOMAKE) --foreign Makefile
216
248
  .PRECIOUS: Makefile
217
249
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
218
250
  @case '$?' in \
@@ -228,9 +260,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
228
260
  $(SHELL) ./config.status --recheck
229
261
 
230
262
  $(top_srcdir)/configure: $(am__configure_deps)
231
- cd $(srcdir) && $(AUTOCONF)
263
+ $(am__cd) $(srcdir) && $(AUTOCONF)
232
264
  $(ACLOCAL_M4): $(am__aclocal_m4_deps)
233
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
265
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
266
+ $(am__aclocal_m4_deps):
234
267
 
235
268
  config.h: stamp-h1
236
269
  @if test ! -f $@; then \
@@ -242,7 +275,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
242
275
  @rm -f stamp-h1
243
276
  cd $(top_builddir) && $(SHELL) ./config.status config.h
244
277
  $(srcdir)/config.h.in: $(am__configure_deps)
245
- cd $(top_srcdir) && $(AUTOHEADER)
278
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
246
279
  rm -f stamp-h1
247
280
  touch $@
248
281
 
@@ -256,7 +289,7 @@ clean-libtool:
256
289
  -rm -rf .libs _libs
257
290
 
258
291
  distclean-libtool:
259
- -rm -f libtool
292
+ -rm -f libtool config.lt
260
293
 
261
294
  # This directory's subdirectories are mostly independent; you can cd
262
295
  # into them and run `make' without going through this Makefile.
@@ -282,7 +315,7 @@ $(RECURSIVE_TARGETS):
282
315
  else \
283
316
  local_target="$$target"; \
284
317
  fi; \
285
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
318
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
286
319
  || eval $$failcom; \
287
320
  done; \
288
321
  if test "$$dot_seen" = "no"; then \
@@ -316,16 +349,16 @@ $(RECURSIVE_CLEAN_TARGETS):
316
349
  else \
317
350
  local_target="$$target"; \
318
351
  fi; \
319
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
352
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
320
353
  || eval $$failcom; \
321
354
  done && test -z "$$fail"
322
355
  tags-recursive:
323
356
  list='$(SUBDIRS)'; for subdir in $$list; do \
324
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
357
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
325
358
  done
326
359
  ctags-recursive:
327
360
  list='$(SUBDIRS)'; for subdir in $$list; do \
328
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
361
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
329
362
  done
330
363
 
331
364
  ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -333,14 +366,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
333
366
  unique=`for i in $$list; do \
334
367
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
335
368
  done | \
336
- $(AWK) ' { files[$$0] = 1; } \
337
- END { for (i in files) print i; }'`; \
369
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
370
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
338
371
  mkid -fID $$unique
339
372
  tags: TAGS
340
373
 
341
374
  TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
342
375
  $(TAGS_FILES) $(LISP)
343
- tags=; \
376
+ set x; \
344
377
  here=`pwd`; \
345
378
  if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
346
379
  include_option=--etags-include; \
@@ -352,46 +385,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
352
385
  list='$(SUBDIRS)'; for subdir in $$list; do \
353
386
  if test "$$subdir" = .; then :; else \
354
387
  test ! -f $$subdir/TAGS || \
355
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
388
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
356
389
  fi; \
357
390
  done; \
358
391
  list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
359
392
  unique=`for i in $$list; do \
360
393
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
361
394
  done | \
362
- $(AWK) ' { files[$$0] = 1; } \
363
- END { for (i in files) print i; }'`; \
364
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
395
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
396
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
397
+ shift; \
398
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
365
399
  test -n "$$unique" || unique=$$empty_fix; \
366
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
367
- $$tags $$unique; \
400
+ if test $$# -gt 0; then \
401
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
402
+ "$$@" $$unique; \
403
+ else \
404
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
405
+ $$unique; \
406
+ fi; \
368
407
  fi
369
408
  ctags: CTAGS
370
409
  CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
371
410
  $(TAGS_FILES) $(LISP)
372
- tags=; \
373
- here=`pwd`; \
374
411
  list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
375
412
  unique=`for i in $$list; do \
376
413
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
377
414
  done | \
378
- $(AWK) ' { files[$$0] = 1; } \
379
- END { for (i in files) print i; }'`; \
380
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
415
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
416
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
417
+ test -z "$(CTAGS_ARGS)$$unique" \
381
418
  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
382
- $$tags $$unique
419
+ $$unique
383
420
 
384
421
  GTAGS:
385
422
  here=`$(am__cd) $(top_builddir) && pwd` \
386
- && cd $(top_srcdir) \
387
- && gtags -i $(GTAGS_ARGS) $$here
423
+ && $(am__cd) $(top_srcdir) \
424
+ && gtags -i $(GTAGS_ARGS) "$$here"
388
425
 
389
426
  distclean-tags:
390
427
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
391
428
 
392
429
  distdir: $(DISTFILES)
393
430
  $(am__remove_distdir)
394
- test -d $(distdir) || mkdir $(distdir)
431
+ test -d "$(distdir)" || mkdir "$(distdir)"
395
432
  @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
396
433
  topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
397
434
  list='$(DISTFILES)'; \
@@ -407,38 +444,54 @@ distdir: $(DISTFILES)
407
444
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
408
445
  if test -d $$d/$$file; then \
409
446
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
447
+ if test -d "$(distdir)/$$file"; then \
448
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
449
+ fi; \
410
450
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
411
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
451
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
452
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
412
453
  fi; \
413
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
454
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
414
455
  else \
415
- test -f $(distdir)/$$file \
416
- || cp -p $$d/$$file $(distdir)/$$file \
456
+ test -f "$(distdir)/$$file" \
457
+ || cp -p $$d/$$file "$(distdir)/$$file" \
417
458
  || exit 1; \
418
459
  fi; \
419
460
  done
420
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
461
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
421
462
  if test "$$subdir" = .; then :; else \
422
463
  test -d "$(distdir)/$$subdir" \
423
464
  || $(MKDIR_P) "$(distdir)/$$subdir" \
424
465
  || exit 1; \
425
- distdir=`$(am__cd) $(distdir) && pwd`; \
426
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
427
- (cd $$subdir && \
466
+ fi; \
467
+ done
468
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
469
+ if test "$$subdir" = .; then :; else \
470
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
471
+ $(am__relativize); \
472
+ new_distdir=$$reldir; \
473
+ dir1=$$subdir; dir2="$(top_distdir)"; \
474
+ $(am__relativize); \
475
+ new_top_distdir=$$reldir; \
476
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
477
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
478
+ ($(am__cd) $$subdir && \
428
479
  $(MAKE) $(AM_MAKEFLAGS) \
429
- top_distdir="$$top_distdir" \
430
- distdir="$$distdir/$$subdir" \
480
+ top_distdir="$$new_top_distdir" \
481
+ distdir="$$new_distdir" \
431
482
  am__remove_distdir=: \
432
483
  am__skip_length_check=: \
484
+ am__skip_mode_fix=: \
433
485
  distdir) \
434
486
  || exit 1; \
435
487
  fi; \
436
488
  done
437
- -find $(distdir) -type d ! -perm -755 -exec chmod u+rwx,go+rx {} \; -o \
489
+ -test -n "$(am__skip_mode_fix)" \
490
+ || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
438
491
  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
439
492
  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
440
493
  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
441
- || chmod -R a+r $(distdir)
494
+ || chmod -R a+r "$(distdir)"
442
495
  dist-gzip: distdir
443
496
  tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
444
497
  $(am__remove_distdir)
@@ -447,6 +500,14 @@ dist-bzip2: distdir
447
500
  tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
448
501
  $(am__remove_distdir)
449
502
 
503
+ dist-lzma: distdir
504
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
505
+ $(am__remove_distdir)
506
+
507
+ dist-xz: distdir
508
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
509
+ $(am__remove_distdir)
510
+
450
511
  dist-tarZ: distdir
451
512
  tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
452
513
  $(am__remove_distdir)
@@ -473,6 +534,10 @@ distcheck: dist
473
534
  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
474
535
  *.tar.bz2*) \
475
536
  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
537
+ *.tar.lzma*) \
538
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
539
+ *.tar.xz*) \
540
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
476
541
  *.tar.Z*) \
477
542
  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
478
543
  *.shar.gz*) \
@@ -484,9 +549,11 @@ distcheck: dist
484
549
  mkdir $(distdir)/_build
485
550
  mkdir $(distdir)/_inst
486
551
  chmod a-w $(distdir)
552
+ test -d $(distdir)/_build || exit 0; \
487
553
  dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
488
554
  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
489
- && cd $(distdir)/_build \
555
+ && am__cwd=`pwd` \
556
+ && $(am__cd) $(distdir)/_build \
490
557
  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
491
558
  $(DISTCHECK_CONFIGURE_FLAGS) \
492
559
  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -508,13 +575,15 @@ distcheck: dist
508
575
  && rm -rf "$$dc_destdir" \
509
576
  && $(MAKE) $(AM_MAKEFLAGS) dist \
510
577
  && rm -rf $(DIST_ARCHIVES) \
511
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
578
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
579
+ && cd "$$am__cwd" \
580
+ || exit 1
512
581
  $(am__remove_distdir)
513
582
  @(echo "$(distdir) archives ready for distribution: "; \
514
583
  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
515
584
  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
516
585
  distuninstallcheck:
517
- @cd $(distuninstallcheck_dir) \
586
+ @$(am__cd) '$(distuninstallcheck_dir)' \
518
587
  && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
519
588
  || { echo "ERROR: files left after uninstall:" ; \
520
589
  if test -n "$(DESTDIR)"; then \
@@ -556,6 +625,7 @@ clean-generic:
556
625
 
557
626
  distclean-generic:
558
627
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
628
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
559
629
 
560
630
  maintainer-clean-generic:
561
631
  @echo "This command is intended for maintainers to use"
@@ -577,6 +647,8 @@ dvi-am:
577
647
 
578
648
  html: html-recursive
579
649
 
650
+ html-am:
651
+
580
652
  info: info-recursive
581
653
 
582
654
  info-am:
@@ -585,18 +657,28 @@ install-data-am:
585
657
 
586
658
  install-dvi: install-dvi-recursive
587
659
 
660
+ install-dvi-am:
661
+
588
662
  install-exec-am:
589
663
 
590
664
  install-html: install-html-recursive
591
665
 
666
+ install-html-am:
667
+
592
668
  install-info: install-info-recursive
593
669
 
670
+ install-info-am:
671
+
594
672
  install-man:
595
673
 
596
674
  install-pdf: install-pdf-recursive
597
675
 
676
+ install-pdf-am:
677
+
598
678
  install-ps: install-ps-recursive
599
679
 
680
+ install-ps-am:
681
+
600
682
  installcheck-am:
601
683
 
602
684
  maintainer-clean: maintainer-clean-recursive
@@ -619,24 +701,25 @@ ps-am:
619
701
 
620
702
  uninstall-am:
621
703
 
622
- .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
623
- install-strip
704
+ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
705
+ ctags-recursive install-am install-strip tags-recursive
624
706
 
625
707
  .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
626
708
  all all-am am--refresh check check-am clean clean-generic \
627
709
  clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
628
- dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
629
- distclean-generic distclean-hdr distclean-libtool \
630
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
631
- dvi-am html html-am info info-am install install-am \
632
- install-data install-data-am install-dvi install-dvi-am \
633
- install-exec install-exec-am install-html install-html-am \
634
- install-info install-info-am install-man install-pdf \
635
- install-pdf-am install-ps install-ps-am install-strip \
636
- installcheck installcheck-am installdirs installdirs-am \
637
- maintainer-clean maintainer-clean-generic mostlyclean \
638
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
639
- tags tags-recursive uninstall uninstall-am
710
+ dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
711
+ distcheck distclean distclean-generic distclean-hdr \
712
+ distclean-libtool distclean-tags distcleancheck distdir \
713
+ distuninstallcheck dvi dvi-am html html-am info info-am \
714
+ install install-am install-data install-data-am install-dvi \
715
+ install-dvi-am install-exec install-exec-am install-html \
716
+ install-html-am install-info install-info-am install-man \
717
+ install-pdf install-pdf-am install-ps install-ps-am \
718
+ install-strip installcheck installcheck-am installdirs \
719
+ installdirs-am maintainer-clean maintainer-clean-generic \
720
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
721
+ ps ps-am tags tags-recursive uninstall uninstall-am
722
+
640
723
 
641
724
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
642
725
  # Otherwise a system limit (for SysV at least) may be exceeded.