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.
- data/README.md +53 -5
- data/Rakefile +14 -19
- data/bin/nutcracker +6 -1
- data/ext/nutcracker/ChangeLog +9 -0
- data/ext/nutcracker/LICENSE +0 -0
- data/ext/nutcracker/Makefile +643 -0
- data/ext/nutcracker/Makefile.am +0 -0
- data/ext/nutcracker/Makefile.in +66 -149
- data/ext/nutcracker/NOTICE +0 -0
- data/ext/nutcracker/README.md +13 -11
- data/ext/nutcracker/aclocal.m4 +112 -201
- data/ext/nutcracker/autom4te.cache/output.0 +18664 -0
- data/ext/nutcracker/autom4te.cache/output.1 +18664 -0
- data/ext/nutcracker/autom4te.cache/output.2 +18664 -0
- data/ext/nutcracker/autom4te.cache/requests +494 -0
- data/ext/nutcracker/autom4te.cache/traces.0 +2415 -0
- data/ext/nutcracker/autom4te.cache/traces.1 +945 -0
- data/ext/nutcracker/autom4te.cache/traces.2 +2415 -0
- data/ext/nutcracker/conf/nutcracker.leaf.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.root.yml +0 -0
- data/ext/nutcracker/conf/nutcracker.yml +0 -0
- data/ext/nutcracker/config.h +332 -0
- data/ext/nutcracker/config.h.in +15 -0
- data/ext/nutcracker/config.log +2684 -0
- data/ext/nutcracker/config.status +2317 -0
- data/ext/nutcracker/config/config.guess +23 -84
- data/ext/nutcracker/config/config.sub +23 -93
- data/ext/nutcracker/config/depcomp +35 -81
- data/ext/nutcracker/config/install-sh +109 -122
- data/ext/nutcracker/config/ltmain.sh +1053 -721
- data/ext/nutcracker/config/missing +20 -29
- data/ext/nutcracker/configure +2122 -2320
- data/ext/nutcracker/configure.ac +35 -3
- data/ext/nutcracker/contrib/Makefile +494 -0
- data/ext/nutcracker/contrib/Makefile.am +0 -0
- data/ext/nutcracker/contrib/Makefile.in +41 -107
- data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +736 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13102 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +13085 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +13085 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +476 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +2339 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +545 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2339 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h +81 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.log +688 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.status +2032 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +51 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/bc_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/classes.html +41 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/closed.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.css +656 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/doxygen.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/files.html +40 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +84 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +83 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +110 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +79 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +92 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +88 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +96 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +100 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +163 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +115 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +77 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +84 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +83 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +110 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +79 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +92 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +88 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +96 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +100 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +87 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +163 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +115 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +71 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +77 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +667 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +81 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +78 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +373 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +196 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +126 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +320 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +819 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +664 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +60 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +795 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +606 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +222 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +246 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +106 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +31 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +42 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_f.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/nav_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/open.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__alias__data__s.html +108 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +235 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +1300 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +496 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +108 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +420 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +1229 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +97 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +413 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +91 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_a.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_b.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_h.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tab_s.png +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/tabs.css +59 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +525 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +17 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +470 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/libtool +8890 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +484 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +41 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +12 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +1 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +675 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc +10 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +10 -0
- data/ext/nutcracker/extconf.rb +0 -5
- data/ext/nutcracker/libtool +9403 -0
- data/ext/nutcracker/m4/libtool.m4 +553 -492
- data/ext/nutcracker/m4/ltoptions.m4 +7 -6
- data/ext/nutcracker/m4/ltversion.m4 +5 -5
- data/ext/nutcracker/m4/lt~obsolete.m4 +9 -3
- data/ext/nutcracker/notes/c-styleguide.txt +0 -0
- data/ext/nutcracker/notes/debug.txt +0 -0
- data/ext/nutcracker/notes/memcache.txt +0 -0
- data/ext/nutcracker/notes/recommendation.md +21 -2
- data/ext/nutcracker/notes/redis.md +9 -9
- data/ext/nutcracker/notes/socket.txt +0 -0
- data/ext/nutcracker/scripts/nutcracker.init +0 -0
- data/ext/nutcracker/scripts/nutcracker.spec +0 -0
- data/ext/nutcracker/scripts/redis-check.py +0 -0
- data/ext/nutcracker/scripts/redis-check.sh +9 -0
- data/ext/nutcracker/src/Makefile +647 -0
- data/ext/nutcracker/src/Makefile.am +1 -1
- data/ext/nutcracker/src/Makefile.in +74 -153
- data/ext/nutcracker/src/hashkit/Makefile +476 -0
- data/ext/nutcracker/src/hashkit/Makefile.am +1 -0
- data/ext/nutcracker/src/hashkit/Makefile.in +39 -64
- data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.c +66 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_hashkit.h +2 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.c +18 -6
- data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
- data/ext/nutcracker/src/nc.c +0 -0
- data/ext/nutcracker/src/nc.o +0 -0
- data/ext/nutcracker/src/nc_array.c +0 -0
- data/ext/nutcracker/src/nc_array.h +0 -0
- data/ext/nutcracker/src/nc_array.o +0 -0
- data/ext/nutcracker/src/nc_client.c +0 -0
- data/ext/nutcracker/src/nc_client.h +0 -0
- data/ext/nutcracker/src/nc_client.o +0 -0
- data/ext/nutcracker/src/nc_conf.c +14 -35
- data/ext/nutcracker/src/nc_conf.h +1 -1
- data/ext/nutcracker/src/nc_conf.o +0 -0
- data/ext/nutcracker/src/nc_connection.c +0 -0
- data/ext/nutcracker/src/nc_connection.h +0 -0
- data/ext/nutcracker/src/nc_connection.o +0 -0
- data/ext/nutcracker/src/nc_core.c +29 -26
- data/ext/nutcracker/src/nc_core.h +13 -5
- data/ext/nutcracker/src/nc_core.o +0 -0
- data/ext/nutcracker/src/{nc_event.c → nc_epoll.c} +94 -30
- data/ext/nutcracker/src/nc_epoll.o +0 -0
- data/ext/nutcracker/src/nc_event.h +33 -13
- data/ext/nutcracker/src/nc_kqueue.c +296 -0
- data/ext/nutcracker/src/nc_kqueue.o +0 -0
- data/ext/nutcracker/src/nc_log.c +0 -0
- data/ext/nutcracker/src/nc_log.h +0 -0
- data/ext/nutcracker/src/nc_log.o +0 -0
- data/ext/nutcracker/src/nc_mbuf.c +0 -0
- data/ext/nutcracker/src/nc_mbuf.h +0 -0
- data/ext/nutcracker/src/nc_mbuf.o +0 -0
- data/ext/nutcracker/src/nc_message.c +0 -0
- data/ext/nutcracker/src/nc_message.h +2 -0
- data/ext/nutcracker/src/nc_message.o +0 -0
- data/ext/nutcracker/src/nc_proxy.c +8 -8
- data/ext/nutcracker/src/nc_proxy.h +0 -0
- data/ext/nutcracker/src/nc_proxy.o +0 -0
- data/ext/nutcracker/src/nc_queue.h +0 -0
- data/ext/nutcracker/src/nc_rbtree.c +0 -0
- data/ext/nutcracker/src/nc_rbtree.h +0 -0
- data/ext/nutcracker/src/nc_rbtree.o +0 -0
- data/ext/nutcracker/src/nc_request.c +3 -3
- data/ext/nutcracker/src/nc_request.o +0 -0
- data/ext/nutcracker/src/nc_response.c +4 -6
- data/ext/nutcracker/src/nc_response.o +0 -0
- data/ext/nutcracker/src/nc_server.c +14 -12
- data/ext/nutcracker/src/nc_server.h +0 -0
- data/ext/nutcracker/src/nc_server.o +0 -0
- data/ext/nutcracker/src/nc_signal.c +0 -0
- data/ext/nutcracker/src/nc_signal.h +0 -0
- data/ext/nutcracker/src/nc_signal.o +0 -0
- data/ext/nutcracker/src/nc_stats.c +16 -21
- data/ext/nutcracker/src/nc_stats.h +3 -4
- data/ext/nutcracker/src/nc_stats.o +0 -0
- data/ext/nutcracker/src/nc_string.c +0 -0
- data/ext/nutcracker/src/nc_string.h +0 -0
- data/ext/nutcracker/src/nc_string.o +0 -0
- data/ext/nutcracker/src/nc_util.c +16 -0
- data/ext/nutcracker/src/nc_util.h +1 -0
- data/ext/nutcracker/src/nc_util.o +0 -0
- data/ext/nutcracker/src/nutcracker +0 -0
- data/ext/nutcracker/src/proto/Makefile +454 -0
- data/ext/nutcracker/src/proto/Makefile.am +0 -0
- data/ext/nutcracker/src/proto/Makefile.in +32 -60
- data/ext/nutcracker/src/proto/libproto.a +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
- data/ext/nutcracker/src/proto/nc_proto.h +0 -0
- data/ext/nutcracker/src/proto/nc_redis.c +17 -4
- data/ext/nutcracker/src/proto/nc_redis.o +0 -0
- data/ext/nutcracker/stamp-h1 +1 -0
- data/lib/nutcracker.rb +64 -2
- data/lib/nutcracker/version.rb +1 -1
- metadata +237 -9
data/ext/nutcracker/NOTICE
CHANGED
File without changes
|
data/ext/nutcracker/README.md
CHANGED
@@ -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](
|
38
|
+
+ Implements the complete [memcached ascii](notes/memcache.txt) and [redis](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,6 +76,7 @@ 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
|
79
80
|
+ crc32
|
80
81
|
+ fnv1_64
|
81
82
|
+ fnv1a_64
|
@@ -84,7 +85,7 @@ nutcracker can be configured through a YAML file specified by the -c or --conf-f
|
|
84
85
|
+ hsieh
|
85
86
|
+ murmur
|
86
87
|
+ jenkins
|
87
|
-
+ **hash_tag**: A two character string that specifies the part of the key used for hashing. Eg "{}" or "$$". [Hash tag](
|
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.
|
88
89
|
+ **distribution**: The key distribution mode. Possible values are:
|
89
90
|
+ ketama
|
90
91
|
+ modula
|
@@ -94,13 +95,13 @@ nutcracker can be configured through a YAML file specified by the -c or --conf-f
|
|
94
95
|
+ **preconnect**: A boolean value that controls if nutcracker should preconnect to all the servers in this pool on process start. Defaults to false.
|
95
96
|
+ **redis**: A boolean value that controls if a server pool speaks redis or memcached protocol. Defaults to false.
|
96
97
|
+ **server_connections**: The maximum number of connections that can be opened to each server. By default, we open at most 1 server connection.
|
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.
|
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.
|
98
99
|
+ **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.
|
99
100
|
+ **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.
|
100
101
|
+ **servers**: A list of server address, port and weight (name:port:weight or ip:port:weight) for this server pool.
|
101
102
|
|
102
103
|
|
103
|
-
For example, the configuration file in [conf/nutcracker.yml](
|
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.
|
104
105
|
|
105
106
|
alpha:
|
106
107
|
listen: 127.0.0.1:22121
|
@@ -112,7 +113,7 @@ For example, the configuration file in [conf/nutcracker.yml](https://github.com/
|
|
112
113
|
server_failure_limit: 1
|
113
114
|
servers:
|
114
115
|
- 127.0.0.1:6379:1
|
115
|
-
|
116
|
+
|
116
117
|
beta:
|
117
118
|
listen: 127.0.0.1:22122
|
118
119
|
hash: fnv1a_64
|
@@ -126,7 +127,7 @@ For example, the configuration file in [conf/nutcracker.yml](https://github.com/
|
|
126
127
|
- 127.0.0.1:6381:1 server2
|
127
128
|
- 127.0.0.1:6382:1 server3
|
128
129
|
- 127.0.0.1:6383:1 server4
|
129
|
-
|
130
|
+
|
130
131
|
gamma:
|
131
132
|
listen: 127.0.0.1:22123
|
132
133
|
hash: fnv1a_64
|
@@ -140,7 +141,7 @@ For example, the configuration file in [conf/nutcracker.yml](https://github.com/
|
|
140
141
|
servers:
|
141
142
|
- 127.0.0.1:11212:1
|
142
143
|
- 127.0.0.1:11213:1
|
143
|
-
|
144
|
+
|
144
145
|
delta:
|
145
146
|
listen: 127.0.0.1:22124
|
146
147
|
hash: fnv1a_64
|
@@ -160,7 +161,7 @@ For example, the configuration file in [conf/nutcracker.yml](https://github.com/
|
|
160
161
|
- 127.0.0.1:11221:1
|
161
162
|
- 127.0.0.1:11222:1
|
162
163
|
- 127.0.0.1:11223:1
|
163
|
-
|
164
|
+
|
164
165
|
omega:
|
165
166
|
listen: /tmp/gamma
|
166
167
|
hash: hsieh
|
@@ -169,7 +170,7 @@ For example, the configuration file in [conf/nutcracker.yml](https://github.com/
|
|
169
170
|
servers:
|
170
171
|
- 127.0.0.1:11214:100000
|
171
172
|
- 127.0.0.1:11215:1
|
172
|
-
|
173
|
+
|
173
174
|
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.
|
174
175
|
|
175
176
|
## Observability
|
@@ -207,7 +208,7 @@ Logging in nutcracker is only available when nutcracker is built with logging en
|
|
207
208
|
## Pipelining
|
208
209
|
|
209
210
|
|
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.
|
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.
|
211
212
|
|
212
213
|
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'.
|
213
214
|
|
@@ -215,13 +216,14 @@ Pipelining is the reason why nutcracker ends up doing better in terms of through
|
|
215
216
|
|
216
217
|
## Deployment
|
217
218
|
|
218
|
-
If you are deploying nutcracker in production, you might consider reading through the [recommendation document](
|
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.
|
219
220
|
|
220
221
|
## Users
|
221
222
|
+ [Pinterest](http://pinterest.com/)
|
222
223
|
+ [Tumblr](https://www.tumblr.com/)
|
223
224
|
+ [Twitter](https://twitter.com/)
|
224
225
|
+ [Vine](http://vine.co/)
|
226
|
+
+ [Kiip](http://www.kiip.me/)
|
225
227
|
|
226
228
|
## Issues and Support
|
227
229
|
|
data/ext/nutcracker/aclocal.m4
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# generated automatically by aclocal 1.
|
1
|
+
# generated automatically by aclocal 1.10 -*- Autoconf -*-
|
2
2
|
|
3
3
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
4
|
-
# 2005, 2006
|
4
|
+
# 2005, 2006 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,15 +11,12 @@
|
|
11
11
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
12
12
|
# PARTICULAR PURPOSE.
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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'.])])
|
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])])
|
21
18
|
|
22
|
-
# Copyright (C) 2002, 2003, 2005, 2006
|
19
|
+
# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
|
23
20
|
#
|
24
21
|
# This file is free software; the Free Software Foundation
|
25
22
|
# gives unlimited permission to copy and/or distribute it,
|
@@ -31,10 +28,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
|
|
31
28
|
# generated from the m4 files accompanying Automake X.Y.
|
32
29
|
# (This private macro should not be called outside this file.)
|
33
30
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
34
|
-
[am__api_version='1.
|
31
|
+
[am__api_version='1.10'
|
35
32
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
36
33
|
dnl require some minimum version. Point them to the right macro.
|
37
|
-
m4_if([$1], [1.
|
34
|
+
m4_if([$1], [1.10], [],
|
38
35
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
39
36
|
])
|
40
37
|
|
@@ -48,12 +45,10 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
|
48
45
|
# AM_SET_CURRENT_AUTOMAKE_VERSION
|
49
46
|
# -------------------------------
|
50
47
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
51
|
-
# This function is AC_REQUIREd by
|
48
|
+
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
52
49
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
53
|
-
[AM_AUTOMAKE_VERSION([1.
|
54
|
-
|
55
|
-
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
56
|
-
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
50
|
+
[AM_AUTOMAKE_VERSION([1.10])dnl
|
51
|
+
_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
|
57
52
|
|
58
53
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
59
54
|
|
@@ -110,14 +105,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
|
|
110
105
|
|
111
106
|
# AM_CONDITIONAL -*- Autoconf -*-
|
112
107
|
|
113
|
-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
|
108
|
+
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
|
114
109
|
# Free Software Foundation, Inc.
|
115
110
|
#
|
116
111
|
# This file is free software; the Free Software Foundation
|
117
112
|
# gives unlimited permission to copy and/or distribute it,
|
118
113
|
# with or without modifications, as long as this notice is preserved.
|
119
114
|
|
120
|
-
# serial
|
115
|
+
# serial 8
|
121
116
|
|
122
117
|
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
|
123
118
|
# -------------------------------------
|
@@ -130,7 +125,6 @@ AC_SUBST([$1_TRUE])dnl
|
|
130
125
|
AC_SUBST([$1_FALSE])dnl
|
131
126
|
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
132
127
|
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
133
|
-
m4_define([_AM_COND_VALUE_$1], [$2])dnl
|
134
128
|
if $2; then
|
135
129
|
$1_TRUE=
|
136
130
|
$1_FALSE='#'
|
@@ -144,14 +138,14 @@ AC_CONFIG_COMMANDS_PRE(
|
|
144
138
|
Usually this means the macro was only invoked conditionally.]])
|
145
139
|
fi])])
|
146
140
|
|
147
|
-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
141
|
+
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
148
142
|
# Free Software Foundation, Inc.
|
149
143
|
#
|
150
144
|
# This file is free software; the Free Software Foundation
|
151
145
|
# gives unlimited permission to copy and/or distribute it,
|
152
146
|
# with or without modifications, as long as this notice is preserved.
|
153
147
|
|
154
|
-
# serial
|
148
|
+
# serial 9
|
155
149
|
|
156
150
|
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
|
157
151
|
# written in clear, in which case automake, when reading aclocal.m4,
|
@@ -208,16 +202,6 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|
208
202
|
if test "$am_compiler_list" = ""; then
|
209
203
|
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
|
210
204
|
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
|
-
|
221
205
|
for depmode in $am_compiler_list; do
|
222
206
|
# Setup a source with many dependencies, because some compilers
|
223
207
|
# like to wrap large dependency lists on column 80 (with \), and
|
@@ -235,17 +219,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|
235
219
|
done
|
236
220
|
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
|
237
221
|
|
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"
|
244
222
|
case $depmode in
|
245
|
-
gcc)
|
246
|
-
# This depmode causes a compiler race in universal mode.
|
247
|
-
test "$am__universal" = false || continue
|
248
|
-
;;
|
249
223
|
nosideeffect)
|
250
224
|
# after this tag, mechanisms are not by side-effect, so they'll
|
251
225
|
# only be used when explicitly requested
|
@@ -255,23 +229,19 @@ AC_CACHE_CHECK([dependency style of $depcc],
|
|
255
229
|
break
|
256
230
|
fi
|
257
231
|
;;
|
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
|
-
;;
|
265
232
|
none) break ;;
|
266
233
|
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.
|
267
237
|
if depmode=$depmode \
|
268
|
-
source=sub/conftest.c object
|
238
|
+
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
|
269
239
|
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
270
|
-
$SHELL ./depcomp $depcc -c
|
240
|
+
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
|
271
241
|
>/dev/null 2>conftest.err &&
|
272
242
|
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
273
243
|
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
274
|
-
grep
|
244
|
+
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
|
275
245
|
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
|
276
246
|
# icc doesn't choke on unknown options, it will just issue warnings
|
277
247
|
# or remarks (even with -Werror). So we grep stderr for any message
|
@@ -328,68 +298,57 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
|
328
298
|
|
329
299
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
330
300
|
|
331
|
-
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
301
|
+
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
332
302
|
# Free Software Foundation, Inc.
|
333
303
|
#
|
334
304
|
# This file is free software; the Free Software Foundation
|
335
305
|
# gives unlimited permission to copy and/or distribute it,
|
336
306
|
# with or without modifications, as long as this notice is preserved.
|
337
307
|
|
338
|
-
#serial
|
308
|
+
#serial 3
|
339
309
|
|
340
310
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
341
311
|
# ------------------------------
|
342
312
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
343
|
-
[
|
344
|
-
#
|
345
|
-
|
346
|
-
#
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
am__include
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
#
|
379
|
-
#
|
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
|
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"
|
391
350
|
done
|
392
|
-
|
351
|
+
done
|
393
352
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
394
353
|
|
395
354
|
|
@@ -409,13 +368,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
409
368
|
# Do all the work for Automake. -*- Autoconf -*-
|
410
369
|
|
411
370
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
412
|
-
# 2005, 2006
|
371
|
+
# 2005, 2006 Free Software Foundation, Inc.
|
413
372
|
#
|
414
373
|
# This file is free software; the Free Software Foundation
|
415
374
|
# gives unlimited permission to copy and/or distribute it,
|
416
375
|
# with or without modifications, as long as this notice is preserved.
|
417
376
|
|
418
|
-
# serial
|
377
|
+
# serial 12
|
419
378
|
|
420
379
|
# This macro actually does too much. Some checks are only needed if
|
421
380
|
# your package does certain things. But this isn't really a big deal.
|
@@ -432,7 +391,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
|
432
391
|
# arguments mandatory, and then we can depend on a new Autoconf
|
433
392
|
# release and drop the old call support.
|
434
393
|
AC_DEFUN([AM_INIT_AUTOMAKE],
|
435
|
-
[AC_PREREQ([2.
|
394
|
+
[AC_PREREQ([2.60])dnl
|
436
395
|
dnl Autoconf wants to disallow AM_ names. We explicitly allow
|
437
396
|
dnl the ones we care about.
|
438
397
|
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
|
@@ -483,8 +442,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf)
|
|
483
442
|
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
|
484
443
|
AM_MISSING_PROG(AUTOHEADER, autoheader)
|
485
444
|
AM_MISSING_PROG(MAKEINFO, makeinfo)
|
486
|
-
|
487
|
-
|
445
|
+
AM_PROG_INSTALL_SH
|
446
|
+
AM_PROG_INSTALL_STRIP
|
488
447
|
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
|
489
448
|
# We need awk for the "check" target. The system "awk" is bad on
|
490
449
|
# some platforms.
|
@@ -492,37 +451,24 @@ AC_REQUIRE([AC_PROG_AWK])dnl
|
|
492
451
|
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
493
452
|
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
|
494
453
|
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
|
495
|
-
|
496
|
-
|
454
|
+
[_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
|
455
|
+
[_AM_PROG_TAR([v7])])])
|
497
456
|
_AM_IF_OPTION([no-dependencies],,
|
498
457
|
[AC_PROVIDE_IFELSE([AC_PROG_CC],
|
499
|
-
|
500
|
-
|
501
|
-
|
458
|
+
[_AM_DEPENDENCIES(CC)],
|
459
|
+
[define([AC_PROG_CC],
|
460
|
+
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
|
502
461
|
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
503
|
-
|
504
|
-
|
505
|
-
|
462
|
+
[_AM_DEPENDENCIES(CXX)],
|
463
|
+
[define([AC_PROG_CXX],
|
464
|
+
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
|
506
465
|
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
|
507
|
-
|
508
|
-
|
509
|
-
|
466
|
+
[_AM_DEPENDENCIES(OBJC)],
|
467
|
+
[define([AC_PROG_OBJC],
|
468
|
+
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
|
510
469
|
])
|
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
|
518
470
|
])
|
519
471
|
|
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
|
-
|
526
472
|
|
527
473
|
# When config.status generates a header, we must update the stamp-h file.
|
528
474
|
# This file resides in the same directory as the config header
|
@@ -533,19 +479,18 @@ m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
|
|
533
479
|
# our stamp files there.
|
534
480
|
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
|
535
481
|
[# Compute $1's index in $config_headers.
|
536
|
-
_am_arg=$1
|
537
482
|
_am_stamp_count=1
|
538
483
|
for _am_header in $config_headers :; do
|
539
484
|
case $_am_header in
|
540
|
-
$
|
485
|
+
$1 | $1:* )
|
541
486
|
break ;;
|
542
487
|
* )
|
543
488
|
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
|
544
489
|
esac
|
545
490
|
done
|
546
|
-
echo "timestamp for $
|
491
|
+
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
|
547
492
|
|
548
|
-
# Copyright (C) 2001, 2003, 2005
|
493
|
+
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
|
549
494
|
#
|
550
495
|
# This file is free software; the Free Software Foundation
|
551
496
|
# gives unlimited permission to copy and/or distribute it,
|
@@ -556,14 +501,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
|
|
556
501
|
# Define $install_sh.
|
557
502
|
AC_DEFUN([AM_PROG_INSTALL_SH],
|
558
503
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
559
|
-
|
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
|
504
|
+
install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
|
567
505
|
AC_SUBST(install_sh)])
|
568
506
|
|
569
507
|
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
|
@@ -589,13 +527,13 @@ AC_SUBST([am__leading_dot])])
|
|
589
527
|
|
590
528
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
591
529
|
|
592
|
-
# Copyright (C) 2001, 2002, 2003, 2005
|
530
|
+
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
593
531
|
#
|
594
532
|
# This file is free software; the Free Software Foundation
|
595
533
|
# gives unlimited permission to copy and/or distribute it,
|
596
534
|
# with or without modifications, as long as this notice is preserved.
|
597
535
|
|
598
|
-
# serial
|
536
|
+
# serial 3
|
599
537
|
|
600
538
|
# AM_MAKE_INCLUDE()
|
601
539
|
# -----------------
|
@@ -604,7 +542,7 @@ AC_DEFUN([AM_MAKE_INCLUDE],
|
|
604
542
|
[am_make=${MAKE-make}
|
605
543
|
cat > confinc << 'END'
|
606
544
|
am__doit:
|
607
|
-
@echo
|
545
|
+
@echo done
|
608
546
|
.PHONY: am__doit
|
609
547
|
END
|
610
548
|
# If we don't find an include directive, just comment out the code.
|
@@ -614,24 +552,24 @@ am__quote=
|
|
614
552
|
_am_result=none
|
615
553
|
# First try GNU make style include.
|
616
554
|
echo "include confinc" > confmf
|
617
|
-
#
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
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
|
625
565
|
# Now try BSD make style include.
|
626
566
|
if test "$am__include" = "#"; then
|
627
567
|
echo '.include "confinc"' > confmf
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
;;
|
634
|
-
esac
|
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
|
635
573
|
fi
|
636
574
|
AC_SUBST([am__include])
|
637
575
|
AC_SUBST([am__quote])
|
@@ -641,14 +579,14 @@ rm -f confinc confmf
|
|
641
579
|
|
642
580
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
643
581
|
|
644
|
-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
|
582
|
+
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
|
645
583
|
# Free Software Foundation, Inc.
|
646
584
|
#
|
647
585
|
# This file is free software; the Free Software Foundation
|
648
586
|
# gives unlimited permission to copy and/or distribute it,
|
649
587
|
# with or without modifications, as long as this notice is preserved.
|
650
588
|
|
651
|
-
# serial
|
589
|
+
# serial 5
|
652
590
|
|
653
591
|
# AM_MISSING_PROG(NAME, PROGRAM)
|
654
592
|
# ------------------------------
|
@@ -665,14 +603,7 @@ AC_SUBST($1)])
|
|
665
603
|
AC_DEFUN([AM_MISSING_HAS_RUN],
|
666
604
|
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
|
667
605
|
AC_REQUIRE_AUX_FILE([missing])dnl
|
668
|
-
|
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
|
606
|
+
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
|
676
607
|
# Use eval to expand $SHELL
|
677
608
|
if eval "$MISSING --run true"; then
|
678
609
|
am_missing_run="$MISSING --run "
|
@@ -710,13 +641,13 @@ esac
|
|
710
641
|
|
711
642
|
# Helper functions for option handling. -*- Autoconf -*-
|
712
643
|
|
713
|
-
# Copyright (C) 2001, 2002, 2003, 2005
|
644
|
+
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
714
645
|
#
|
715
646
|
# This file is free software; the Free Software Foundation
|
716
647
|
# gives unlimited permission to copy and/or distribute it,
|
717
648
|
# with or without modifications, as long as this notice is preserved.
|
718
649
|
|
719
|
-
# serial
|
650
|
+
# serial 3
|
720
651
|
|
721
652
|
# _AM_MANGLE_OPTION(NAME)
|
722
653
|
# -----------------------
|
@@ -733,7 +664,7 @@ AC_DEFUN([_AM_SET_OPTION],
|
|
733
664
|
# ----------------------------------
|
734
665
|
# OPTIONS is a space-separated list of Automake options.
|
735
666
|
AC_DEFUN([_AM_SET_OPTIONS],
|
736
|
-
[
|
667
|
+
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
|
737
668
|
|
738
669
|
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
|
739
670
|
# -------------------------------------------
|
@@ -743,14 +674,14 @@ AC_DEFUN([_AM_IF_OPTION],
|
|
743
674
|
|
744
675
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
745
676
|
|
746
|
-
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
|
677
|
+
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
|
747
678
|
# Free Software Foundation, Inc.
|
748
679
|
#
|
749
680
|
# This file is free software; the Free Software Foundation
|
750
681
|
# gives unlimited permission to copy and/or distribute it,
|
751
682
|
# with or without modifications, as long as this notice is preserved.
|
752
683
|
|
753
|
-
# serial
|
684
|
+
# serial 4
|
754
685
|
|
755
686
|
# AM_SANITY_CHECK
|
756
687
|
# ---------------
|
@@ -759,29 +690,16 @@ AC_DEFUN([AM_SANITY_CHECK],
|
|
759
690
|
# Just in case
|
760
691
|
sleep 1
|
761
692
|
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
|
-
|
775
693
|
# Do `set' in a subshell so we don't clobber the current shell's
|
776
694
|
# arguments. Must try -L first in case configure is actually a
|
777
695
|
# symlink; some systems play weird games with the mod time of symlinks
|
778
696
|
# (eg FreeBSD returns the mod time of the symlink's containing
|
779
697
|
# directory).
|
780
698
|
if (
|
781
|
-
set X `ls -Lt
|
699
|
+
set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
|
782
700
|
if test "$[*]" = "X"; then
|
783
701
|
# -L didn't work.
|
784
|
-
set X `ls -t
|
702
|
+
set X `ls -t $srcdir/configure conftest.file`
|
785
703
|
fi
|
786
704
|
rm -f conftest.file
|
787
705
|
if test "$[*]" != "X $srcdir/configure conftest.file" \
|
@@ -834,25 +752,18 @@ fi
|
|
834
752
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
835
753
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
836
754
|
|
837
|
-
# Copyright (C) 2006
|
755
|
+
# Copyright (C) 2006 Free Software Foundation, Inc.
|
838
756
|
#
|
839
757
|
# This file is free software; the Free Software Foundation
|
840
758
|
# gives unlimited permission to copy and/or distribute it,
|
841
759
|
# with or without modifications, as long as this notice is preserved.
|
842
760
|
|
843
|
-
# serial 2
|
844
|
-
|
845
761
|
# _AM_SUBST_NOTMAKE(VARIABLE)
|
846
762
|
# ---------------------------
|
847
|
-
# Prevent Automake from
|
763
|
+
# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
|
848
764
|
# This macro is traced by Automake.
|
849
765
|
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
850
766
|
|
851
|
-
# AM_SUBST_NOTMAKE(VARIABLE)
|
852
|
-
# ---------------------------
|
853
|
-
# Public sister of _AM_SUBST_NOTMAKE.
|
854
|
-
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
855
|
-
|
856
767
|
# Check how to create a tarball. -*- Autoconf -*-
|
857
768
|
|
858
769
|
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|