nutcracker 0.2.3 → 0.2.4.beta1

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 +53 -5
  2. data/Rakefile +14 -19
  3. data/bin/nutcracker +6 -1
  4. data/ext/nutcracker/ChangeLog +9 -0
  5. data/ext/nutcracker/LICENSE +0 -0
  6. data/ext/nutcracker/Makefile +643 -0
  7. data/ext/nutcracker/Makefile.am +0 -0
  8. data/ext/nutcracker/Makefile.in +66 -149
  9. data/ext/nutcracker/NOTICE +0 -0
  10. data/ext/nutcracker/README.md +13 -11
  11. data/ext/nutcracker/aclocal.m4 +112 -201
  12. data/ext/nutcracker/autom4te.cache/output.0 +18664 -0
  13. data/ext/nutcracker/autom4te.cache/output.1 +18664 -0
  14. data/ext/nutcracker/autom4te.cache/output.2 +18664 -0
  15. data/ext/nutcracker/autom4te.cache/requests +494 -0
  16. data/ext/nutcracker/autom4te.cache/traces.0 +2415 -0
  17. data/ext/nutcracker/autom4te.cache/traces.1 +945 -0
  18. data/ext/nutcracker/autom4te.cache/traces.2 +2415 -0
  19. data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
  20. data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
  21. data/ext/nutcracker/conf/nutcracker.yml +0 -0
  22. data/ext/nutcracker/config.h +332 -0
  23. data/ext/nutcracker/config.h.in +15 -0
  24. data/ext/nutcracker/config.log +2684 -0
  25. data/ext/nutcracker/config.status +2317 -0
  26. data/ext/nutcracker/config/config.guess +23 -84
  27. data/ext/nutcracker/config/config.sub +23 -93
  28. data/ext/nutcracker/config/depcomp +35 -81
  29. data/ext/nutcracker/config/install-sh +109 -122
  30. data/ext/nutcracker/config/ltmain.sh +1053 -721
  31. data/ext/nutcracker/config/missing +20 -29
  32. data/ext/nutcracker/configure +2122 -2320
  33. data/ext/nutcracker/configure.ac +35 -3
  34. data/ext/nutcracker/contrib/Makefile +494 -0
  35. data/ext/nutcracker/contrib/Makefile.am +0 -0
  36. data/ext/nutcracker/contrib/Makefile.in +41 -107
  37. data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
  38. data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +736 -0
  39. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13102 -0
  40. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +13085 -0
  41. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +13085 -0
  42. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +476 -0
  43. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +2339 -0
  44. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +545 -0
  45. data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2339 -0
  46. data/ext/nutcracker/contrib/yaml-0.1.4/config.h +81 -0
  47. data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
  48. data/ext/nutcracker/contrib/yaml-0.1.4/config.log +688 -0
  49. data/ext/nutcracker/contrib/yaml-0.1.4/config.status +2032 -0
  50. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +51 -0
  51. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
  52. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +41 -0
  53. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
  54. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +656 -0
  55. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
  56. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +40 -0
  57. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +91 -0
  58. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +84 -0
  59. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +87 -0
  60. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +83 -0
  61. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +110 -0
  62. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +79 -0
  63. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +80 -0
  64. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +92 -0
  65. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +71 -0
  66. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +88 -0
  67. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +96 -0
  68. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +71 -0
  69. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +80 -0
  70. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +100 -0
  71. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +71 -0
  72. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +87 -0
  73. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +163 -0
  74. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +115 -0
  75. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +71 -0
  76. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +80 -0
  77. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +77 -0
  78. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +91 -0
  79. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +84 -0
  80. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +87 -0
  81. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +83 -0
  82. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +110 -0
  83. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +79 -0
  84. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +80 -0
  85. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +92 -0
  86. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +71 -0
  87. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +88 -0
  88. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +96 -0
  89. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +71 -0
  90. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +80 -0
  91. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +100 -0
  92. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +71 -0
  93. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +87 -0
  94. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +163 -0
  95. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +115 -0
  96. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +71 -0
  97. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +80 -0
  98. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +77 -0
  99. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +667 -0
  100. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +81 -0
  101. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +78 -0
  102. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +373 -0
  103. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +196 -0
  104. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +126 -0
  105. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +320 -0
  106. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +819 -0
  107. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +664 -0
  108. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +60 -0
  109. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +795 -0
  110. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +606 -0
  111. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +222 -0
  112. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +246 -0
  113. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +106 -0
  114. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +31 -0
  115. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +42 -0
  116. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
  117. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
  118. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
  119. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +108 -0
  120. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +235 -0
  121. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +1300 -0
  122. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +496 -0
  123. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +108 -0
  124. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +91 -0
  125. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +420 -0
  126. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +1229 -0
  127. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +97 -0
  128. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +91 -0
  129. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +413 -0
  130. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +91 -0
  131. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
  132. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
  133. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
  134. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
  135. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +59 -0
  136. data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +525 -0
  137. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +17 -0
  138. data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +470 -0
  139. data/ext/nutcracker/contrib/yaml-0.1.4/libtool +8890 -0
  140. data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +484 -0
  141. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +12 -0
  142. data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
  143. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +12 -0
  144. data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
  145. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +12 -0
  146. data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
  147. data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +41 -0
  148. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +12 -0
  149. data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
  150. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +12 -0
  151. data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
  152. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +12 -0
  153. data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
  154. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +12 -0
  155. data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
  156. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +12 -0
  157. data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
  158. data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +1 -0
  159. data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +675 -0
  160. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
  161. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
  162. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
  163. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
  164. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
  165. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
  166. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
  167. data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
  168. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
  169. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
  170. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
  171. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
  172. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
  173. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
  174. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
  175. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
  176. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
  177. data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
  178. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +10 -0
  179. data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +10 -0
  180. data/ext/nutcracker/extconf.rb +0 -5
  181. data/ext/nutcracker/libtool +9403 -0
  182. data/ext/nutcracker/m4/libtool.m4 +553 -492
  183. data/ext/nutcracker/m4/ltoptions.m4 +7 -6
  184. data/ext/nutcracker/m4/ltversion.m4 +5 -5
  185. data/ext/nutcracker/m4/lt~obsolete.m4 +9 -3
  186. data/ext/nutcracker/notes/c-styleguide.txt +0 -0
  187. data/ext/nutcracker/notes/debug.txt +0 -0
  188. data/ext/nutcracker/notes/memcache.txt +0 -0
  189. data/ext/nutcracker/notes/recommendation.md +21 -2
  190. data/ext/nutcracker/notes/redis.md +9 -9
  191. data/ext/nutcracker/notes/socket.txt +0 -0
  192. data/ext/nutcracker/scripts/nutcracker.init +0 -0
  193. data/ext/nutcracker/scripts/nutcracker.spec +0 -0
  194. data/ext/nutcracker/scripts/redis-check.py +0 -0
  195. data/ext/nutcracker/scripts/redis-check.sh +9 -0
  196. data/ext/nutcracker/src/Makefile +647 -0
  197. data/ext/nutcracker/src/Makefile.am +1 -1
  198. data/ext/nutcracker/src/Makefile.in +74 -153
  199. data/ext/nutcracker/src/hashkit/Makefile +476 -0
  200. data/ext/nutcracker/src/hashkit/Makefile.am +1 -0
  201. data/ext/nutcracker/src/hashkit/Makefile.in +39 -64
  202. data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
  203. data/ext/nutcracker/src/hashkit/nc_crc16.c +66 -0
  204. data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
  205. data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
  206. data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
  207. data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
  208. data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
  209. data/ext/nutcracker/src/hashkit/nc_hashkit.h +2 -0
  210. data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
  211. data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
  212. data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
  213. data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
  214. data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
  215. data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
  216. data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
  217. data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
  218. data/ext/nutcracker/src/hashkit/nc_modula.c +18 -6
  219. data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
  220. data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
  221. data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
  222. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
  223. data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
  224. data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
  225. data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
  226. data/ext/nutcracker/src/nc.c +0 -0
  227. data/ext/nutcracker/src/nc.o +0 -0
  228. data/ext/nutcracker/src/nc_array.c +0 -0
  229. data/ext/nutcracker/src/nc_array.h +0 -0
  230. data/ext/nutcracker/src/nc_array.o +0 -0
  231. data/ext/nutcracker/src/nc_client.c +0 -0
  232. data/ext/nutcracker/src/nc_client.h +0 -0
  233. data/ext/nutcracker/src/nc_client.o +0 -0
  234. data/ext/nutcracker/src/nc_conf.c +14 -35
  235. data/ext/nutcracker/src/nc_conf.h +1 -1
  236. data/ext/nutcracker/src/nc_conf.o +0 -0
  237. data/ext/nutcracker/src/nc_connection.c +0 -0
  238. data/ext/nutcracker/src/nc_connection.h +0 -0
  239. data/ext/nutcracker/src/nc_connection.o +0 -0
  240. data/ext/nutcracker/src/nc_core.c +29 -26
  241. data/ext/nutcracker/src/nc_core.h +13 -5
  242. data/ext/nutcracker/src/nc_core.o +0 -0
  243. data/ext/nutcracker/src/{nc_event.c → nc_epoll.c} +94 -30
  244. data/ext/nutcracker/src/nc_epoll.o +0 -0
  245. data/ext/nutcracker/src/nc_event.h +33 -13
  246. data/ext/nutcracker/src/nc_kqueue.c +296 -0
  247. data/ext/nutcracker/src/nc_kqueue.o +0 -0
  248. data/ext/nutcracker/src/nc_log.c +0 -0
  249. data/ext/nutcracker/src/nc_log.h +0 -0
  250. data/ext/nutcracker/src/nc_log.o +0 -0
  251. data/ext/nutcracker/src/nc_mbuf.c +0 -0
  252. data/ext/nutcracker/src/nc_mbuf.h +0 -0
  253. data/ext/nutcracker/src/nc_mbuf.o +0 -0
  254. data/ext/nutcracker/src/nc_message.c +0 -0
  255. data/ext/nutcracker/src/nc_message.h +2 -0
  256. data/ext/nutcracker/src/nc_message.o +0 -0
  257. data/ext/nutcracker/src/nc_proxy.c +8 -8
  258. data/ext/nutcracker/src/nc_proxy.h +0 -0
  259. data/ext/nutcracker/src/nc_proxy.o +0 -0
  260. data/ext/nutcracker/src/nc_queue.h +0 -0
  261. data/ext/nutcracker/src/nc_rbtree.c +0 -0
  262. data/ext/nutcracker/src/nc_rbtree.h +0 -0
  263. data/ext/nutcracker/src/nc_rbtree.o +0 -0
  264. data/ext/nutcracker/src/nc_request.c +3 -3
  265. data/ext/nutcracker/src/nc_request.o +0 -0
  266. data/ext/nutcracker/src/nc_response.c +4 -6
  267. data/ext/nutcracker/src/nc_response.o +0 -0
  268. data/ext/nutcracker/src/nc_server.c +14 -12
  269. data/ext/nutcracker/src/nc_server.h +0 -0
  270. data/ext/nutcracker/src/nc_server.o +0 -0
  271. data/ext/nutcracker/src/nc_signal.c +0 -0
  272. data/ext/nutcracker/src/nc_signal.h +0 -0
  273. data/ext/nutcracker/src/nc_signal.o +0 -0
  274. data/ext/nutcracker/src/nc_stats.c +16 -21
  275. data/ext/nutcracker/src/nc_stats.h +3 -4
  276. data/ext/nutcracker/src/nc_stats.o +0 -0
  277. data/ext/nutcracker/src/nc_string.c +0 -0
  278. data/ext/nutcracker/src/nc_string.h +0 -0
  279. data/ext/nutcracker/src/nc_string.o +0 -0
  280. data/ext/nutcracker/src/nc_util.c +16 -0
  281. data/ext/nutcracker/src/nc_util.h +1 -0
  282. data/ext/nutcracker/src/nc_util.o +0 -0
  283. data/ext/nutcracker/src/nutcracker +0 -0
  284. data/ext/nutcracker/src/proto/Makefile +454 -0
  285. data/ext/nutcracker/src/proto/Makefile.am +0 -0
  286. data/ext/nutcracker/src/proto/Makefile.in +32 -60
  287. data/ext/nutcracker/src/proto/libproto.a +0 -0
  288. data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
  289. data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
  290. data/ext/nutcracker/src/proto/nc_proto.h +0 -0
  291. data/ext/nutcracker/src/proto/nc_redis.c +17 -4
  292. data/ext/nutcracker/src/proto/nc_redis.o +0 -0
  293. data/ext/nutcracker/stamp-h1 +1 -0
  294. data/lib/nutcracker.rb +64 -2
  295. data/lib/nutcracker/version.rb +1 -1
  296. metadata +237 -9
