nutcracker 0.2.4.mac9 → 0.2.4.1

Sign up to get free protection for your applications and to get access to all the features.
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
File without changes
@@ -35,7 +35,7 @@ To build nutcracker from source with _debug logs enabled_ and _assertions disabl
35
35
  + Supports proxying to multiple servers.
36
36
  + Supports multiple server pools simultaneously.
37
37
  + Shard data automatically across multiple servers.
38
- + Implements the complete [memcached ascii](notes/memcache.txt) and [redis](notes/redis.md) protocol.
38
+ + Implements the complete [memcached ascii](https://github.com/twitter/twemproxy/blob/master/notes/memcache.txt) and [redis](https://github.com/twitter/twemproxy/blob/master/notes/redis.md) protocol.
39
39
  + Easy configuration of server pools through a YAML file.
40
40
  + Supports multiple hashing modes including consistent hashing and distribution.
41
41
  + Can be configured to disable nodes on failures.
@@ -76,7 +76,6 @@ nutcracker can be configured through a YAML file specified by the -c or --conf-f
76
76
  + **hash**: The name of the hash function. Possible values are:
77
77
  + one_at_a_time
78
78
  + md5
79
- + crc16
80
79
  + crc32
81
80
  + fnv1_64
82
81
  + fnv1a_64
@@ -85,7 +84,7 @@ nutcracker can be configured through a YAML file specified by the -c or --conf-f
85
84
  + hsieh
86
85
  + murmur
87
86
  + jenkins
88
- + **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](notes/recommendation.md#hash-tags) enable mapping different keys to the same server as long as the part of the key within the tag is the same.
87
+ + **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](https://github.com/twitter/twemproxy/blob/master/notes/recommendation.md#hash-tags) enable mapping different keys to the same server as long as the part of the key within the tag is the same.
89
88
  + **distribution**: The key distribution mode. Possible values are:
90
89
  + ketama
91
90
  + modula
@@ -95,13 +94,13 @@ nutcracker can be configured through a YAML file specified by the -c or --conf-f
95
94
  + **preconnect**: A boolean value that controls if nutcracker should preconnect to all the servers in this pool on process start. Defaults to false.
96
95
  + **redis**: A boolean value that controls if a server pool speaks redis or memcached protocol. Defaults to false.
97
96
  + **server_connections**: The maximum number of connections that can be opened to each server. By default, we open at most 1 server connection.
98
- + **auto_eject_hosts**: A boolean value that controls if server should be ejected temporarily when it fails consecutively server_failure_limit times. See [liveness recommendations](notes/recommendation.md#liveness) for information. Defaults to false.
97
+ + **auto_eject_hosts**: A boolean value that controls if server should be ejected temporarily when it fails consecutively server_failure_limit times. Defaults to false.
99
98
  + **server_retry_timeout**: The timeout value in msec to wait for before retrying on a temporarily ejected server, when auto_eject_host is set to true. Defaults to 30000 msec.
100
99
  + **server_failure_limit**: The number of conseutive failures on a server that would leads to it being temporarily ejected when auto_eject_host is set to true. Defaults to 2.
101
100
  + **servers**: A list of server address, port and weight (name:port:weight or ip:port:weight) for this server pool.
102
101
 
103
102
 
104
- For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml), also shown below, configures 5 server pools with names - _alpha_, _beta_, _gamma_, _delta_ and omega. Clients that intend to send requests to one of the 10 servers in pool delta connect to port 22124 on 127.0.0.1. Clients that intend to send request to one of 2 servers in pool omega connect to unix path /tmp/gamma. Requests sent to pool alpha and omega have no timeout and might require timeout functionality to be implemented on the client side. On the other hand, requests sent to pool beta, gamma and delta timeout after 400 msec, 400 msec and 100 msec respectively when no response is received from the server. Of the 5 server pools, only pools alpha, gamma and delta are configured to use server ejection and hence are resilient to server failures. All the 5 server pools use ketama consistent hashing for key distribution with the key hasher for pools alpha, beta, gamma and delta set to fnv1a_64 while that for pool omega set to hsieh. Also only pool beta uses [nodes names](notes/recommendation.md#node-names-for-consistent-hashing) for consistent hashing, while pool alpha, gamma, delta and omega use 'host:port:weight' for consistent hashing. Finally, only pool alpha and beta can speak redis protocol, while pool gamma, deta and omega speak memcached protocol.
103
+ For example, the configuration file in [conf/nutcracker.yml](https://github.com/twitter/twemproxy/blob/master/conf/nutcracker.yml), also shown below, configures 5 server pools with names - _alpha_, _beta_, _gamma_, _delta_ and omega. Clients that intend to send requests to one of the 10 servers in pool delta connect to port 22124 on 127.0.0.1. Clients that intend to send request to one of 2 servers in pool omega connect to unix path /tmp/gamma. Requests sent to pool alpha and omega have no timeout and might require timeout functionality to be implemented on the client side. On the other hand, requests sent to pool beta, gamma and delta timeout after 400 msec, 400 msec and 100 msec respectively when no response is received from the server. Of the 5 server pools, only pools alpha, gamma and deleta are configured to use server ejection and hence are resilient to server failures. All the 5 server pools use ketama consistent hashing for key distribution with the key hasher for pools alpha, beta, gamma and delta set to fnv1a_64 while that for pool omega set to hsieh. Also only pool beta uses [nodes names](https://github.com/twitter/twemproxy/blob/master/notes/recommendation.md#node-names-for-consistent-hashing) for consistent hashing, while pool alpha, gamma, delta and omega use 'host:port:weight' for consistent hashing. Finally, only pool alpha and beta can speak redis protocol, while pool gamma, deta and omega speak memcached protocol.
105
104
 
106
105
  alpha:
107
106
  listen: 127.0.0.1:22121
@@ -113,7 +112,7 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml
113
112
  server_failure_limit: 1
114
113
  servers:
115
114
  - 127.0.0.1:6379:1
116
-
115
+
117
116
  beta:
118
117
  listen: 127.0.0.1:22122
119
118
  hash: fnv1a_64
@@ -127,7 +126,7 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml
127
126
  - 127.0.0.1:6381:1 server2
128
127
  - 127.0.0.1:6382:1 server3
129
128
  - 127.0.0.1:6383:1 server4
130
-
129
+
131
130
  gamma:
132
131
  listen: 127.0.0.1:22123
133
132
  hash: fnv1a_64
@@ -141,7 +140,7 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml
141
140
  servers:
142
141
  - 127.0.0.1:11212:1
143
142
  - 127.0.0.1:11213:1
144
-
143
+
145
144
  delta:
146
145
  listen: 127.0.0.1:22124
147
146
  hash: fnv1a_64
@@ -161,7 +160,7 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml
161
160
  - 127.0.0.1:11221:1
162
161
  - 127.0.0.1:11222:1
163
162
  - 127.0.0.1:11223:1
164
-
163
+
165
164
  omega:
166
165
  listen: /tmp/gamma
167
166
  hash: hsieh
@@ -170,7 +169,7 @@ For example, the configuration file in [conf/nutcracker.yml](conf/nutcracker.yml
170
169
  servers:
171
170
  - 127.0.0.1:11214:100000
172
171
  - 127.0.0.1:11215:1
173
-
172
+
174
173
  Finally, to make writing syntactically correct configuration file easier, nutcracker provides a command-line argument -t or --test-conf that can be used to test the YAML configuration file for any syntax error.
175
174
 
176
175
  ## Observability
@@ -208,7 +207,7 @@ Logging in nutcracker is only available when nutcracker is built with logging en
208
207
  ## Pipelining
209
208
 
210
209
 
211
- Nutcracker enables proxying multiple client connections onto one or few server connections. This architectural setup makes it ideal for pipelining requests and responses and hence saving on the round trip time.
210
+ Nutcracker enables proxying multiple client connections onto one or few server connections. This architectural setup makes it ideal for pipelining requests and responses and hence saving on the round trip time.
212
211
 
213
212
  For example, if nutcracker is proxing three client connections onto a single server and we get requests - 'get key\r\n', 'set key 0 0 3\r\nval\r\n' and 'delete key\r\n' on these three connections respectively, nutcracker would try to batch these requests and send them as a single message onto the server connection as 'get key\r\nset key 0 0 3\r\nval\r\ndelete key\r\n'.
214
213
 
@@ -216,14 +215,13 @@ Pipelining is the reason why nutcracker ends up doing better in terms of through
216
215
 
217
216
  ## Deployment
218
217
 
219
- If you are deploying nutcracker in production, you might consider reading through the [recommendation document](notes/recommendation.md) to understand the parameters you could tune in nutcracker to run it efficiently in the production environment.
218
+ If you are deploying nutcracker in production, you might consider reading through the [recommendation document](https://github.com/twitter/twemproxy/blob/master/notes/recommendation.md) to understand the parameters you could tune in nutcracker to run it efficiently in the production environment.
220
219
 
221
220
  ## Users
222
221
  + [Pinterest](http://pinterest.com/)
223
222
  + [Tumblr](https://www.tumblr.com/)
224
223
  + [Twitter](https://twitter.com/)
225
224
  + [Vine](http://vine.co/)
226
- + [Kiip](http://www.kiip.me/)
227
225
 
228
226
  ## Issues and Support
229
227
 
@@ -1,7 +1,7 @@
1
- # generated automatically by aclocal 1.10 -*- Autoconf -*-
1
+ # generated automatically by aclocal 1.11 -*- Autoconf -*-
2
2
 
3
3
  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4
- # 2005, 2006 Free Software Foundation, Inc.
4
+ # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5
5
  # This file is free software; the Free Software Foundation
6
6
  # gives unlimited permission to copy and/or distribute it,
7
7
  # with or without modifications, as long as this notice is preserved.
@@ -11,12 +11,15 @@
11
11
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12
12
  # PARTICULAR PURPOSE.
13
13
 
14
- m4_if(m4_PACKAGE_VERSION, [2.69],,
15
- [m4_fatal([this file was generated for autoconf 2.69.
16
- You have another version of autoconf. If you want to use that,
17
- you should regenerate the build system entirely.], [63])])
14
+ m4_ifndef([AC_AUTOCONF_VERSION],
15
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16
+ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
17
+ [m4_warning([this file was generated for autoconf 2.64.
18
+ You have another version of autoconf. It may work, but is not guaranteed to.
19
+ If you have problems, you may need to regenerate the build system entirely.
20
+ To do so, use the procedure documented by the package, typically `autoreconf'.])])
18
21
 
19
- # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
22
+ # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
20
23
  #
21
24
  # This file is free software; the Free Software Foundation
22
25
  # gives unlimited permission to copy and/or distribute it,
@@ -28,10 +31,10 @@ you should regenerate the build system entirely.], [63])])
28
31
  # generated from the m4 files accompanying Automake X.Y.
29
32
  # (This private macro should not be called outside this file.)
30
33
  AC_DEFUN([AM_AUTOMAKE_VERSION],
31
- [am__api_version='1.10'
34
+ [am__api_version='1.11'
32
35
  dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
33
36
  dnl require some minimum version. Point them to the right macro.
34
- m4_if([$1], [1.10], [],
37
+ m4_if([$1], [1.11], [],
35
38
  [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
36
39
  ])
37
40
 
@@ -45,10 +48,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
45
48
  # AM_SET_CURRENT_AUTOMAKE_VERSION
46
49
  # -------------------------------
47
50
  # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
48
- # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
51
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
49
52
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
50
- [AM_AUTOMAKE_VERSION([1.10])dnl
51
- _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
53
+ [AM_AUTOMAKE_VERSION([1.11])dnl
54
+ m4_ifndef([AC_AUTOCONF_VERSION],
55
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
52
57
 
53
58
  # AM_AUX_DIR_EXPAND -*- Autoconf -*-
54
59
 
@@ -105,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
105
110
 
106
111
  # AM_CONDITIONAL -*- Autoconf -*-
107
112
 
108
- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
113
+ # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
109
114
  # Free Software Foundation, Inc.
110
115
  #
111
116
  # This file is free software; the Free Software Foundation
112
117
  # gives unlimited permission to copy and/or distribute it,
113
118
  # with or without modifications, as long as this notice is preserved.
114
119
 
115
- # serial 8
120
+ # serial 9
116
121
 
117
122
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
118
123
  # -------------------------------------
@@ -125,6 +130,7 @@ AC_SUBST([$1_TRUE])dnl
125
130
  AC_SUBST([$1_FALSE])dnl
126
131
  _AM_SUBST_NOTMAKE([$1_TRUE])dnl
127
132
  _AM_SUBST_NOTMAKE([$1_FALSE])dnl
133
+ m4_define([_AM_COND_VALUE_$1], [$2])dnl
128
134
  if $2; then
129
135
  $1_TRUE=
130
136
  $1_FALSE='#'
@@ -138,14 +144,14 @@ AC_CONFIG_COMMANDS_PRE(
138
144
  Usually this means the macro was only invoked conditionally.]])
139
145
  fi])])
140
146
 
141
- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
147
+ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
142
148
  # Free Software Foundation, Inc.
143
149
  #
144
150
  # This file is free software; the Free Software Foundation
145
151
  # gives unlimited permission to copy and/or distribute it,
146
152
  # with or without modifications, as long as this notice is preserved.
147
153
 
148
- # serial 9
154
+ # serial 10
149
155
 
150
156
  # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
151
157
  # written in clear, in which case automake, when reading aclocal.m4,
@@ -202,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
202
208
  if test "$am_compiler_list" = ""; then
203
209
  am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
204
210
  fi
211
+ am__universal=false
212
+ m4_case([$1], [CC],
213
+ [case " $depcc " in #(
214
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
215
+ esac],
216
+ [CXX],
217
+ [case " $depcc " in #(
218
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
219
+ esac])
220
+
205
221
  for depmode in $am_compiler_list; do
206
222
  # Setup a source with many dependencies, because some compilers
207
223
  # like to wrap large dependency lists on column 80 (with \), and
@@ -219,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc],
219
235
  done
220
236
  echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
221
237
 
238
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
239
+ # mode. It turns out that the SunPro C++ compiler does not properly
240
+ # handle `-M -o', and we need to detect this. Also, some Intel
241
+ # versions had trouble with output in subdirs
242
+ am__obj=sub/conftest.${OBJEXT-o}
243
+ am__minus_obj="-o $am__obj"
222
244
  case $depmode in
245
+ gcc)
246
+ # This depmode causes a compiler race in universal mode.
247
+ test "$am__universal" = false || continue
248
+ ;;
223
249
  nosideeffect)
224
250
  # after this tag, mechanisms are not by side-effect, so they'll
225
251
  # only be used when explicitly requested
@@ -229,19 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc],
229
255
  break
230
256
  fi
231
257
  ;;
258
+ msvisualcpp | msvcmsys)
259
+ # This compiler won't grok `-c -o', but also, the minuso test has
260
+ # not run yet. These depmodes are late enough in the game, and
261
+ # so weak that their functioning should not be impacted.
262
+ am__obj=conftest.${OBJEXT-o}
263
+ am__minus_obj=
264
+ ;;
232
265
  none) break ;;
233
266
  esac
234
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
235
- # mode. It turns out that the SunPro C++ compiler does not properly
236
- # handle `-M -o', and we need to detect this.
237
267
  if depmode=$depmode \
238
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
268
+ source=sub/conftest.c object=$am__obj \
239
269
  depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
240
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
270
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
241
271
  >/dev/null 2>conftest.err &&
242
272
  grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
243
273
  grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
244
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
274
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
245
275
  ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
246
276
  # icc doesn't choke on unknown options, it will just issue warnings
247
277
  # or remarks (even with -Werror). So we grep stderr for any message
@@ -298,57 +328,68 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
298
328
 
299
329
  # Generate code to set up dependency tracking. -*- Autoconf -*-
300
330
 
301
- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
331
+ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
302
332
  # Free Software Foundation, Inc.
303
333
  #
304
334
  # This file is free software; the Free Software Foundation
305
335
  # gives unlimited permission to copy and/or distribute it,
306
336
  # with or without modifications, as long as this notice is preserved.
307
337
 
308
- #serial 3
338
+ #serial 5
309
339
 
310
340
  # _AM_OUTPUT_DEPENDENCY_COMMANDS
311
341
  # ------------------------------
312
342
  AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
313
- [for mf in $CONFIG_FILES; do
314
- # Strip MF so we end up with the name of the file.
315
- mf=`echo "$mf" | sed -e 's/:.*$//'`
316
- # Check whether this is an Automake generated Makefile or not.
317
- # We used to match only the files named `Makefile.in', but
318
- # some people rename them; so instead we look at the file content.
319
- # Grep'ing the first line is not enough: some people post-process
320
- # each Makefile.in and add a new line on top of each file to say so.
321
- # Grep'ing the whole file is not good either: AIX grep has a line
322
- # limit of 2048, but all sed's we know have understand at least 4000.
323
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
324
- dirpart=`AS_DIRNAME("$mf")`
325
- else
326
- continue
327
- fi
328
- # Extract the definition of DEPDIR, am__include, and am__quote
329
- # from the Makefile without running `make'.
330
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
331
- test -z "$DEPDIR" && continue
332
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
333
- test -z "am__include" && continue
334
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
335
- # When using ansi2knr, U may be empty or an underscore; expand it
336
- U=`sed -n 's/^U = //p' < "$mf"`
337
- # Find all dependency output files, they are included files with
338
- # $(DEPDIR) in their names. We invoke sed twice because it is the
339
- # simplest approach to changing $(DEPDIR) to its actual value in the
340
- # expansion.
341
- for file in `sed -n "
342
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
343
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
344
- # Make sure the directory exists.
345
- test -f "$dirpart/$file" && continue
346
- fdir=`AS_DIRNAME(["$file"])`
347
- AS_MKDIR_P([$dirpart/$fdir])
348
- # echo "creating $dirpart/$file"
349
- echo '# dummy' > "$dirpart/$file"
343
+ [{
344
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
345
+ # are listed without --file. Let's play safe and only enable the eval
346
+ # if we detect the quoting.
347
+ case $CONFIG_FILES in
348
+ *\'*) eval set x "$CONFIG_FILES" ;;
349
+ *) set x $CONFIG_FILES ;;
350
+ esac
351
+ shift
352
+ for mf
353
+ do
354
+ # Strip MF so we end up with the name of the file.
355
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
356
+ # Check whether this is an Automake generated Makefile or not.
357
+ # We used to match only the files named `Makefile.in', but
358
+ # some people rename them; so instead we look at the file content.
359
+ # Grep'ing the first line is not enough: some people post-process
360
+ # each Makefile.in and add a new line on top of each file to say so.
361
+ # Grep'ing the whole file is not good either: AIX grep has a line
362
+ # limit of 2048, but all sed's we know have understand at least 4000.
363
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
364
+ dirpart=`AS_DIRNAME("$mf")`
365
+ else
366
+ continue
367
+ fi
368
+ # Extract the definition of DEPDIR, am__include, and am__quote
369
+ # from the Makefile without running `make'.
370
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
371
+ test -z "$DEPDIR" && continue
372
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
373
+ test -z "am__include" && continue
374
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
375
+ # When using ansi2knr, U may be empty or an underscore; expand it
376
+ U=`sed -n 's/^U = //p' < "$mf"`
377
+ # Find all dependency output files, they are included files with
378
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
379
+ # simplest approach to changing $(DEPDIR) to its actual value in the
380
+ # expansion.
381
+ for file in `sed -n "
382
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
383
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
384
+ # Make sure the directory exists.
385
+ test -f "$dirpart/$file" && continue
386
+ fdir=`AS_DIRNAME(["$file"])`
387
+ AS_MKDIR_P([$dirpart/$fdir])
388
+ # echo "creating $dirpart/$file"
389
+ echo '# dummy' > "$dirpart/$file"
390
+ done
350
391
  done
351
- done
392
+ }
352
393
  ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
353
394
 
354
395
 
@@ -368,13 +409,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
368
409
  # Do all the work for Automake. -*- Autoconf -*-
369
410
 
370
411
  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
371
- # 2005, 2006 Free Software Foundation, Inc.
412
+ # 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
372
413
  #
373
414
  # This file is free software; the Free Software Foundation
374
415
  # gives unlimited permission to copy and/or distribute it,
375
416
  # with or without modifications, as long as this notice is preserved.
376
417
 
377
- # serial 12
418
+ # serial 16
378
419
 
379
420
  # This macro actually does too much. Some checks are only needed if
380
421
  # your package does certain things. But this isn't really a big deal.
@@ -391,7 +432,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
391
432
  # arguments mandatory, and then we can depend on a new Autoconf
392
433
  # release and drop the old call support.
393
434
  AC_DEFUN([AM_INIT_AUTOMAKE],
394
- [AC_PREREQ([2.60])dnl
435
+ [AC_PREREQ([2.62])dnl
395
436
  dnl Autoconf wants to disallow AM_ names. We explicitly allow
396
437
  dnl the ones we care about.
397
438
  m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -442,8 +483,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
442
483
  AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
443
484
  AM_MISSING_PROG(AUTOHEADER, autoheader)
444
485
  AM_MISSING_PROG(MAKEINFO, makeinfo)
445
- AM_PROG_INSTALL_SH
446
- AM_PROG_INSTALL_STRIP
486
+ AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
487
+ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
447
488
  AC_REQUIRE([AM_PROG_MKDIR_P])dnl
448
489
  # We need awk for the "check" target. The system "awk" is bad on
449
490
  # some platforms.
@@ -451,24 +492,37 @@ AC_REQUIRE([AC_PROG_AWK])dnl
451
492
  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
452
493
  AC_REQUIRE([AM_SET_LEADING_DOT])dnl
453
494
  _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
454
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
455
- [_AM_PROG_TAR([v7])])])
495
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
496
+ [_AM_PROG_TAR([v7])])])
456
497
  _AM_IF_OPTION([no-dependencies],,
457
498
  [AC_PROVIDE_IFELSE([AC_PROG_CC],
458
- [_AM_DEPENDENCIES(CC)],
459
- [define([AC_PROG_CC],
460
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
499
+ [_AM_DEPENDENCIES(CC)],
500
+ [define([AC_PROG_CC],
501
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
461
502
  AC_PROVIDE_IFELSE([AC_PROG_CXX],
462
- [_AM_DEPENDENCIES(CXX)],
463
- [define([AC_PROG_CXX],
464
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
503
+ [_AM_DEPENDENCIES(CXX)],
504
+ [define([AC_PROG_CXX],
505
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
465
506
  AC_PROVIDE_IFELSE([AC_PROG_OBJC],
466
- [_AM_DEPENDENCIES(OBJC)],
467
- [define([AC_PROG_OBJC],
468
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
507
+ [_AM_DEPENDENCIES(OBJC)],
508
+ [define([AC_PROG_OBJC],
509
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
469
510
  ])
511
+ _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
512
+ dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
513
+ dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
514
+ dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
515
+ AC_CONFIG_COMMANDS_PRE(dnl
516
+ [m4_provide_if([_AM_COMPILER_EXEEXT],
517
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
470
518
  ])
471
519
 
520
+ dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
521
+ dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
522
+ dnl mangled by Autoconf and run in a shell conditional statement.
523
+ m4_define([_AC_COMPILER_EXEEXT],
524
+ m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
525
+
472
526
 
473
527
  # When config.status generates a header, we must update the stamp-h file.
474
528
  # This file resides in the same directory as the config header
@@ -479,18 +533,19 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
479
533
  # our stamp files there.
480
534
  AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
481
535
  [# Compute $1's index in $config_headers.
536
+ _am_arg=$1
482
537
  _am_stamp_count=1
483
538
  for _am_header in $config_headers :; do
484
539
  case $_am_header in
485
- $1 | $1:* )
540
+ $_am_arg | $_am_arg:* )
486
541
  break ;;
487
542
  * )
488
543
  _am_stamp_count=`expr $_am_stamp_count + 1` ;;
489
544
  esac
490
545
  done
491
- echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
546
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
492
547
 
493
- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
548
+ # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
494
549
  #
495
550
  # This file is free software; the Free Software Foundation
496
551
  # gives unlimited permission to copy and/or distribute it,
@@ -501,7 +556,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
501
556
  # Define $install_sh.
502
557
  AC_DEFUN([AM_PROG_INSTALL_SH],
503
558
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
504
- install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
559
+ if test x"${install_sh}" != xset; then
560
+ case $am_aux_dir in
561
+ *\ * | *\ *)
562
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
563
+ *)
564
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
565
+ esac
566
+ fi
505
567
  AC_SUBST(install_sh)])
506
568
 
507
569
  # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@@ -527,13 +589,13 @@ AC_SUBST([am__leading_dot])])
527
589
 
528
590
  # Check to see how 'make' treats includes. -*- Autoconf -*-
529
591
 
530
- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
592
+ # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
531
593
  #
532
594
  # This file is free software; the Free Software Foundation
533
595
  # gives unlimited permission to copy and/or distribute it,
534
596
  # with or without modifications, as long as this notice is preserved.
535
597
 
536
- # serial 3
598
+ # serial 4
537
599
 
538
600
  # AM_MAKE_INCLUDE()
539
601
  # -----------------
@@ -542,7 +604,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
542
604
  [am_make=${MAKE-make}
543
605
  cat > confinc << 'END'
544
606
  am__doit:
545
- @echo done
607
+ @echo this is the am__doit target
546
608
  .PHONY: am__doit
547
609
  END
548
610
  # If we don't find an include directive, just comment out the code.
@@ -552,24 +614,24 @@ am__quote=
552
614
  _am_result=none
553
615
  # First try GNU make style include.
554
616
  echo "include confinc" > confmf
555
- # We grep out `Entering directory' and `Leaving directory'
556
- # messages which can occur if `w' ends up in MAKEFLAGS.
557
- # In particular we don't look at `^make:' because GNU make might
558
- # be invoked under some other name (usually "gmake"), in which
559
- # case it prints its new name instead of `make'.
560
- if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
561
- am__include=include
562
- am__quote=
563
- _am_result=GNU
564
- fi
617
+ # Ignore all kinds of additional output from `make'.
618
+ case `$am_make -s -f confmf 2> /dev/null` in #(
619
+ *the\ am__doit\ target*)
620
+ am__include=include
621
+ am__quote=
622
+ _am_result=GNU
623
+ ;;
624
+ esac
565
625
  # Now try BSD make style include.
566
626
  if test "$am__include" = "#"; then
567
627
  echo '.include "confinc"' > confmf
568
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
569
- am__include=.include
570
- am__quote="\""
571
- _am_result=BSD
572
- fi
628
+ case `$am_make -s -f confmf 2> /dev/null` in #(
629
+ *the\ am__doit\ target*)
630
+ am__include=.include
631
+ am__quote="\""
632
+ _am_result=BSD
633
+ ;;
634
+ esac
573
635
  fi
574
636
  AC_SUBST([am__include])
575
637
  AC_SUBST([am__quote])
@@ -579,14 +641,14 @@ rm -f confinc confmf
579
641
 
580
642
  # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
581
643
 
582
- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
644
+ # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
583
645
  # Free Software Foundation, Inc.
584
646
  #
585
647
  # This file is free software; the Free Software Foundation
586
648
  # gives unlimited permission to copy and/or distribute it,
587
649
  # with or without modifications, as long as this notice is preserved.
588
650
 
589
- # serial 5
651
+ # serial 6
590
652
 
591
653
  # AM_MISSING_PROG(NAME, PROGRAM)
592
654
  # ------------------------------
@@ -603,7 +665,14 @@ AC_SUBST($1)])
603
665
  AC_DEFUN([AM_MISSING_HAS_RUN],
604
666
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
605
667
  AC_REQUIRE_AUX_FILE([missing])dnl
606
- test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
668
+ if test x"${MISSING+set}" != xset; then
669
+ case $am_aux_dir in
670
+ *\ * | *\ *)
671
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
672
+ *)
673
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
674
+ esac
675
+ fi
607
676
  # Use eval to expand $SHELL
608
677
  if eval "$MISSING --run true"; then
609
678
  am_missing_run="$MISSING --run "
@@ -641,13 +710,13 @@ esac
641
710
 
642
711
  # Helper functions for option handling. -*- Autoconf -*-
643
712
 
644
- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
713
+ # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
645
714
  #
646
715
  # This file is free software; the Free Software Foundation
647
716
  # gives unlimited permission to copy and/or distribute it,
648
717
  # with or without modifications, as long as this notice is preserved.
649
718
 
650
- # serial 3
719
+ # serial 4
651
720
 
652
721
  # _AM_MANGLE_OPTION(NAME)
653
722
  # -----------------------
@@ -664,7 +733,7 @@ AC_DEFUN([_AM_SET_OPTION],
664
733
  # ----------------------------------
665
734
  # OPTIONS is a space-separated list of Automake options.
666
735
  AC_DEFUN([_AM_SET_OPTIONS],
667
- [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
736
+ [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
668
737
 
669
738
  # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
670
739
  # -------------------------------------------
@@ -674,14 +743,14 @@ AC_DEFUN([_AM_IF_OPTION],
674
743
 
675
744
  # Check to make sure that the build environment is sane. -*- Autoconf -*-
676
745
 
677
- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
746
+ # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
678
747
  # Free Software Foundation, Inc.
679
748
  #
680
749
  # This file is free software; the Free Software Foundation
681
750
  # gives unlimited permission to copy and/or distribute it,
682
751
  # with or without modifications, as long as this notice is preserved.
683
752
 
684
- # serial 4
753
+ # serial 5
685
754
 
686
755
  # AM_SANITY_CHECK
687
756
  # ---------------
@@ -690,16 +759,29 @@ AC_DEFUN([AM_SANITY_CHECK],
690
759
  # Just in case
691
760
  sleep 1
692
761
  echo timestamp > conftest.file
762
+ # Reject unsafe characters in $srcdir or the absolute working directory
763
+ # name. Accept space and tab only in the latter.
764
+ am_lf='
765
+ '
766
+ case `pwd` in
767
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
768
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
769
+ esac
770
+ case $srcdir in
771
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
772
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
773
+ esac
774
+
693
775
  # Do `set' in a subshell so we don't clobber the current shell's
694
776
  # arguments. Must try -L first in case configure is actually a
695
777
  # symlink; some systems play weird games with the mod time of symlinks
696
778
  # (eg FreeBSD returns the mod time of the symlink's containing
697
779
  # directory).
698
780
  if (
699
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
781
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
700
782
  if test "$[*]" = "X"; then
701
783
  # -L didn't work.
702
- set X `ls -t $srcdir/configure conftest.file`
784
+ set X `ls -t "$srcdir/configure" conftest.file`
703
785
  fi
704
786
  rm -f conftest.file
705
787
  if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -752,18 +834,25 @@ fi
752
834
  INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
753
835
  AC_SUBST([INSTALL_STRIP_PROGRAM])])
754
836
 
755
- # Copyright (C) 2006 Free Software Foundation, Inc.
837
+ # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
756
838
  #
757
839
  # This file is free software; the Free Software Foundation
758
840
  # gives unlimited permission to copy and/or distribute it,
759
841
  # with or without modifications, as long as this notice is preserved.
760
842
 
843
+ # serial 2
844
+
761
845
  # _AM_SUBST_NOTMAKE(VARIABLE)
762
846
  # ---------------------------
763
- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
847
+ # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
764
848
  # This macro is traced by Automake.
765
849
  AC_DEFUN([_AM_SUBST_NOTMAKE])
766
850
 
851
+ # AM_SUBST_NOTMAKE(VARIABLE)
852
+ # ---------------------------
853
+ # Public sister of _AM_SUBST_NOTMAKE.
854
+ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
855
+
767
856
  # Check how to create a tarball. -*- Autoconf -*-
768
857
 
769
858
  # Copyright (C) 2004, 2005 Free Software Foundation, Inc.