nutcracker 0.2.3 → 0.2.4.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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/README.md
CHANGED
@@ -1,22 +1,70 @@
|
|
1
1
|
# Nutcracker
|
2
|
+
<a href="https://rubygems.org/gems/graphite-api"><img src=https://fury-badge.herokuapp.com/rb/nutcracker.png></a>
|
3
|
+
|
2
4
|
This "library" wraps Twitter's [Nutcracker](https://github.com/twitter/twemproxy) in a gem package and provides ( in the near future I hope ) simple ruby API to the `nutcracker` executable.
|
5
|
+
For now this repository only contains a Rakefile for building new `nutcracker` gems, look at the last section for more info.
|
3
6
|
|
4
7
|
## Motivation
|
5
8
|
The main motivation here is to take the advantages of working with Bundler's dependencies management and to be able to embed Twitter's [Nutcracker](https://github.com/twitter/twemproxy) as a dependency to any Ruby project, this allow you to create small-configuration-only-apps tied to specific version of Nutcracker as I show in the example bellow.
|
6
9
|
|
7
|
-
|
10
|
+
### Installation
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
```
|
13
|
+
gem 'nutcracker'
|
14
|
+
```
|
15
|
+
|
16
|
+
And then execute:
|
17
|
+
```
|
18
|
+
$ bundle install
|
19
|
+
```
|
20
|
+
|
21
|
+
after the gem was successfully installed, the `nutcracker` executable should be available
|
22
|
+
```
|
23
|
+
[root@somewhere ~]# nutcracker --help
|
24
|
+
This is nutcracker-0.2.3
|
8
25
|
|
9
|
-
|
26
|
+
Usage: nutcracker [-?hVdDt] [-v verbosity level] [-o output file]
|
27
|
+
[-c conf file] [-s stats port] [-a stats addr]
|
28
|
+
[-i stats interval] [-p pid file] [-m mbuf size]
|
10
29
|
|
11
|
-
|
30
|
+
Options:
|
31
|
+
-h, --help : this help
|
32
|
+
-V, --version : show version and exit
|
33
|
+
-t, --test-conf : test configuration for syntax errors and exit
|
34
|
+
-d, --daemonize : run as a daemon
|
35
|
+
-D, --describe-stats : print stats description and exit
|
36
|
+
-v, --verbosity=N : set logging level (default: 5, min: 0, max: 11)
|
37
|
+
-o, --output=S : set logging file (default: stderr)
|
38
|
+
-c, --conf-file=S : set configuration file (default: conf/nutcracker.yml)
|
39
|
+
-s, --stats-port=N : set stats monitoring port (default: 22222)
|
40
|
+
-a, --stats-addr=S : set stats monitoring ip (default: 0.0.0.0)
|
41
|
+
-i, --stats-interval=N : set stats aggregation interval in msec (default: 30000 msec)
|
42
|
+
-p, --pid-file=S : set pid file (default: off)
|
43
|
+
-m, --mbuf-size=N : set size of mbuf chunk in bytes (default: 16384 bytes)
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
### Ruby Wrapper
|
48
|
+
a simple ruby wrapper is also included
|
12
49
|
|
13
50
|
```ruby
|
14
|
-
|
51
|
+
require 'nutcracker'
|
15
52
|
|
16
|
-
|
53
|
+
nutcracker = Nutcracker.start(config_file: 'cluster.yaml')
|
54
|
+
nutcracker.running? # => true
|
55
|
+
|
56
|
+
nutcracker.stats # => {"source"=>"local", "version"=>"0.2.4", "uptime"=>6...}
|
57
|
+
|
58
|
+
nutcracker.stop
|
59
|
+
nutcracker.running? # => false
|
60
|
+
|
61
|
+
nutcracker.start
|
62
|
+
nutcracker.join # wait for server to exit
|
17
63
|
```
|
18
64
|
|
19
65
|
## Wanna build a new version?
|
20
66
|
* Set the version @ `lib/nutcracker/version.rb` ( [Available Versions](https://code.google.com/p/twemproxy/downloads/list) )
|
21
67
|
* run the `rake build` command
|
22
68
|
* look for `nutcracker-X.Y.Z` gem under the pkg folder
|
69
|
+
|
70
|
+
> for more details like licensing etc, please look @ [Nutcracker](https://github.com/twitter/twemproxy)
|
data/Rakefile
CHANGED
@@ -2,32 +2,19 @@ $:.unshift File.expand_path '../lib', __FILE__
|
|
2
2
|
require 'nutcracker'
|
3
3
|
require 'rake'
|
4
4
|
require 'rubygems/package_task'
|
5
|
+
require "rake/testtask"
|
5
6
|
|
6
|
-
Nutcracker::GemSpec =
|
7
|
-
|
8
|
-
|
9
|
-
s.platform = Gem::Platform::RUBY
|
10
|
-
s.summary = "Twitter's Nutcraker Gem Wrapper"
|
11
|
-
s.description = "Gem/Bundler benefits for Twitter's Nutcraker C app"
|
12
|
-
s.author = "Eran Barak Levi"
|
13
|
-
s.email = "eran@kontera.com"
|
14
|
-
s.homepage = 'http://www.kontera.com'
|
15
|
-
s.required_ruby_version = '>= 1.8.5'
|
16
|
-
s.rubyforge_project = "ruby-nutcracker"
|
17
|
-
s.files = %w(README.md Rakefile) + Dir.glob("{bin,lib,ext}/**/*")
|
18
|
-
s.require_path = "lib"
|
19
|
-
s.extensions = ['ext/nutcracker/extconf.rb']
|
20
|
-
s.executables = ['nutcracker']
|
21
|
-
s.require_paths = ['lib']
|
22
|
-
end
|
7
|
+
Nutcracker::GemSpec = eval File.read 'nutcracker.gemspec'
|
8
|
+
|
9
|
+
sversion = Nutcracker.version.split(".")[0..2].join(".")
|
23
10
|
|
24
11
|
task :download do
|
25
|
-
"nutcracker-#{
|
12
|
+
"nutcracker-#{sversion}.tar.gz".tap do |tarball|
|
26
13
|
sh "mkdir ext" unless File.directory? "ext"
|
27
14
|
sh "rm -rf ext/nutcracker"
|
28
15
|
sh "wget https://twemproxy.googlecode.com/files/#{tarball}"
|
29
16
|
sh "tar -zxvf #{tarball}"
|
30
|
-
sh "mv nutcracker-#{
|
17
|
+
sh "mv nutcracker-#{sversion} ext/nutcracker"
|
31
18
|
File.open("ext/nutcracker/extconf.rb",'w') do |file|
|
32
19
|
file.puts %q{
|
33
20
|
raise "no support for #{RUBY_PLATFORM}" if RUBY_PLATFORM =~ /darwin|mswin|mingw/
|
@@ -53,3 +40,11 @@ task :install => [:gem] do
|
|
53
40
|
sh "gem install pkg/nutcracker"
|
54
41
|
Rake::Task['clobber_package'].execute
|
55
42
|
end
|
43
|
+
|
44
|
+
## Tests stuff
|
45
|
+
task :default => :test
|
46
|
+
|
47
|
+
Rake::TestTask.new(:test) do |t|
|
48
|
+
t.libs << "tests"
|
49
|
+
t.pattern = "tests/**/*_test.rb"
|
50
|
+
end
|
data/bin/nutcracker
CHANGED
data/ext/nutcracker/ChangeLog
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
2013-23-04 Manju Rajashekhar <manj@cs.stanford.edu>
|
2
|
+
* twemproxy: version 0.2.4 release
|
3
|
+
redis keys must be less than mbuf_data_size() in length (fifsky)
|
4
|
+
Adds support for DUMP/RESTORE commands in Redis (remotezygote)
|
5
|
+
Use of the weight value in the modula distribution (mezzatto)
|
6
|
+
Add support to unix socket connections to servers (mezzatto)
|
7
|
+
only check for duplicate server name and not 'host:port:weight' when 'name' is configured
|
8
|
+
crc16 hash support added (mezzatto)
|
9
|
+
|
1
10
|
2013-31-01 Manju Rajashekhar <manj@twitter.com>
|
2
11
|
* twemproxy: version 0.2.3 release
|
3
12
|
RPOPLPUSH, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION, SUNIONSTORE, ZINTERSTORE, and ZUNIONSTORE support (dcartoon)
|
data/ext/nutcracker/LICENSE
CHANGED
File without changes
|
@@ -0,0 +1,643 @@
|
|
1
|
+
# Makefile.in generated by automake 1.10 from Makefile.am.
|
2
|
+
# Makefile. Generated from Makefile.in by configure.
|
3
|
+
|
4
|
+
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
5
|
+
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
6
|
+
# This Makefile.in is free software; the Free Software Foundation
|
7
|
+
# gives unlimited permission to copy and/or distribute it,
|
8
|
+
# with or without modifications, as long as this notice is preserved.
|
9
|
+
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
12
|
+
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
13
|
+
# PARTICULAR PURPOSE.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
pkgdatadir = $(datadir)/nutcracker
|
18
|
+
pkglibdir = $(libdir)/nutcracker
|
19
|
+
pkgincludedir = $(includedir)/nutcracker
|
20
|
+
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
21
|
+
install_sh_DATA = $(install_sh) -c -m 644
|
22
|
+
install_sh_PROGRAM = $(install_sh) -c
|
23
|
+
install_sh_SCRIPT = $(install_sh) -c
|
24
|
+
INSTALL_HEADER = $(INSTALL_DATA)
|
25
|
+
transform = $(program_transform_name)
|
26
|
+
NORMAL_INSTALL = :
|
27
|
+
PRE_INSTALL = :
|
28
|
+
POST_INSTALL = :
|
29
|
+
NORMAL_UNINSTALL = :
|
30
|
+
PRE_UNINSTALL = :
|
31
|
+
POST_UNINSTALL = :
|
32
|
+
build_triplet = i386-apple-darwin11.4.2
|
33
|
+
host_triplet = i386-apple-darwin11.4.2
|
34
|
+
subdir = .
|
35
|
+
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
|
36
|
+
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
37
|
+
$(top_srcdir)/configure ChangeLog config/config.guess \
|
38
|
+
config/config.sub config/depcomp config/install-sh \
|
39
|
+
config/ltmain.sh config/missing
|
40
|
+
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
41
|
+
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
42
|
+
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
43
|
+
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
44
|
+
$(top_srcdir)/configure.ac
|
45
|
+
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
46
|
+
$(ACLOCAL_M4)
|
47
|
+
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
48
|
+
configure.lineno config.status.lineno
|
49
|
+
mkinstalldirs = $(install_sh) -d
|
50
|
+
CONFIG_HEADER = config.h
|
51
|
+
CONFIG_CLEAN_FILES =
|
52
|
+
SOURCES =
|
53
|
+
DIST_SOURCES =
|
54
|
+
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
55
|
+
html-recursive info-recursive install-data-recursive \
|
56
|
+
install-dvi-recursive install-exec-recursive \
|
57
|
+
install-html-recursive install-info-recursive \
|
58
|
+
install-pdf-recursive install-ps-recursive install-recursive \
|
59
|
+
installcheck-recursive installdirs-recursive pdf-recursive \
|
60
|
+
ps-recursive uninstall-recursive
|
61
|
+
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
62
|
+
distclean-recursive maintainer-clean-recursive
|
63
|
+
ETAGS = etags
|
64
|
+
CTAGS = ctags
|
65
|
+
DIST_SUBDIRS = $(SUBDIRS)
|
66
|
+
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
67
|
+
distdir = $(PACKAGE)-$(VERSION)
|
68
|
+
top_distdir = $(distdir)
|
69
|
+
am__remove_distdir = \
|
70
|
+
{ test ! -d $(distdir) \
|
71
|
+
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
72
|
+
&& rm -fr $(distdir); }; }
|
73
|
+
DIST_ARCHIVES = $(distdir).tar.gz
|
74
|
+
GZIP_ENV = --best
|
75
|
+
distuninstallcheck_listfiles = find . -type f -print
|
76
|
+
distcleancheck_listfiles = find . -type f -print
|
77
|
+
ACLOCAL = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run aclocal-1.10
|
78
|
+
AMTAR = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run tar
|
79
|
+
AR = ar
|
80
|
+
AUTOCONF = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoconf
|
81
|
+
AUTOHEADER = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoheader
|
82
|
+
AUTOMAKE = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run automake-1.10
|
83
|
+
AWK = awk
|
84
|
+
CC = gcc
|
85
|
+
CCDEPMODE = depmode=gcc3
|
86
|
+
CFLAGS = -g -O2
|
87
|
+
CPP = gcc -E
|
88
|
+
CPPFLAGS =
|
89
|
+
CXX = g++
|
90
|
+
CXXCPP = g++ -E
|
91
|
+
CXXDEPMODE = depmode=gcc3
|
92
|
+
CXXFLAGS = -g -O2
|
93
|
+
CYGPATH_W = echo
|
94
|
+
DEFS = -DHAVE_CONFIG_H
|
95
|
+
DEPDIR = .deps
|
96
|
+
DSYMUTIL = dsymutil
|
97
|
+
DUMPBIN =
|
98
|
+
ECHO_C = \c
|
99
|
+
ECHO_N =
|
100
|
+
ECHO_T =
|
101
|
+
EGREP = /usr/bin/grep -E
|
102
|
+
EXEEXT =
|
103
|
+
FGREP = /usr/bin/grep -F
|
104
|
+
GREP = /usr/bin/grep
|
105
|
+
INSTALL = /usr/bin/install -c
|
106
|
+
INSTALL_DATA = ${INSTALL} -m 644
|
107
|
+
INSTALL_PROGRAM = ${INSTALL}
|
108
|
+
INSTALL_SCRIPT = ${INSTALL}
|
109
|
+
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
110
|
+
LD = /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
|
111
|
+
LDFLAGS =
|
112
|
+
LIBOBJS =
|
113
|
+
LIBS = -lpthread -lm
|
114
|
+
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
115
|
+
LIPO = lipo
|
116
|
+
LN_S = ln -s
|
117
|
+
LTLIBOBJS =
|
118
|
+
MAKEINFO = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run makeinfo
|
119
|
+
MKDIR_P = config/install-sh -c -d
|
120
|
+
NM = /usr/bin/nm
|
121
|
+
NMEDIT = nmedit
|
122
|
+
OBJDUMP = false
|
123
|
+
OBJEXT = o
|
124
|
+
OTOOL = otool
|
125
|
+
OTOOL64 = :
|
126
|
+
PACKAGE = nutcracker
|
127
|
+
PACKAGE_BUGREPORT = manj@twitter.com
|
128
|
+
PACKAGE_NAME = nutcracker
|
129
|
+
PACKAGE_STRING = nutcracker 0.2.4
|
130
|
+
PACKAGE_TARNAME = nutcracker
|
131
|
+
PACKAGE_URL =
|
132
|
+
PACKAGE_VERSION = 0.2.4
|
133
|
+
PATH_SEPARATOR = :
|
134
|
+
RANLIB = ranlib
|
135
|
+
SED = /usr/bin/sed
|
136
|
+
SET_MAKE =
|
137
|
+
SHELL = /bin/sh
|
138
|
+
STRIP = strip
|
139
|
+
VERSION = 0.2.4
|
140
|
+
abs_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
141
|
+
abs_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
142
|
+
abs_top_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
143
|
+
abs_top_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
144
|
+
ac_ct_CC = gcc
|
145
|
+
ac_ct_CXX = g++
|
146
|
+
ac_ct_DUMPBIN =
|
147
|
+
am__include = include
|
148
|
+
am__leading_dot = .
|
149
|
+
am__quote =
|
150
|
+
am__tar = ${AMTAR} chof - "$$tardir"
|
151
|
+
am__untar = ${AMTAR} xf -
|
152
|
+
bindir = ${exec_prefix}/bin
|
153
|
+
build = i386-apple-darwin11.4.2
|
154
|
+
build_alias =
|
155
|
+
build_cpu = i386
|
156
|
+
build_os = darwin11.4.2
|
157
|
+
build_vendor = apple
|
158
|
+
builddir = .
|
159
|
+
datadir = ${datarootdir}
|
160
|
+
datarootdir = ${prefix}/share
|
161
|
+
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
162
|
+
dvidir = ${docdir}
|
163
|
+
exec_prefix = ${prefix}
|
164
|
+
host = i386-apple-darwin11.4.2
|
165
|
+
host_alias =
|
166
|
+
host_cpu = i386
|
167
|
+
host_os = darwin11.4.2
|
168
|
+
host_vendor = apple
|
169
|
+
htmldir = ${docdir}
|
170
|
+
includedir = ${prefix}/include
|
171
|
+
infodir = ${datarootdir}/info
|
172
|
+
install_sh = $(SHELL) /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/install-sh
|
173
|
+
libdir = ${exec_prefix}/lib
|
174
|
+
libexecdir = ${exec_prefix}/libexec
|
175
|
+
localedir = ${datarootdir}/locale
|
176
|
+
localstatedir = ${prefix}/var
|
177
|
+
mandir = ${datarootdir}/man
|
178
|
+
mkdir_p = $(top_builddir)/config/install-sh -c -d
|
179
|
+
oldincludedir = /usr/include
|
180
|
+
pdfdir = ${docdir}
|
181
|
+
prefix = /usr/local
|
182
|
+
program_transform_name = s,x,x,
|
183
|
+
psdir = ${docdir}
|
184
|
+
sbindir = ${exec_prefix}/sbin
|
185
|
+
sharedstatedir = ${prefix}/com
|
186
|
+
srcdir = .
|
187
|
+
subdirs = contrib/yaml-0.1.4
|
188
|
+
sysconfdir = ${prefix}/etc
|
189
|
+
target_alias =
|
190
|
+
top_build_prefix =
|
191
|
+
top_builddir = .
|
192
|
+
top_srcdir = .
|
193
|
+
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config.h.in config.h.in~ stamp-h.in
|
194
|
+
ACLOCAL_AMFLAGS = -I m4
|
195
|
+
SUBDIRS = contrib src
|
196
|
+
EXTRA_DIST = README.md NOTICE LICENSE ChangeLog conf scripts notes
|
197
|
+
all: config.h
|
198
|
+
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
199
|
+
|
200
|
+
.SUFFIXES:
|
201
|
+
am--refresh:
|
202
|
+
@:
|
203
|
+
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
204
|
+
@for dep in $?; do \
|
205
|
+
case '$(am__configure_deps)' in \
|
206
|
+
*$$dep*) \
|
207
|
+
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
208
|
+
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
209
|
+
&& exit 0; \
|
210
|
+
exit 1;; \
|
211
|
+
esac; \
|
212
|
+
done; \
|
213
|
+
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
214
|
+
cd $(top_srcdir) && \
|
215
|
+
$(AUTOMAKE) --foreign Makefile
|
216
|
+
.PRECIOUS: Makefile
|
217
|
+
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
218
|
+
@case '$?' in \
|
219
|
+
*config.status*) \
|
220
|
+
echo ' $(SHELL) ./config.status'; \
|
221
|
+
$(SHELL) ./config.status;; \
|
222
|
+
*) \
|
223
|
+
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
224
|
+
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
225
|
+
esac;
|
226
|
+
|
227
|
+
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
228
|
+
$(SHELL) ./config.status --recheck
|
229
|
+
|
230
|
+
$(top_srcdir)/configure: $(am__configure_deps)
|
231
|
+
cd $(srcdir) && $(AUTOCONF)
|
232
|
+
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
233
|
+
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
234
|
+
|
235
|
+
config.h: stamp-h1
|
236
|
+
@if test ! -f $@; then \
|
237
|
+
rm -f stamp-h1; \
|
238
|
+
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
|
239
|
+
else :; fi
|
240
|
+
|
241
|
+
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
242
|
+
@rm -f stamp-h1
|
243
|
+
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
244
|
+
$(srcdir)/config.h.in: $(am__configure_deps)
|
245
|
+
cd $(top_srcdir) && $(AUTOHEADER)
|
246
|
+
rm -f stamp-h1
|
247
|
+
touch $@
|
248
|
+
|
249
|
+
distclean-hdr:
|
250
|
+
-rm -f config.h stamp-h1
|
251
|
+
|
252
|
+
mostlyclean-libtool:
|
253
|
+
-rm -f *.lo
|
254
|
+
|
255
|
+
clean-libtool:
|
256
|
+
-rm -rf .libs _libs
|
257
|
+
|
258
|
+
distclean-libtool:
|
259
|
+
-rm -f libtool
|
260
|
+
|
261
|
+
# This directory's subdirectories are mostly independent; you can cd
|
262
|
+
# into them and run `make' without going through this Makefile.
|
263
|
+
# To change the values of `make' variables: instead of editing Makefiles,
|
264
|
+
# (1) if the variable is set in `config.status', edit `config.status'
|
265
|
+
# (which will cause the Makefiles to be regenerated when you run `make');
|
266
|
+
# (2) otherwise, pass the desired values on the `make' command line.
|
267
|
+
$(RECURSIVE_TARGETS):
|
268
|
+
@failcom='exit 1'; \
|
269
|
+
for f in x $$MAKEFLAGS; do \
|
270
|
+
case $$f in \
|
271
|
+
*=* | --[!k]*);; \
|
272
|
+
*k*) failcom='fail=yes';; \
|
273
|
+
esac; \
|
274
|
+
done; \
|
275
|
+
dot_seen=no; \
|
276
|
+
target=`echo $@ | sed s/-recursive//`; \
|
277
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
278
|
+
echo "Making $$target in $$subdir"; \
|
279
|
+
if test "$$subdir" = "."; then \
|
280
|
+
dot_seen=yes; \
|
281
|
+
local_target="$$target-am"; \
|
282
|
+
else \
|
283
|
+
local_target="$$target"; \
|
284
|
+
fi; \
|
285
|
+
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
286
|
+
|| eval $$failcom; \
|
287
|
+
done; \
|
288
|
+
if test "$$dot_seen" = "no"; then \
|
289
|
+
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
290
|
+
fi; test -z "$$fail"
|
291
|
+
|
292
|
+
$(RECURSIVE_CLEAN_TARGETS):
|
293
|
+
@failcom='exit 1'; \
|
294
|
+
for f in x $$MAKEFLAGS; do \
|
295
|
+
case $$f in \
|
296
|
+
*=* | --[!k]*);; \
|
297
|
+
*k*) failcom='fail=yes';; \
|
298
|
+
esac; \
|
299
|
+
done; \
|
300
|
+
dot_seen=no; \
|
301
|
+
case "$@" in \
|
302
|
+
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
303
|
+
*) list='$(SUBDIRS)' ;; \
|
304
|
+
esac; \
|
305
|
+
rev=''; for subdir in $$list; do \
|
306
|
+
if test "$$subdir" = "."; then :; else \
|
307
|
+
rev="$$subdir $$rev"; \
|
308
|
+
fi; \
|
309
|
+
done; \
|
310
|
+
rev="$$rev ."; \
|
311
|
+
target=`echo $@ | sed s/-recursive//`; \
|
312
|
+
for subdir in $$rev; do \
|
313
|
+
echo "Making $$target in $$subdir"; \
|
314
|
+
if test "$$subdir" = "."; then \
|
315
|
+
local_target="$$target-am"; \
|
316
|
+
else \
|
317
|
+
local_target="$$target"; \
|
318
|
+
fi; \
|
319
|
+
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
320
|
+
|| eval $$failcom; \
|
321
|
+
done && test -z "$$fail"
|
322
|
+
tags-recursive:
|
323
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
324
|
+
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
325
|
+
done
|
326
|
+
ctags-recursive:
|
327
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
328
|
+
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
329
|
+
done
|
330
|
+
|
331
|
+
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
332
|
+
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
333
|
+
unique=`for i in $$list; do \
|
334
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
335
|
+
done | \
|
336
|
+
$(AWK) ' { files[$$0] = 1; } \
|
337
|
+
END { for (i in files) print i; }'`; \
|
338
|
+
mkid -fID $$unique
|
339
|
+
tags: TAGS
|
340
|
+
|
341
|
+
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
342
|
+
$(TAGS_FILES) $(LISP)
|
343
|
+
tags=; \
|
344
|
+
here=`pwd`; \
|
345
|
+
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
346
|
+
include_option=--etags-include; \
|
347
|
+
empty_fix=.; \
|
348
|
+
else \
|
349
|
+
include_option=--include; \
|
350
|
+
empty_fix=; \
|
351
|
+
fi; \
|
352
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
353
|
+
if test "$$subdir" = .; then :; else \
|
354
|
+
test ! -f $$subdir/TAGS || \
|
355
|
+
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
356
|
+
fi; \
|
357
|
+
done; \
|
358
|
+
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
359
|
+
unique=`for i in $$list; do \
|
360
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
361
|
+
done | \
|
362
|
+
$(AWK) ' { files[$$0] = 1; } \
|
363
|
+
END { for (i in files) print i; }'`; \
|
364
|
+
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
365
|
+
test -n "$$unique" || unique=$$empty_fix; \
|
366
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
367
|
+
$$tags $$unique; \
|
368
|
+
fi
|
369
|
+
ctags: CTAGS
|
370
|
+
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
371
|
+
$(TAGS_FILES) $(LISP)
|
372
|
+
tags=; \
|
373
|
+
here=`pwd`; \
|
374
|
+
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
375
|
+
unique=`for i in $$list; do \
|
376
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
377
|
+
done | \
|
378
|
+
$(AWK) ' { files[$$0] = 1; } \
|
379
|
+
END { for (i in files) print i; }'`; \
|
380
|
+
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
381
|
+
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
382
|
+
$$tags $$unique
|
383
|
+
|
384
|
+
GTAGS:
|
385
|
+
here=`$(am__cd) $(top_builddir) && pwd` \
|
386
|
+
&& cd $(top_srcdir) \
|
387
|
+
&& gtags -i $(GTAGS_ARGS) $$here
|
388
|
+
|
389
|
+
distclean-tags:
|
390
|
+
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
391
|
+
|
392
|
+
distdir: $(DISTFILES)
|
393
|
+
$(am__remove_distdir)
|
394
|
+
test -d $(distdir) || mkdir $(distdir)
|
395
|
+
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
396
|
+
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
397
|
+
list='$(DISTFILES)'; \
|
398
|
+
dist_files=`for file in $$list; do echo $$file; done | \
|
399
|
+
sed -e "s|^$$srcdirstrip/||;t" \
|
400
|
+
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
401
|
+
case $$dist_files in \
|
402
|
+
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
403
|
+
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
404
|
+
sort -u` ;; \
|
405
|
+
esac; \
|
406
|
+
for file in $$dist_files; do \
|
407
|
+
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
408
|
+
if test -d $$d/$$file; then \
|
409
|
+
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
410
|
+
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
411
|
+
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
412
|
+
fi; \
|
413
|
+
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
414
|
+
else \
|
415
|
+
test -f $(distdir)/$$file \
|
416
|
+
|| cp -p $$d/$$file $(distdir)/$$file \
|
417
|
+
|| exit 1; \
|
418
|
+
fi; \
|
419
|
+
done
|
420
|
+
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
421
|
+
if test "$$subdir" = .; then :; else \
|
422
|
+
test -d "$(distdir)/$$subdir" \
|
423
|
+
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
424
|
+
|| exit 1; \
|
425
|
+
distdir=`$(am__cd) $(distdir) && pwd`; \
|
426
|
+
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
427
|
+
(cd $$subdir && \
|
428
|
+
$(MAKE) $(AM_MAKEFLAGS) \
|
429
|
+
top_distdir="$$top_distdir" \
|
430
|
+
distdir="$$distdir/$$subdir" \
|
431
|
+
am__remove_distdir=: \
|
432
|
+
am__skip_length_check=: \
|
433
|
+
distdir) \
|
434
|
+
|| exit 1; \
|
435
|
+
fi; \
|
436
|
+
done
|
437
|
+
-find $(distdir) -type d ! -perm -755 -exec chmod u+rwx,go+rx {} \; -o \
|
438
|
+
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
439
|
+
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
440
|
+
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
441
|
+
|| chmod -R a+r $(distdir)
|
442
|
+
dist-gzip: distdir
|
443
|
+
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
444
|
+
$(am__remove_distdir)
|
445
|
+
|
446
|
+
dist-bzip2: distdir
|
447
|
+
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
448
|
+
$(am__remove_distdir)
|
449
|
+
|
450
|
+
dist-tarZ: distdir
|
451
|
+
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
452
|
+
$(am__remove_distdir)
|
453
|
+
|
454
|
+
dist-shar: distdir
|
455
|
+
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
456
|
+
$(am__remove_distdir)
|
457
|
+
|
458
|
+
dist-zip: distdir
|
459
|
+
-rm -f $(distdir).zip
|
460
|
+
zip -rq $(distdir).zip $(distdir)
|
461
|
+
$(am__remove_distdir)
|
462
|
+
|
463
|
+
dist dist-all: distdir
|
464
|
+
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
465
|
+
$(am__remove_distdir)
|
466
|
+
|
467
|
+
# This target untars the dist file and tries a VPATH configuration. Then
|
468
|
+
# it guarantees that the distribution is self-contained by making another
|
469
|
+
# tarfile.
|
470
|
+
distcheck: dist
|
471
|
+
case '$(DIST_ARCHIVES)' in \
|
472
|
+
*.tar.gz*) \
|
473
|
+
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
474
|
+
*.tar.bz2*) \
|
475
|
+
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
476
|
+
*.tar.Z*) \
|
477
|
+
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
478
|
+
*.shar.gz*) \
|
479
|
+
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
480
|
+
*.zip*) \
|
481
|
+
unzip $(distdir).zip ;;\
|
482
|
+
esac
|
483
|
+
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
484
|
+
mkdir $(distdir)/_build
|
485
|
+
mkdir $(distdir)/_inst
|
486
|
+
chmod a-w $(distdir)
|
487
|
+
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
488
|
+
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
489
|
+
&& cd $(distdir)/_build \
|
490
|
+
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
491
|
+
$(DISTCHECK_CONFIGURE_FLAGS) \
|
492
|
+
&& $(MAKE) $(AM_MAKEFLAGS) \
|
493
|
+
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
494
|
+
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
495
|
+
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
496
|
+
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
497
|
+
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
498
|
+
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
499
|
+
distuninstallcheck \
|
500
|
+
&& chmod -R a-w "$$dc_install_base" \
|
501
|
+
&& ({ \
|
502
|
+
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
503
|
+
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
504
|
+
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
505
|
+
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
506
|
+
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
507
|
+
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
508
|
+
&& rm -rf "$$dc_destdir" \
|
509
|
+
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
510
|
+
&& rm -rf $(DIST_ARCHIVES) \
|
511
|
+
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
512
|
+
$(am__remove_distdir)
|
513
|
+
@(echo "$(distdir) archives ready for distribution: "; \
|
514
|
+
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
515
|
+
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
516
|
+
distuninstallcheck:
|
517
|
+
@cd $(distuninstallcheck_dir) \
|
518
|
+
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
519
|
+
|| { echo "ERROR: files left after uninstall:" ; \
|
520
|
+
if test -n "$(DESTDIR)"; then \
|
521
|
+
echo " (check DESTDIR support)"; \
|
522
|
+
fi ; \
|
523
|
+
$(distuninstallcheck_listfiles) ; \
|
524
|
+
exit 1; } >&2
|
525
|
+
distcleancheck: distclean
|
526
|
+
@if test '$(srcdir)' = . ; then \
|
527
|
+
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
528
|
+
exit 1 ; \
|
529
|
+
fi
|
530
|
+
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
531
|
+
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
532
|
+
$(distcleancheck_listfiles) ; \
|
533
|
+
exit 1; } >&2
|
534
|
+
check-am: all-am
|
535
|
+
check: check-recursive
|
536
|
+
all-am: Makefile config.h
|
537
|
+
installdirs: installdirs-recursive
|
538
|
+
installdirs-am:
|
539
|
+
install: install-recursive
|
540
|
+
install-exec: install-exec-recursive
|
541
|
+
install-data: install-data-recursive
|
542
|
+
uninstall: uninstall-recursive
|
543
|
+
|
544
|
+
install-am: all-am
|
545
|
+
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
546
|
+
|
547
|
+
installcheck: installcheck-recursive
|
548
|
+
install-strip:
|
549
|
+
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
550
|
+
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
551
|
+
`test -z '$(STRIP)' || \
|
552
|
+
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
553
|
+
mostlyclean-generic:
|
554
|
+
|
555
|
+
clean-generic:
|
556
|
+
|
557
|
+
distclean-generic:
|
558
|
+
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
559
|
+
|
560
|
+
maintainer-clean-generic:
|
561
|
+
@echo "This command is intended for maintainers to use"
|
562
|
+
@echo "it deletes files that may require special tools to rebuild."
|
563
|
+
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
564
|
+
clean: clean-recursive
|
565
|
+
|
566
|
+
clean-am: clean-generic clean-libtool mostlyclean-am
|
567
|
+
|
568
|
+
distclean: distclean-recursive
|
569
|
+
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
570
|
+
-rm -f Makefile
|
571
|
+
distclean-am: clean-am distclean-generic distclean-hdr \
|
572
|
+
distclean-libtool distclean-tags
|
573
|
+
|
574
|
+
dvi: dvi-recursive
|
575
|
+
|
576
|
+
dvi-am:
|
577
|
+
|
578
|
+
html: html-recursive
|
579
|
+
|
580
|
+
info: info-recursive
|
581
|
+
|
582
|
+
info-am:
|
583
|
+
|
584
|
+
install-data-am:
|
585
|
+
|
586
|
+
install-dvi: install-dvi-recursive
|
587
|
+
|
588
|
+
install-exec-am:
|
589
|
+
|
590
|
+
install-html: install-html-recursive
|
591
|
+
|
592
|
+
install-info: install-info-recursive
|
593
|
+
|
594
|
+
install-man:
|
595
|
+
|
596
|
+
install-pdf: install-pdf-recursive
|
597
|
+
|
598
|
+
install-ps: install-ps-recursive
|
599
|
+
|
600
|
+
installcheck-am:
|
601
|
+
|
602
|
+
maintainer-clean: maintainer-clean-recursive
|
603
|
+
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
604
|
+
-rm -rf $(top_srcdir)/autom4te.cache
|
605
|
+
-rm -f Makefile
|
606
|
+
maintainer-clean-am: distclean-am maintainer-clean-generic
|
607
|
+
|
608
|
+
mostlyclean: mostlyclean-recursive
|
609
|
+
|
610
|
+
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
611
|
+
|
612
|
+
pdf: pdf-recursive
|
613
|
+
|
614
|
+
pdf-am:
|
615
|
+
|
616
|
+
ps: ps-recursive
|
617
|
+
|
618
|
+
ps-am:
|
619
|
+
|
620
|
+
uninstall-am:
|
621
|
+
|
622
|
+
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
|
623
|
+
install-strip
|
624
|
+
|
625
|
+
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
626
|
+
all all-am am--refresh check check-am clean clean-generic \
|
627
|
+
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
628
|
+
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
|
629
|
+
distclean-generic distclean-hdr distclean-libtool \
|
630
|
+
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
631
|
+
dvi-am html html-am info info-am install install-am \
|
632
|
+
install-data install-data-am install-dvi install-dvi-am \
|
633
|
+
install-exec install-exec-am install-html install-html-am \
|
634
|
+
install-info install-info-am install-man install-pdf \
|
635
|
+
install-pdf-am install-ps install-ps-am install-strip \
|
636
|
+
installcheck installcheck-am installdirs installdirs-am \
|
637
|
+
maintainer-clean maintainer-clean-generic mostlyclean \
|
638
|
+
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
639
|
+
tags tags-recursive uninstall uninstall-am
|
640
|
+
|
641
|
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
642
|
+
# Otherwise a system limit (for SysV at least) may be exceeded.
|
643
|
+
.NOEXPORT:
|