@@ -1,7 +1,7 @@
1
1
  # Define the package version numbers and the bug reporting address
2
2
  m4_define([NC_MAJOR], 0)
3
3
  m4_define([NC_MINOR], 2)
4
- m4_define([NC_PATCH], 3)
4
+ m4_define([NC_PATCH], 4)
5
5
  m4_define([NC_BUGS], [manj@twitter.com])
6
6
 
7
7
  # Initialize autoconf
@@ -67,7 +67,10 @@ AC_CHECK_HEADERS([fcntl.h float.h limits.h stddef.h stdlib.h string.h unistd.h])
67
67
  AC_CHECK_HEADERS([inttypes.h stdint.h])
68
68
  AC_CHECK_HEADERS([sys/ioctl.h sys/time.h sys/uio.h])
69
69
  AC_CHECK_HEADERS([sys/socket.h sys/un.h netinet/in.h arpa/inet.h netdb.h])
70
- AC_CHECK_HEADERS([sys/epoll.h], [], [AC_MSG_ERROR([required sys/epoll.h header file is missing])])
70
+ AC_CHECK_HEADERS([execinfo.h],
71
+ [AC_DEFINE(HAVE_BACKTRACE, [1], [Define to 1 if backtrace is supported])], [])
72
+ AC_CHECK_HEADERS([sys/epoll.h], [], [])
73
+ AC_CHECK_HEADERS([sys/event.h], [], [])
71
74
 
72
75
  # Checks for libraries
73
76
  AC_CHECK_LIB([m], [pow])
@@ -100,7 +103,36 @@ main(int argc, char **argv)
100
103
  exit(0);
101
104
  }
102
105
  ], [ac_cv_epoll_works=yes], [ac_cv_epoll_works=no]))
103
- AS_IF([test "x$ac_cv_epoll_works" = "xyes"], [], [AC_MSG_FAILURE([Linux epoll(7) API is missing])])
106
+ AS_IF([test "x$ac_cv_epoll_works" = "xyes"],
107
+ [AC_DEFINE([HAVE_EPOLL], [1], [Define to 1 if epoll is supported])], [])
108
+
109
+ AC_CACHE_CHECK([if kqueue works], [ac_cv_kqueue_works],
110
+ AC_TRY_RUN([
111
+ #include <stdio.h>
112
+ #include <stdlib.h>
113
+ #include <sys/types.h>
114
+ #include <sys/event.h>
115
+ #include <sys/time.h>
116
+ int
117
+ main(int argc, char **argv)
118
+ {
119
+ int fd;
120
+
121
+ fd = kqueue();
122
+ if (fd < 0) {
123
+ perror("kqueue:");
124
+ exit(1);
125
+ }
126
+ exit(0);
127
+ }
128
+ ], [ac_cv_kqueue_works=yes], [ac_cv_kqueue_works=no]))
129
+ AS_IF([test "x$ac_cv_kqueue_works" = "xyes"],
130
+ [AC_DEFINE([HAVE_KQUEUE], [1], [Define to 1 if kqueue is supported])], [])
131
+
132
+ AS_IF([test "x$ac_cv_epoll_works" = "xno" &&
133
+ test "x$ac_cv_kqueue_works" = "xno"],
134
+ [AC_MSG_ERROR([either epoll or kqueue support is required])], [])
135
+
104
136
 
105
137
  # Package options
106
138
  AC_MSG_CHECKING([whether to enable debug logs and asserts])
@@ -0,0 +1,494 @@
1
+ # Makefile.in generated by automake 1.10 from Makefile.am.
2
+ # contrib/Makefile. Generated from Makefile.in by configure.
3
+
4
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
+ # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
6
+ # This Makefile.in is free software; the Free Software Foundation
7
+ # gives unlimited permission to copy and/or distribute it,
8
+ # with or without modifications, as long as this notice is preserved.
9
+
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
+ # PARTICULAR PURPOSE.
14
+
15
+
16
+
17
+ pkgdatadir = $(datadir)/nutcracker
18
+ pkglibdir = $(libdir)/nutcracker
19
+ pkgincludedir = $(includedir)/nutcracker
20
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
21
+ install_sh_DATA = $(install_sh) -c -m 644
22
+ install_sh_PROGRAM = $(install_sh) -c
23
+ install_sh_SCRIPT = $(install_sh) -c
24
+ INSTALL_HEADER = $(INSTALL_DATA)
25
+ transform = $(program_transform_name)
26
+ NORMAL_INSTALL = :
27
+ PRE_INSTALL = :
28
+ POST_INSTALL = :
29
+ NORMAL_UNINSTALL = :
30
+ PRE_UNINSTALL = :
31
+ POST_UNINSTALL = :
32
+ build_triplet = i386-apple-darwin11.4.2
33
+ host_triplet = i386-apple-darwin11.4.2
34
+ subdir = contrib
35
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
36
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
37
+ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
38
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
39
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
40
+ $(top_srcdir)/configure.ac
41
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42
+ $(ACLOCAL_M4)
43
+ mkinstalldirs = $(install_sh) -d
44
+ CONFIG_HEADER = $(top_builddir)/config.h
45
+ CONFIG_CLEAN_FILES =
46
+ SOURCES =
47
+ DIST_SOURCES =
48
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
49
+ html-recursive info-recursive install-data-recursive \
50
+ install-dvi-recursive install-exec-recursive \
51
+ install-html-recursive install-info-recursive \
52
+ install-pdf-recursive install-ps-recursive install-recursive \
53
+ installcheck-recursive installdirs-recursive pdf-recursive \
54
+ ps-recursive uninstall-recursive
55
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
56
+ distclean-recursive maintainer-clean-recursive
57
+ ETAGS = etags
58
+ CTAGS = ctags
59
+ DIST_SUBDIRS = $(SUBDIRS)
60
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
61
+ ACLOCAL = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run aclocal-1.10
62
+ AMTAR = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run tar
63
+ AR = ar
64
+ AUTOCONF = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoconf
65
+ AUTOHEADER = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoheader
66
+ AUTOMAKE = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run automake-1.10
67
+ AWK = awk
68
+ CC = gcc
69
+ CCDEPMODE = depmode=gcc3
70
+ CFLAGS = -g -O2
71
+ CPP = gcc -E
72
+ CPPFLAGS =
73
+ CXX = g++
74
+ CXXCPP = g++ -E
75
+ CXXDEPMODE = depmode=gcc3
76
+ CXXFLAGS = -g -O2
77
+ CYGPATH_W = echo
78
+ DEFS = -DHAVE_CONFIG_H
79
+ DEPDIR = .deps
80
+ DSYMUTIL = dsymutil
81
+ DUMPBIN =
82
+ ECHO_C = \c
83
+ ECHO_N =
84
+ ECHO_T =
85
+ EGREP = /usr/bin/grep -E
86
+ EXEEXT =
87
+ FGREP = /usr/bin/grep -F
88
+ GREP = /usr/bin/grep
89
+ INSTALL = /usr/bin/install -c
90
+ INSTALL_DATA = ${INSTALL} -m 644
91
+ INSTALL_PROGRAM = ${INSTALL}
92
+ INSTALL_SCRIPT = ${INSTALL}
93
+ INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
94
+ LD = /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
95
+ LDFLAGS =
96
+ LIBOBJS =
97
+ LIBS = -lpthread -lm
98
+ LIBTOOL = $(SHELL) $(top_builddir)/libtool
99
+ LIPO = lipo
100
+ LN_S = ln -s
101
+ LTLIBOBJS =
102
+ MAKEINFO = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run makeinfo
103
+ MKDIR_P = ../config/install-sh -c -d
104
+ NM = /usr/bin/nm
105
+ NMEDIT = nmedit
106
+ OBJDUMP = false
107
+ OBJEXT = o
108
+ OTOOL = otool
109
+ OTOOL64 = :
110
+ PACKAGE = nutcracker
111
+ PACKAGE_BUGREPORT = manj@twitter.com
112
+ PACKAGE_NAME = nutcracker
113
+ PACKAGE_STRING = nutcracker 0.2.4
114
+ PACKAGE_TARNAME = nutcracker
115
+ PACKAGE_URL =
116
+ PACKAGE_VERSION = 0.2.4
117
+ PATH_SEPARATOR = :
118
+ RANLIB = ranlib
119
+ SED = /usr/bin/sed
120
+ SET_MAKE =
121
+ SHELL = /bin/sh
122
+ STRIP = strip
123
+ VERSION = 0.2.4
124
+ abs_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/contrib
125
+ abs_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/contrib
126
+ abs_top_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
127
+ abs_top_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
128
+ ac_ct_CC = gcc
129
+ ac_ct_CXX = g++
130
+ ac_ct_DUMPBIN =
131
+ am__include = include
132
+ am__leading_dot = .
133
+ am__quote =
134
+ am__tar = ${AMTAR} chof - "$$tardir"
135
+ am__untar = ${AMTAR} xf -
136
+ bindir = ${exec_prefix}/bin
137
+ build = i386-apple-darwin11.4.2
138
+ build_alias =
139
+ build_cpu = i386
140
+ build_os = darwin11.4.2
141
+ build_vendor = apple
142
+ builddir = .
143
+ datadir = ${datarootdir}
144
+ datarootdir = ${prefix}/share
145
+ docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
146
+ dvidir = ${docdir}
147
+ exec_prefix = ${prefix}
148
+ host = i386-apple-darwin11.4.2
149
+ host_alias =
150
+ host_cpu = i386
151
+ host_os = darwin11.4.2
152
+ host_vendor = apple
153
+ htmldir = ${docdir}
154
+ includedir = ${prefix}/include
155
+ infodir = ${datarootdir}/info
156
+ install_sh = $(SHELL) /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/install-sh
157
+ libdir = ${exec_prefix}/lib
158
+ libexecdir = ${exec_prefix}/libexec
159
+ localedir = ${datarootdir}/locale
160
+ localstatedir = ${prefix}/var
161
+ mandir = ${datarootdir}/man
162
+ mkdir_p = $(top_builddir)/config/install-sh -c -d
163
+ oldincludedir = /usr/include
164
+ pdfdir = ${docdir}
165
+ prefix = /usr/local
166
+ program_transform_name = s,x,x,
167
+ psdir = ${docdir}
168
+ sbindir = ${exec_prefix}/sbin
169
+ sharedstatedir = ${prefix}/com
170
+ srcdir = .
171
+ subdirs = contrib/yaml-0.1.4
172
+ sysconfdir = ${prefix}/etc
173
+ target_alias =
174
+ top_build_prefix = ../
175
+ top_builddir = ..
176
+ top_srcdir = ..
177
+ SUBDIRS = yaml-0.1.4
178
+ EXTRA_DIST = yaml-0.1.4.tar.gz
179
+ all: all-recursive
180
+
181
+ .SUFFIXES:
182
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
183
+ @for dep in $?; do \
184
+ case '$(am__configure_deps)' in \
185
+ *$$dep*) \
186
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
187
+ && exit 0; \
188
+ exit 1;; \
189
+ esac; \
190
+ done; \
191
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \
192
+ cd $(top_srcdir) && \
193
+ $(AUTOMAKE) --foreign contrib/Makefile
194
+ .PRECIOUS: Makefile
195
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
196
+ @case '$?' in \
197
+ *config.status*) \
198
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
199
+ *) \
200
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
201
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
202
+ esac;
203
+
204
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
205
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
206
+
207
+ $(top_srcdir)/configure: $(am__configure_deps)
208
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
209
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
210
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
211
+
212
+ mostlyclean-libtool:
213
+ -rm -f *.lo
214
+
215
+ clean-libtool:
216
+ -rm -rf .libs _libs
217
+
218
+ # This directory's subdirectories are mostly independent; you can cd
219
+ # into them and run `make' without going through this Makefile.
220
+ # To change the values of `make' variables: instead of editing Makefiles,
221
+ # (1) if the variable is set in `config.status', edit `config.status'
222
+ # (which will cause the Makefiles to be regenerated when you run `make');
223
+ # (2) otherwise, pass the desired values on the `make' command line.
224
+ $(RECURSIVE_TARGETS):
225
+ @failcom='exit 1'; \
226
+ for f in x $$MAKEFLAGS; do \
227
+ case $$f in \
228
+ *=* | --[!k]*);; \
229
+ *k*) failcom='fail=yes';; \
230
+ esac; \
231
+ done; \
232
+ dot_seen=no; \
233
+ target=`echo $@ | sed s/-recursive//`; \
234
+ list='$(SUBDIRS)'; for subdir in $$list; do \
235
+ echo "Making $$target in $$subdir"; \
236
+ if test "$$subdir" = "."; then \
237
+ dot_seen=yes; \
238
+ local_target="$$target-am"; \
239
+ else \
240
+ local_target="$$target"; \
241
+ fi; \
242
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
243
+ || eval $$failcom; \
244
+ done; \
245
+ if test "$$dot_seen" = "no"; then \
246
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
247
+ fi; test -z "$$fail"
248
+
249
+ $(RECURSIVE_CLEAN_TARGETS):
250
+ @failcom='exit 1'; \
251
+ for f in x $$MAKEFLAGS; do \
252
+ case $$f in \
253
+ *=* | --[!k]*);; \
254
+ *k*) failcom='fail=yes';; \
255
+ esac; \
256
+ done; \
257
+ dot_seen=no; \
258
+ case "$@" in \
259
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
260
+ *) list='$(SUBDIRS)' ;; \
261
+ esac; \
262
+ rev=''; for subdir in $$list; do \
263
+ if test "$$subdir" = "."; then :; else \
264
+ rev="$$subdir $$rev"; \
265
+ fi; \
266
+ done; \
267
+ rev="$$rev ."; \
268
+ target=`echo $@ | sed s/-recursive//`; \
269
+ for subdir in $$rev; do \
270
+ echo "Making $$target in $$subdir"; \
271
+ if test "$$subdir" = "."; then \
272
+ local_target="$$target-am"; \
273
+ else \
274
+ local_target="$$target"; \
275
+ fi; \
276
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
277
+ || eval $$failcom; \
278
+ done && test -z "$$fail"
279
+ tags-recursive:
280
+ list='$(SUBDIRS)'; for subdir in $$list; do \
281
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
282
+ done
283
+ ctags-recursive:
284
+ list='$(SUBDIRS)'; for subdir in $$list; do \
285
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
286
+ done
287
+
288
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
289
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
290
+ unique=`for i in $$list; do \
291
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
292
+ done | \
293
+ $(AWK) ' { files[$$0] = 1; } \
294
+ END { for (i in files) print i; }'`; \
295
+ mkid -fID $$unique
296
+ tags: TAGS
297
+
298
+ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
299
+ $(TAGS_FILES) $(LISP)
300
+ tags=; \
301
+ here=`pwd`; \
302
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
303
+ include_option=--etags-include; \
304
+ empty_fix=.; \
305
+ else \
306
+ include_option=--include; \
307
+ empty_fix=; \
308
+ fi; \
309
+ list='$(SUBDIRS)'; for subdir in $$list; do \
310
+ if test "$$subdir" = .; then :; else \
311
+ test ! -f $$subdir/TAGS || \
312
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
313
+ fi; \
314
+ done; \
315
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
316
+ unique=`for i in $$list; do \
317
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
318
+ done | \
319
+ $(AWK) ' { files[$$0] = 1; } \
320
+ END { for (i in files) print i; }'`; \
321
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
322
+ test -n "$$unique" || unique=$$empty_fix; \
323
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
324
+ $$tags $$unique; \
325
+ fi
326
+ ctags: CTAGS
327
+ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
328
+ $(TAGS_FILES) $(LISP)
329
+ tags=; \
330
+ here=`pwd`; \
331
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
332
+ unique=`for i in $$list; do \
333
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
334
+ done | \
335
+ $(AWK) ' { files[$$0] = 1; } \
336
+ END { for (i in files) print i; }'`; \
337
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
338
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
339
+ $$tags $$unique
340
+
341
+ GTAGS:
342
+ here=`$(am__cd) $(top_builddir) && pwd` \
343
+ && cd $(top_srcdir) \
344
+ && gtags -i $(GTAGS_ARGS) $$here
345
+
346
+ distclean-tags:
347
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
348
+
349
+ distdir: $(DISTFILES)
350
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
351
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
352
+ list='$(DISTFILES)'; \
353
+ dist_files=`for file in $$list; do echo $$file; done | \
354
+ sed -e "s|^$$srcdirstrip/||;t" \
355
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
356
+ case $$dist_files in \
357
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
358
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
359
+ sort -u` ;; \
360
+ esac; \
361
+ for file in $$dist_files; do \
362
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
363
+ if test -d $$d/$$file; then \
364
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
365
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
366
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
367
+ fi; \
368
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
369
+ else \
370
+ test -f $(distdir)/$$file \
371
+ || cp -p $$d/$$file $(distdir)/$$file \
372
+ || exit 1; \
373
+ fi; \
374
+ done
375
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
376
+ if test "$$subdir" = .; then :; else \
377
+ test -d "$(distdir)/$$subdir" \
378
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
379
+ || exit 1; \
380
+ distdir=`$(am__cd) $(distdir) && pwd`; \
381
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
382
+ (cd $$subdir && \
383
+ $(MAKE) $(AM_MAKEFLAGS) \
384
+ top_distdir="$$top_distdir" \
385
+ distdir="$$distdir/$$subdir" \
386
+ am__remove_distdir=: \
387
+ am__skip_length_check=: \
388
+ distdir) \
389
+ || exit 1; \
390
+ fi; \
391
+ done
392
+ check-am: all-am
393
+ check: check-recursive
394
+ all-am: Makefile
395
+ installdirs: installdirs-recursive
396
+ installdirs-am:
397
+ install: install-recursive
398
+ install-exec: install-exec-recursive
399
+ install-data: install-data-recursive
400
+ uninstall: uninstall-recursive
401
+
402
+ install-am: all-am
403
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
404
+
405
+ installcheck: installcheck-recursive
406
+ install-strip:
407
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
408
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
409
+ `test -z '$(STRIP)' || \
410
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
411
+ mostlyclean-generic:
412
+
413
+ clean-generic:
414
+
415
+ distclean-generic:
416
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
417
+
418
+ maintainer-clean-generic:
419
+ @echo "This command is intended for maintainers to use"
420
+ @echo "it deletes files that may require special tools to rebuild."
421
+ clean: clean-recursive
422
+
423
+ clean-am: clean-generic clean-libtool mostlyclean-am
424
+
425
+ distclean: distclean-recursive
426
+ -rm -f Makefile
427
+ distclean-am: clean-am distclean-generic distclean-tags
428
+
429
+ dvi: dvi-recursive
430
+
431
+ dvi-am:
432
+
433
+ html: html-recursive
434
+
435
+ info: info-recursive
436
+
437
+ info-am:
438
+
439
+ install-data-am:
440
+
441
+ install-dvi: install-dvi-recursive
442
+
443
+ install-exec-am:
444
+
445
+ install-html: install-html-recursive
446
+
447
+ install-info: install-info-recursive
448
+
449
+ install-man:
450
+
451
+ install-pdf: install-pdf-recursive
452
+
453
+ install-ps: install-ps-recursive
454
+
455
+ installcheck-am:
456
+
457
+ maintainer-clean: maintainer-clean-recursive
458
+ -rm -f Makefile
459
+ maintainer-clean-am: distclean-am maintainer-clean-generic
460
+
461
+ mostlyclean: mostlyclean-recursive
462
+
463
+ mostlyclean-am: mostlyclean-generic mostlyclean-libtool
464
+
465
+ pdf: pdf-recursive
466
+
467
+ pdf-am:
468
+
469
+ ps: ps-recursive
470
+
471
+ ps-am:
472
+
473
+ uninstall-am:
474
+
475
+ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
476
+ install-strip
477
+
478
+ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
479
+ all all-am check check-am clean clean-generic clean-libtool \
480
+ ctags ctags-recursive distclean distclean-generic \
481
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
482
+ html-am info info-am install install-am install-data \
483
+ install-data-am install-dvi install-dvi-am install-exec \
484
+ install-exec-am install-html install-html-am install-info \
485
+ install-info-am install-man install-pdf install-pdf-am \
486
+ install-ps install-ps-am install-strip installcheck \
487
+ installcheck-am installdirs installdirs-am maintainer-clean \
488
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
489
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
490
+ uninstall uninstall-am
491
+
492
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
493
+ # Otherwise a system limit (for SysV at least) may be exceeded.
494
+ .NOEXPORT: