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
@@ -1,13 +1,14 @@
|
|
1
1
|
# Helper functions for option handling. -*- Autoconf -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation,
|
3
|
+
# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
|
4
|
+
# Inc.
|
4
5
|
# Written by Gary V. Vaughan, 2004
|
5
6
|
#
|
6
7
|
# This file is free software; the Free Software Foundation gives
|
7
8
|
# unlimited permission to copy and/or distribute it, with or without
|
8
9
|
# modifications, as long as this notice is preserved.
|
9
10
|
|
10
|
-
# serial
|
11
|
+
# serial 7 ltoptions.m4
|
11
12
|
|
12
13
|
# This is to help aclocal find these macros, as it can't see m4_define.
|
13
14
|
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
@@ -125,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
|
125
126
|
[enable_win32_dll=yes
|
126
127
|
|
127
128
|
case $host in
|
128
|
-
*-*-cygwin* | *-*-mingw* | *-*-pw32* |
|
129
|
+
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
129
130
|
AC_CHECK_TOOL(AS, as, false)
|
130
131
|
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
131
132
|
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
@@ -133,13 +134,13 @@ case $host in
|
|
133
134
|
esac
|
134
135
|
|
135
136
|
test -z "$AS" && AS=as
|
136
|
-
_LT_DECL([], [AS], [
|
137
|
+
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
137
138
|
|
138
139
|
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
139
|
-
_LT_DECL([], [DLLTOOL], [
|
140
|
+
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
140
141
|
|
141
142
|
test -z "$OBJDUMP" && OBJDUMP=objdump
|
142
|
-
_LT_DECL([], [OBJDUMP], [
|
143
|
+
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
143
144
|
])# win32-dll
|
144
145
|
|
145
146
|
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
@@ -9,15 +9,15 @@
|
|
9
9
|
|
10
10
|
# Generated from ltversion.in.
|
11
11
|
|
12
|
-
# serial
|
12
|
+
# serial 3175 ltversion.m4
|
13
13
|
# This file is part of GNU Libtool
|
14
14
|
|
15
|
-
m4_define([LT_PACKAGE_VERSION], [2.2.
|
16
|
-
m4_define([LT_PACKAGE_REVISION], [1.
|
15
|
+
m4_define([LT_PACKAGE_VERSION], [2.2.10])
|
16
|
+
m4_define([LT_PACKAGE_REVISION], [1.3175])
|
17
17
|
|
18
18
|
AC_DEFUN([LTVERSION_VERSION],
|
19
|
-
[macro_version='2.2.
|
20
|
-
macro_revision='1.
|
19
|
+
[macro_version='2.2.10'
|
20
|
+
macro_revision='1.3175'
|
21
21
|
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
22
22
|
_LT_DECL(, macro_revision, 0)
|
23
23
|
])
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
|
3
|
+
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
4
4
|
# Written by Scott James Remnant, 2004.
|
5
5
|
#
|
6
6
|
# This file is free software; the Free Software Foundation gives
|
7
7
|
# unlimited permission to copy and/or distribute it, with or without
|
8
8
|
# modifications, as long as this notice is preserved.
|
9
9
|
|
10
|
-
# serial
|
10
|
+
# serial 5 lt~obsolete.m4
|
11
11
|
|
12
12
|
# These exist entirely to fool aclocal when bootstrapping libtool.
|
13
13
|
#
|
@@ -77,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
|
77
77
|
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
78
78
|
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
79
79
|
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
80
|
-
m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
|
81
80
|
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
82
81
|
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
83
82
|
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
@@ -90,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
|
90
89
|
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
91
90
|
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
92
91
|
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
92
|
+
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
93
|
+
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
94
|
+
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
95
|
+
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
96
|
+
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
97
|
+
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
98
|
+
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
File without changes
|
File without changes
|
File without changes
|
@@ -34,6 +34,8 @@ Failures are a fact of life, especially when things are distributed. To be resil
|
|
34
34
|
|
35
35
|
Enabling `auto_eject_hosts:` ensures that a dead server can be ejected out of the hash ring after `server_failure_limit:` consecutive failures have been encountered on that said server. A non-zero `server_retry_timeout:` ensures that we don't incorrectly mark a server as dead forever especially when the failures were really transient. The combination of `server_retry_timeout:` and `server_failure_limit:` controls the tradeoff between resiliency to permanent and transient failures.
|
36
36
|
|
37
|
+
Note that an ejected server will not be included in the hash ring for any requests until the retry timeout passes. This will lead to data partitioning as keys originally on the ejected server will now be written to a server still in the pool.
|
38
|
+
|
37
39
|
To ensure that requests always succeed in the face of server ejections (`auto_eject_hosts:` is enabled), some form of retry must be implemented at the client layer since nutcracker itself does not retry a request. This client-side retry count must be greater than `server_failure_limit:` value, which ensures that the original request has a chance to make it to a live server.
|
38
40
|
|
39
41
|
## Timeout
|
@@ -52,7 +54,7 @@ By default, nutcracker waits indefinitely for any request sent to the server. Ho
|
|
52
54
|
|
53
55
|
## Error Response
|
54
56
|
|
55
|
-
Whenever a request encounters failure on a server we usually send to the client a response with the general form - `SERVER_ERROR <errno description>\r\n` (memcached) or `-ERR <errno description>` (redis).
|
57
|
+
Whenever a request encounters failure on a server we usually send to the client a response with the general form - `SERVER_ERROR <errno description>\r\n` (memcached) or `-ERR <errno description>` (redis).
|
56
58
|
|
57
59
|
For example, when a memcache server is down, this error response is usually:
|
58
60
|
|
@@ -72,7 +74,7 @@ All memory for incoming requests and outgoing responses is allocated in mbuf. Mb
|
|
72
74
|
If nutcracker is meant to handle a large number of concurrent client connections, you should set the mbuf size to 512 or 1K bytes.
|
73
75
|
|
74
76
|
## Maximum Key Length
|
75
|
-
The memcache ascii protocol [specification](
|
77
|
+
The memcache ascii protocol [specification](notes/memcache.txt) limits the maximum length of the key to 250 characters. The key should not include whitespace, or '\r' or '\n' character. For redis, we have no such limitation. However, nutcracker requires the key to be stored in a contiguous memory region. Since all requests and responses in nutcracker are stored in mbuf, the maximum length of the redis key is limited by the size of the maximum available space for data in mbuf (mbuf_data_size()). This means that if you want your redis instances to handle large keys, you might want to choose large mbuf size set using -m or --mbuf-size=N command-line argument.
|
76
78
|
|
77
79
|
## Node Names for Consistent Hashing
|
78
80
|
|
@@ -116,3 +118,20 @@ For example, the configuration of server pool _beta_, aslo shown below, specifie
|
|
116
118
|
- 127.0.0.1:6381:1 server2
|
117
119
|
- 127.0.0.1:6382:1 server3
|
118
120
|
- 127.0.0.1:6383:1 server4
|
121
|
+
|
122
|
+
|
123
|
+
## Graphing Cache-pool State
|
124
|
+
|
125
|
+
When running nutcracker in production, you often would like to know the list of live and ejected servers at any given time. You can easily answer this question, by generating a time series graph of live and/or dead servers that are part of any cache pool. To do this your graphing client must collect the following stats exposed by nutcracker:
|
126
|
+
|
127
|
+
- **server_eof** which is incremented when server closes the connection normally which should not happen because we use persistent connections.
|
128
|
+
- **server_timedout** is incremented when the connection / request to server timedout.
|
129
|
+
- **server_err** is incremented for any other kinds of errors.
|
130
|
+
|
131
|
+
So, on a given server, the cumulative number of times a server is ejected can be computed as:
|
132
|
+
|
133
|
+
```c
|
134
|
+
(server_err + server_timedout + server_eof) / server_failure_limit
|
135
|
+
```
|
136
|
+
|
137
|
+
A diff of the above value between two successive time intervals would generate a nice timeseries graph for ejected servers.
|
@@ -7,7 +7,7 @@
|
|
7
7
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
8
8
|
| DEL | Yes | DEL key [key …] |
|
9
9
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
10
|
-
| DUMP |
|
10
|
+
| DUMP | Yes | DUMP key |
|
11
11
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
12
12
|
| EXISTS | Yes | EXISTS key |
|
13
13
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
@@ -37,7 +37,7 @@
|
|
37
37
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
38
38
|
| RENAMENX | No | RENAMENX key newkey |
|
39
39
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
40
|
-
| RESTORE |
|
40
|
+
| RESTORE | Yes | RESTORE key ttl serialized-value |
|
41
41
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
42
42
|
| SORT | No | SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] |
|
43
43
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
@@ -168,7 +168,7 @@
|
|
168
168
|
| RPUSHX | Yes | RPUSHX key value |
|
169
169
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
170
170
|
|
171
|
-
* RPOPLPUSH support requires that source and destination keys hash to the same server. You can ensure this by using the same [hashtag](
|
171
|
+
* RPOPLPUSH support requires that source and destination keys hash to the same server. You can ensure this by using the same [hashtag](notes/recommendation.md#hash-tags) for source and destination key. Twemproxy does no checking on its end to verify that source and destination key hash to the same server, and the RPOPLPUSH command is forwarded to the server that the source key hashes to
|
172
172
|
|
173
173
|
### Sets
|
174
174
|
|
@@ -204,7 +204,7 @@
|
|
204
204
|
| SUNIONSTORE | Yes* | SUNIONSTORE destination key [key ...] |
|
205
205
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
206
206
|
|
207
|
-
* SIDFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION and SUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](
|
207
|
+
* SIDFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION and SUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](notes/recommendation.md#hash-tags) for all keys in the command. Twemproxy does no checking on its end to verify that all the keys hash to the same server, and the given command is forwarded to the server that the first key hashes to.
|
208
208
|
|
209
209
|
|
210
210
|
### Sorted Sets
|
@@ -245,7 +245,7 @@
|
|
245
245
|
| ZUNIONSTORE | Yes* | ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] |
|
246
246
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
247
247
|
|
248
|
-
* ZINTERSTORE and ZUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](
|
248
|
+
* ZINTERSTORE and ZUNIONSTORE support requires that the supplied keys hash to the same server. You can ensure this by using the same [hashtag](notes/recommendation.md#hash-tags) for all keys in the command. Twemproxy does no checking on its end to verify that all the keys hash to the same server, and the given command is forwarded to the server that the first key hashes to.
|
249
249
|
|
250
250
|
|
251
251
|
### Pub/Sub
|
@@ -297,8 +297,8 @@
|
|
297
297
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
298
298
|
| SCRIPT LOAD | No | SCRIPT LOAD script |
|
299
299
|
+-------------------+------------+---------------------------------------------------------------------------------------------------------------------+
|
300
|
-
|
301
|
-
* EVAL and EVALSHA support is limited to scripts that take at least 1 key. If multiple keys are used, all keys must hash to the same server. You can ensure this by using the same [hashtag](
|
300
|
+
|
301
|
+
* EVAL and EVALSHA support is limited to scripts that take at least 1 key. If multiple keys are used, all keys must hash to the same server. You can ensure this by using the same [hashtag](notes/recommendation.md#hash-tags) for all keys. If you use more than 1 key, the proxy does no checking to verify that all keys hash to the same server, and the entire command is forwarded to the server that the first key hashes to
|
302
302
|
|
303
303
|
### Connection
|
304
304
|
|
@@ -383,7 +383,7 @@
|
|
383
383
|
|
384
384
|
### redis-benchmark against redis-server
|
385
385
|
|
386
|
-
$ redis-benchmark -h <machine-A> -q -t set,get,incr,lpush,lpop,sadd,spop,lpush,lrange -c 100 -p 6379
|
386
|
+
$ redis-benchmark -h <machine-A> -q -t set,get,incr,lpush,lpop,sadd,spop,lpush,lrange -c 100 -p 6379
|
387
387
|
SET: 89285.71 requests per second
|
388
388
|
GET: 92592.59 requests per second
|
389
389
|
INCR: 89285.71 requests per second
|
@@ -412,4 +412,4 @@
|
|
412
412
|
LRANGE_300 (first 300 elements): 12376.24 requests per second
|
413
413
|
LRANGE_500 (first 450 elements): 8605.85 requests per second
|
414
414
|
LRANGE_600 (first 600 elements): 6587.62 requests per second
|
415
|
-
|
415
|
+
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -18,6 +18,11 @@ printf '*3\r\n$3\r\nset\r\n$3\r\nfoo\r\n$3\r\noof\r\n' | socat ${debug} ${timeou
|
|
18
18
|
printf '*3\r\n$3\r\nset\r\n$3\r\nbar\r\n$3\r\nrab\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
19
19
|
printf '*4\r\n$3\r\ndel\r\n$3\r\nfoo\r\n$3\r\nbar\r\n$6\r\nfoobar\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
20
20
|
|
21
|
+
printf '\ndump\n'
|
22
|
+
printf '*2\r\n$4\r\ndump\r\n$3\r\nfoo\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
23
|
+
printf '*3\r\n$3\r\nset\r\n$3\r\nfoo\r\n$3\r\noof\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
24
|
+
printf '*2\r\n$4\r\ndump\r\n$3\r\nfoo\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
25
|
+
|
21
26
|
printf '\nexists\n'
|
22
27
|
printf '*2\r\n$6\r\nexists\r\n$3\r\nfoo\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
23
28
|
printf '*3\r\n$3\r\nset\r\n$3\r\nfoo\r\n$3\r\noof\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
@@ -46,6 +51,10 @@ printf '*3\r\n$7\r\npexpire\r\n$3\r\nfoo\r\n$1\r\n0\r\n' | socat ${debug} ${time
|
|
46
51
|
printf '*3\r\n$3\r\nset\r\n$3\r\nfoo\r\n$3\r\noof\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
47
52
|
printf '*3\r\n$7\r\npexpire\r\n$3\r\nfoo\r\n$1\r\n0\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
48
53
|
|
54
|
+
printf '\nrestore\n'
|
55
|
+
printf '*2\r\n$3\r\ndel\r\n$3\r\nfoo\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
56
|
+
printf '*4\r\n$7\r\nrestore\r\n$3\r\nfoo\r\n$1\r\n0\r\n$3\r\noof\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
57
|
+
|
49
58
|
printf '\npttl\n'
|
50
59
|
printf '*2\r\n$4\r\npttl\r\n$3\r\nfoo\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
51
60
|
printf '*3\r\n$3\r\nset\r\n$3\r\nfoo\r\n$3\r\noof\r\n' | socat ${debug} ${timeout} - TCP:localhost:${port},shut-close
|
@@ -0,0 +1,647 @@
|
|
1
|
+
# Makefile.in generated by automake 1.10 from Makefile.am.
|
2
|
+
# src/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
|
+
|
18
|
+
pkgdatadir = $(datadir)/nutcracker
|
19
|
+
pkglibdir = $(libdir)/nutcracker
|
20
|
+
pkgincludedir = $(includedir)/nutcracker
|
21
|
+
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
22
|
+
install_sh_DATA = $(install_sh) -c -m 644
|
23
|
+
install_sh_PROGRAM = $(install_sh) -c
|
24
|
+
install_sh_SCRIPT = $(install_sh) -c
|
25
|
+
INSTALL_HEADER = $(INSTALL_DATA)
|
26
|
+
transform = $(program_transform_name)
|
27
|
+
NORMAL_INSTALL = :
|
28
|
+
PRE_INSTALL = :
|
29
|
+
POST_INSTALL = :
|
30
|
+
NORMAL_UNINSTALL = :
|
31
|
+
PRE_UNINSTALL = :
|
32
|
+
POST_UNINSTALL = :
|
33
|
+
build_triplet = i386-apple-darwin11.4.2
|
34
|
+
host_triplet = i386-apple-darwin11.4.2
|
35
|
+
bin_PROGRAMS = nutcracker$(EXEEXT)
|
36
|
+
subdir = src
|
37
|
+
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
38
|
+
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
39
|
+
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
|
40
|
+
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
41
|
+
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
42
|
+
$(top_srcdir)/configure.ac
|
43
|
+
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
44
|
+
$(ACLOCAL_M4)
|
45
|
+
mkinstalldirs = $(install_sh) -d
|
46
|
+
CONFIG_HEADER = $(top_builddir)/config.h
|
47
|
+
CONFIG_CLEAN_FILES =
|
48
|
+
am__installdirs = "$(DESTDIR)$(bindir)"
|
49
|
+
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
50
|
+
PROGRAMS = $(bin_PROGRAMS)
|
51
|
+
am_nutcracker_OBJECTS = nc_core.$(OBJEXT) nc_connection.$(OBJEXT) \
|
52
|
+
nc_client.$(OBJEXT) nc_server.$(OBJEXT) nc_proxy.$(OBJEXT) \
|
53
|
+
nc_message.$(OBJEXT) nc_request.$(OBJEXT) \
|
54
|
+
nc_response.$(OBJEXT) nc_mbuf.$(OBJEXT) nc_epoll.$(OBJEXT) \
|
55
|
+
nc_kqueue.$(OBJEXT) nc_conf.$(OBJEXT) nc_stats.$(OBJEXT) \
|
56
|
+
nc_signal.$(OBJEXT) nc_rbtree.$(OBJEXT) nc_log.$(OBJEXT) \
|
57
|
+
nc_string.$(OBJEXT) nc_array.$(OBJEXT) nc_util.$(OBJEXT) \
|
58
|
+
nc.$(OBJEXT)
|
59
|
+
nutcracker_OBJECTS = $(am_nutcracker_OBJECTS)
|
60
|
+
nutcracker_DEPENDENCIES = $(top_builddir)/src/hashkit/libhashkit.a \
|
61
|
+
$(top_builddir)/src/proto/libproto.a \
|
62
|
+
$(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a
|
63
|
+
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
64
|
+
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
65
|
+
am__depfiles_maybe = depfiles
|
66
|
+
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
67
|
+
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
68
|
+
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
69
|
+
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
70
|
+
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
71
|
+
CCLD = $(CC)
|
72
|
+
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
73
|
+
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
74
|
+
$(LDFLAGS) -o $@
|
75
|
+
SOURCES = $(nutcracker_SOURCES)
|
76
|
+
DIST_SOURCES = $(nutcracker_SOURCES)
|
77
|
+
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
78
|
+
html-recursive info-recursive install-data-recursive \
|
79
|
+
install-dvi-recursive install-exec-recursive \
|
80
|
+
install-html-recursive install-info-recursive \
|
81
|
+
install-pdf-recursive install-ps-recursive install-recursive \
|
82
|
+
installcheck-recursive installdirs-recursive pdf-recursive \
|
83
|
+
ps-recursive uninstall-recursive
|
84
|
+
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
85
|
+
distclean-recursive maintainer-clean-recursive
|
86
|
+
ETAGS = etags
|
87
|
+
CTAGS = ctags
|
88
|
+
DIST_SUBDIRS = $(SUBDIRS)
|
89
|
+
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
90
|
+
ACLOCAL = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run aclocal-1.10
|
91
|
+
AMTAR = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run tar
|
92
|
+
AR = ar
|
93
|
+
AUTOCONF = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoconf
|
94
|
+
AUTOHEADER = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run autoheader
|
95
|
+
AUTOMAKE = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run automake-1.10
|
96
|
+
AWK = awk
|
97
|
+
CC = gcc
|
98
|
+
CCDEPMODE = depmode=gcc3
|
99
|
+
CFLAGS = -g -O2
|
100
|
+
CPP = gcc -E
|
101
|
+
CPPFLAGS =
|
102
|
+
CXX = g++
|
103
|
+
CXXCPP = g++ -E
|
104
|
+
CXXDEPMODE = depmode=gcc3
|
105
|
+
CXXFLAGS = -g -O2
|
106
|
+
CYGPATH_W = echo
|
107
|
+
DEFS = -DHAVE_CONFIG_H
|
108
|
+
DEPDIR = .deps
|
109
|
+
DSYMUTIL = dsymutil
|
110
|
+
DUMPBIN =
|
111
|
+
ECHO_C = \c
|
112
|
+
ECHO_N =
|
113
|
+
ECHO_T =
|
114
|
+
EGREP = /usr/bin/grep -E
|
115
|
+
EXEEXT =
|
116
|
+
FGREP = /usr/bin/grep -F
|
117
|
+
GREP = /usr/bin/grep
|
118
|
+
INSTALL = /usr/bin/install -c
|
119
|
+
INSTALL_DATA = ${INSTALL} -m 644
|
120
|
+
INSTALL_PROGRAM = ${INSTALL}
|
121
|
+
INSTALL_SCRIPT = ${INSTALL}
|
122
|
+
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
123
|
+
LD = /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
|
124
|
+
LDFLAGS =
|
125
|
+
LIBOBJS =
|
126
|
+
LIBS = -lpthread -lm
|
127
|
+
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
128
|
+
LIPO = lipo
|
129
|
+
LN_S = ln -s
|
130
|
+
LTLIBOBJS =
|
131
|
+
MAKEINFO = ${SHELL} /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/missing --run makeinfo
|
132
|
+
MKDIR_P = ../config/install-sh -c -d
|
133
|
+
NM = /usr/bin/nm
|
134
|
+
NMEDIT = nmedit
|
135
|
+
OBJDUMP = false
|
136
|
+
OBJEXT = o
|
137
|
+
OTOOL = otool
|
138
|
+
OTOOL64 = :
|
139
|
+
PACKAGE = nutcracker
|
140
|
+
PACKAGE_BUGREPORT = manj@twitter.com
|
141
|
+
PACKAGE_NAME = nutcracker
|
142
|
+
PACKAGE_STRING = nutcracker 0.2.4
|
143
|
+
PACKAGE_TARNAME = nutcracker
|
144
|
+
PACKAGE_URL =
|
145
|
+
PACKAGE_VERSION = 0.2.4
|
146
|
+
PATH_SEPARATOR = :
|
147
|
+
RANLIB = ranlib
|
148
|
+
SED = /usr/bin/sed
|
149
|
+
SET_MAKE =
|
150
|
+
SHELL = /bin/sh
|
151
|
+
STRIP = strip
|
152
|
+
VERSION = 0.2.4
|
153
|
+
abs_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/src
|
154
|
+
abs_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/src
|
155
|
+
abs_top_builddir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
156
|
+
abs_top_srcdir = /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd
|
157
|
+
ac_ct_CC = gcc
|
158
|
+
ac_ct_CXX = g++
|
159
|
+
ac_ct_DUMPBIN =
|
160
|
+
am__include = include
|
161
|
+
am__leading_dot = .
|
162
|
+
am__quote =
|
163
|
+
am__tar = ${AMTAR} chof - "$$tardir"
|
164
|
+
am__untar = ${AMTAR} xf -
|
165
|
+
bindir = ${exec_prefix}/bin
|
166
|
+
build = i386-apple-darwin11.4.2
|
167
|
+
build_alias =
|
168
|
+
build_cpu = i386
|
169
|
+
build_os = darwin11.4.2
|
170
|
+
build_vendor = apple
|
171
|
+
builddir = .
|
172
|
+
datadir = ${datarootdir}
|
173
|
+
datarootdir = ${prefix}/share
|
174
|
+
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
175
|
+
dvidir = ${docdir}
|
176
|
+
exec_prefix = ${prefix}
|
177
|
+
host = i386-apple-darwin11.4.2
|
178
|
+
host_alias =
|
179
|
+
host_cpu = i386
|
180
|
+
host_os = darwin11.4.2
|
181
|
+
host_vendor = apple
|
182
|
+
htmldir = ${docdir}
|
183
|
+
includedir = ${prefix}/include
|
184
|
+
infodir = ${datarootdir}/info
|
185
|
+
install_sh = $(SHELL) /Users/eran/github/nutcracker/twemproxy-twemproxy_bsd/config/install-sh
|
186
|
+
libdir = ${exec_prefix}/lib
|
187
|
+
libexecdir = ${exec_prefix}/libexec
|
188
|
+
localedir = ${datarootdir}/locale
|
189
|
+
localstatedir = ${prefix}/var
|
190
|
+
mandir = ${datarootdir}/man
|
191
|
+
mkdir_p = $(top_builddir)/config/install-sh -c -d
|
192
|
+
oldincludedir = /usr/include
|
193
|
+
pdfdir = ${docdir}
|
194
|
+
prefix = /usr/local
|
195
|
+
program_transform_name = s,x,x,
|
196
|
+
psdir = ${docdir}
|
197
|
+
sbindir = ${exec_prefix}/sbin
|
198
|
+
sharedstatedir = ${prefix}/com
|
199
|
+
srcdir = .
|
200
|
+
subdirs = contrib/yaml-0.1.4
|
201
|
+
sysconfdir = ${prefix}/etc
|
202
|
+
target_alias =
|
203
|
+
top_build_prefix = ../
|
204
|
+
top_builddir = ..
|
205
|
+
top_srcdir = ..
|
206
|
+
MAINTAINERCLEANFILES = Makefile.in
|
207
|
+
AM_CPPFLAGS = -D_GNU_SOURCE -D_XOPEN_SOURCE -I \
|
208
|
+
$(top_srcdir)/src/hashkit -I $(top_srcdir)/src/proto -I \
|
209
|
+
$(top_srcdir)/contrib/yaml-0.1.4/include
|
210
|
+
AM_CFLAGS = -Wall -Wshadow -Wpointer-arith -Winline -Wunused-function \
|
211
|
+
-Wunused-variable -Wunused-value -Wno-unused-parameter \
|
212
|
+
-Wno-unused-value -Wconversion -Wsign-compare \
|
213
|
+
-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls \
|
214
|
+
-Wmissing-declarations
|
215
|
+
AM_LDFLAGS = -lm -lpthread -rdynamic
|
216
|
+
SUBDIRS = hashkit proto
|
217
|
+
nutcracker_SOURCES = \
|
218
|
+
nc_core.c nc_core.h \
|
219
|
+
nc_connection.c nc_connection.h \
|
220
|
+
nc_client.c nc_client.h \
|
221
|
+
nc_server.c nc_server.h \
|
222
|
+
nc_proxy.c nc_proxy.h \
|
223
|
+
nc_message.c nc_message.h \
|
224
|
+
nc_request.c \
|
225
|
+
nc_response.c \
|
226
|
+
nc_mbuf.c nc_mbuf.h \
|
227
|
+
nc_epoll.c nc_kqueue.c nc_event.h \
|
228
|
+
nc_conf.c nc_conf.h \
|
229
|
+
nc_stats.c nc_stats.h \
|
230
|
+
nc_signal.c nc_signal.h \
|
231
|
+
nc_rbtree.c nc_rbtree.h \
|
232
|
+
nc_log.c nc_log.h \
|
233
|
+
nc_string.c nc_string.h \
|
234
|
+
nc_array.c nc_array.h \
|
235
|
+
nc_util.c nc_util.h \
|
236
|
+
nc_queue.h \
|
237
|
+
nc.c
|
238
|
+
|
239
|
+
nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a \
|
240
|
+
$(top_builddir)/src/proto/libproto.a \
|
241
|
+
$(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a
|
242
|
+
all: all-recursive
|
243
|
+
|
244
|
+
.SUFFIXES:
|
245
|
+
.SUFFIXES: .c .lo .o .obj
|
246
|
+
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
247
|
+
@for dep in $?; do \
|
248
|
+
case '$(am__configure_deps)' in \
|
249
|
+
*$$dep*) \
|
250
|
+
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
251
|
+
&& exit 0; \
|
252
|
+
exit 1;; \
|
253
|
+
esac; \
|
254
|
+
done; \
|
255
|
+
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
|
256
|
+
cd $(top_srcdir) && \
|
257
|
+
$(AUTOMAKE) --foreign src/Makefile
|
258
|
+
.PRECIOUS: Makefile
|
259
|
+
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
260
|
+
@case '$?' in \
|
261
|
+
*config.status*) \
|
262
|
+
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
263
|
+
*) \
|
264
|
+
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
265
|
+
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
266
|
+
esac;
|
267
|
+
|
268
|
+
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
269
|
+
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
270
|
+
|
271
|
+
$(top_srcdir)/configure: $(am__configure_deps)
|
272
|
+
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
273
|
+
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
274
|
+
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
275
|
+
install-binPROGRAMS: $(bin_PROGRAMS)
|
276
|
+
@$(NORMAL_INSTALL)
|
277
|
+
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
278
|
+
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
279
|
+
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
280
|
+
if test -f $$p \
|
281
|
+
|| test -f $$p1 \
|
282
|
+
; then \
|
283
|
+
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
284
|
+
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
285
|
+
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
286
|
+
else :; fi; \
|
287
|
+
done
|
288
|
+
|
289
|
+
uninstall-binPROGRAMS:
|
290
|
+
@$(NORMAL_UNINSTALL)
|
291
|
+
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
292
|
+
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
293
|
+
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
294
|
+
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
295
|
+
done
|
296
|
+
|
297
|
+
clean-binPROGRAMS:
|
298
|
+
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
299
|
+
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
300
|
+
echo " rm -f $$p $$f"; \
|
301
|
+
rm -f $$p $$f ; \
|
302
|
+
done
|
303
|
+
nutcracker$(EXEEXT): $(nutcracker_OBJECTS) $(nutcracker_DEPENDENCIES)
|
304
|
+
@rm -f nutcracker$(EXEEXT)
|
305
|
+
$(LINK) $(nutcracker_OBJECTS) $(nutcracker_LDADD) $(LIBS)
|
306
|
+
|
307
|
+
mostlyclean-compile:
|
308
|
+
-rm -f *.$(OBJEXT)
|
309
|
+
|
310
|
+
distclean-compile:
|
311
|
+
-rm -f *.tab.c
|
312
|
+
|
313
|
+
include ./$(DEPDIR)/nc.Po
|
314
|
+
include ./$(DEPDIR)/nc_array.Po
|
315
|
+
include ./$(DEPDIR)/nc_client.Po
|
316
|
+
include ./$(DEPDIR)/nc_conf.Po
|
317
|
+
include ./$(DEPDIR)/nc_connection.Po
|
318
|
+
include ./$(DEPDIR)/nc_core.Po
|
319
|
+
include ./$(DEPDIR)/nc_epoll.Po
|
320
|
+
include ./$(DEPDIR)/nc_kqueue.Po
|
321
|
+
include ./$(DEPDIR)/nc_log.Po
|
322
|
+
include ./$(DEPDIR)/nc_mbuf.Po
|
323
|
+
include ./$(DEPDIR)/nc_message.Po
|
324
|
+
include ./$(DEPDIR)/nc_proxy.Po
|
325
|
+
include ./$(DEPDIR)/nc_rbtree.Po
|
326
|
+
include ./$(DEPDIR)/nc_request.Po
|
327
|
+
include ./$(DEPDIR)/nc_response.Po
|
328
|
+
include ./$(DEPDIR)/nc_server.Po
|
329
|
+
include ./$(DEPDIR)/nc_signal.Po
|
330
|
+
include ./$(DEPDIR)/nc_stats.Po
|
331
|
+
include ./$(DEPDIR)/nc_string.Po
|
332
|
+
include ./$(DEPDIR)/nc_util.Po
|
333
|
+
|
334
|
+
.c.o:
|
335
|
+
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
336
|
+
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
337
|
+
# source='$<' object='$@' libtool=no \
|
338
|
+
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
339
|
+
# $(COMPILE) -c $<
|
340
|
+
|
341
|
+
.c.obj:
|
342
|
+
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
343
|
+
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
344
|
+
# source='$<' object='$@' libtool=no \
|
345
|
+
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
346
|
+
# $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
347
|
+
|
348
|
+
.c.lo:
|
349
|
+
$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
350
|
+
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
351
|
+
# source='$<' object='$@' libtool=yes \
|
352
|
+
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
|
353
|
+
# $(LTCOMPILE) -c -o $@ $<
|
354
|
+
|
355
|
+
mostlyclean-libtool:
|
356
|
+
-rm -f *.lo
|
357
|
+
|
358
|
+
clean-libtool:
|
359
|
+
-rm -rf .libs _libs
|
360
|
+
|
361
|
+
# This directory's subdirectories are mostly independent; you can cd
|
362
|
+
# into them and run `make' without going through this Makefile.
|
363
|
+
# To change the values of `make' variables: instead of editing Makefiles,
|
364
|
+
# (1) if the variable is set in `config.status', edit `config.status'
|
365
|
+
# (which will cause the Makefiles to be regenerated when you run `make');
|
366
|
+
# (2) otherwise, pass the desired values on the `make' command line.
|
367
|
+
$(RECURSIVE_TARGETS):
|
368
|
+
@failcom='exit 1'; \
|
369
|
+
for f in x $$MAKEFLAGS; do \
|
370
|
+
case $$f in \
|
371
|
+
*=* | --[!k]*);; \
|
372
|
+
*k*) failcom='fail=yes';; \
|
373
|
+
esac; \
|
374
|
+
done; \
|
375
|
+
dot_seen=no; \
|
376
|
+
target=`echo $@ | sed s/-recursive//`; \
|
377
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
378
|
+
echo "Making $$target in $$subdir"; \
|
379
|
+
if test "$$subdir" = "."; then \
|
380
|
+
dot_seen=yes; \
|
381
|
+
local_target="$$target-am"; \
|
382
|
+
else \
|
383
|
+
local_target="$$target"; \
|
384
|
+
fi; \
|
385
|
+
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
386
|
+
|| eval $$failcom; \
|
387
|
+
done; \
|
388
|
+
if test "$$dot_seen" = "no"; then \
|
389
|
+
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
390
|
+
fi; test -z "$$fail"
|
391
|
+
|
392
|
+
$(RECURSIVE_CLEAN_TARGETS):
|
393
|
+
@failcom='exit 1'; \
|
394
|
+
for f in x $$MAKEFLAGS; do \
|
395
|
+
case $$f in \
|
396
|
+
*=* | --[!k]*);; \
|
397
|
+
*k*) failcom='fail=yes';; \
|
398
|
+
esac; \
|
399
|
+
done; \
|
400
|
+
dot_seen=no; \
|
401
|
+
case "$@" in \
|
402
|
+
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
403
|
+
*) list='$(SUBDIRS)' ;; \
|
404
|
+
esac; \
|
405
|
+
rev=''; for subdir in $$list; do \
|
406
|
+
if test "$$subdir" = "."; then :; else \
|
407
|
+
rev="$$subdir $$rev"; \
|
408
|
+
fi; \
|
409
|
+
done; \
|
410
|
+
rev="$$rev ."; \
|
411
|
+
target=`echo $@ | sed s/-recursive//`; \
|
412
|
+
for subdir in $$rev; do \
|
413
|
+
echo "Making $$target in $$subdir"; \
|
414
|
+
if test "$$subdir" = "."; then \
|
415
|
+
local_target="$$target-am"; \
|
416
|
+
else \
|
417
|
+
local_target="$$target"; \
|
418
|
+
fi; \
|
419
|
+
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
420
|
+
|| eval $$failcom; \
|
421
|
+
done && test -z "$$fail"
|
422
|
+
tags-recursive:
|
423
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
424
|
+
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
425
|
+
done
|
426
|
+
ctags-recursive:
|
427
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
428
|
+
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
429
|
+
done
|
430
|
+
|
431
|
+
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
432
|
+
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
433
|
+
unique=`for i in $$list; do \
|
434
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
435
|
+
done | \
|
436
|
+
$(AWK) ' { files[$$0] = 1; } \
|
437
|
+
END { for (i in files) print i; }'`; \
|
438
|
+
mkid -fID $$unique
|
439
|
+
tags: TAGS
|
440
|
+
|
441
|
+
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
442
|
+
$(TAGS_FILES) $(LISP)
|
443
|
+
tags=; \
|
444
|
+
here=`pwd`; \
|
445
|
+
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
446
|
+
include_option=--etags-include; \
|
447
|
+
empty_fix=.; \
|
448
|
+
else \
|
449
|
+
include_option=--include; \
|
450
|
+
empty_fix=; \
|
451
|
+
fi; \
|
452
|
+
list='$(SUBDIRS)'; for subdir in $$list; do \
|
453
|
+
if test "$$subdir" = .; then :; else \
|
454
|
+
test ! -f $$subdir/TAGS || \
|
455
|
+
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
456
|
+
fi; \
|
457
|
+
done; \
|
458
|
+
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
459
|
+
unique=`for i in $$list; do \
|
460
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
461
|
+
done | \
|
462
|
+
$(AWK) ' { files[$$0] = 1; } \
|
463
|
+
END { for (i in files) print i; }'`; \
|
464
|
+
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
465
|
+
test -n "$$unique" || unique=$$empty_fix; \
|
466
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
467
|
+
$$tags $$unique; \
|
468
|
+
fi
|
469
|
+
ctags: CTAGS
|
470
|
+
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
471
|
+
$(TAGS_FILES) $(LISP)
|
472
|
+
tags=; \
|
473
|
+
here=`pwd`; \
|
474
|
+
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
475
|
+
unique=`for i in $$list; do \
|
476
|
+
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
477
|
+
done | \
|
478
|
+
$(AWK) ' { files[$$0] = 1; } \
|
479
|
+
END { for (i in files) print i; }'`; \
|
480
|
+
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
481
|
+
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
482
|
+
$$tags $$unique
|
483
|
+
|
484
|
+
GTAGS:
|
485
|
+
here=`$(am__cd) $(top_builddir) && pwd` \
|
486
|
+
&& cd $(top_srcdir) \
|
487
|
+
&& gtags -i $(GTAGS_ARGS) $$here
|
488
|
+
|
489
|
+
distclean-tags:
|
490
|
+
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
491
|
+
|
492
|
+
distdir: $(DISTFILES)
|
493
|
+
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
494
|
+
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
495
|
+
list='$(DISTFILES)'; \
|
496
|
+
dist_files=`for file in $$list; do echo $$file; done | \
|
497
|
+
sed -e "s|^$$srcdirstrip/||;t" \
|
498
|
+
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
499
|
+
case $$dist_files in \
|
500
|
+
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
501
|
+
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
502
|
+
sort -u` ;; \
|
503
|
+
esac; \
|
504
|
+
for file in $$dist_files; do \
|
505
|
+
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
506
|
+
if test -d $$d/$$file; then \
|
507
|
+
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
508
|
+
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
509
|
+
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
510
|
+
fi; \
|
511
|
+
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
512
|
+
else \
|
513
|
+
test -f $(distdir)/$$file \
|
514
|
+
|| cp -p $$d/$$file $(distdir)/$$file \
|
515
|
+
|| exit 1; \
|
516
|
+
fi; \
|
517
|
+
done
|
518
|
+
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
519
|
+
if test "$$subdir" = .; then :; else \
|
520
|
+
test -d "$(distdir)/$$subdir" \
|
521
|
+
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
522
|
+
|| exit 1; \
|
523
|
+
distdir=`$(am__cd) $(distdir) && pwd`; \
|
524
|
+
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
525
|
+
(cd $$subdir && \
|
526
|
+
$(MAKE) $(AM_MAKEFLAGS) \
|
527
|
+
top_distdir="$$top_distdir" \
|
528
|
+
distdir="$$distdir/$$subdir" \
|
529
|
+
am__remove_distdir=: \
|
530
|
+
am__skip_length_check=: \
|
531
|
+
distdir) \
|
532
|
+
|| exit 1; \
|
533
|
+
fi; \
|
534
|
+
done
|
535
|
+
check-am: all-am
|
536
|
+
check: check-recursive
|
537
|
+
all-am: Makefile $(PROGRAMS)
|
538
|
+
installdirs: installdirs-recursive
|
539
|
+
installdirs-am:
|
540
|
+
for dir in "$(DESTDIR)$(bindir)"; do \
|
541
|
+
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
542
|
+
done
|
543
|
+
install: install-recursive
|
544
|
+
install-exec: install-exec-recursive
|
545
|
+
install-data: install-data-recursive
|
546
|
+
uninstall: uninstall-recursive
|
547
|
+
|
548
|
+
install-am: all-am
|
549
|
+
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
550
|
+
|
551
|
+
installcheck: installcheck-recursive
|
552
|
+
install-strip:
|
553
|
+
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
554
|
+
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
555
|
+
`test -z '$(STRIP)' || \
|
556
|
+
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
557
|
+
mostlyclean-generic:
|
558
|
+
|
559
|
+
clean-generic:
|
560
|
+
|
561
|
+
distclean-generic:
|
562
|
+
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
563
|
+
|
564
|
+
maintainer-clean-generic:
|
565
|
+
@echo "This command is intended for maintainers to use"
|
566
|
+
@echo "it deletes files that may require special tools to rebuild."
|
567
|
+
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
568
|
+
clean: clean-recursive
|
569
|
+
|
570
|
+
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
571
|
+
|
572
|
+
distclean: distclean-recursive
|
573
|
+
-rm -rf ./$(DEPDIR)
|
574
|
+
-rm -f Makefile
|
575
|
+
distclean-am: clean-am distclean-compile distclean-generic \
|
576
|
+
distclean-tags
|
577
|
+
|
578
|
+
dvi: dvi-recursive
|
579
|
+
|
580
|
+
dvi-am:
|
581
|
+
|
582
|
+
html: html-recursive
|
583
|
+
|
584
|
+
info: info-recursive
|
585
|
+
|
586
|
+
info-am:
|
587
|
+
|
588
|
+
install-data-am:
|
589
|
+
|
590
|
+
install-dvi: install-dvi-recursive
|
591
|
+
|
592
|
+
install-exec-am: install-binPROGRAMS
|
593
|
+
|
594
|
+
install-html: install-html-recursive
|
595
|
+
|
596
|
+
install-info: install-info-recursive
|
597
|
+
|
598
|
+
install-man:
|
599
|
+
|
600
|
+
install-pdf: install-pdf-recursive
|
601
|
+
|
602
|
+
install-ps: install-ps-recursive
|
603
|
+
|
604
|
+
installcheck-am:
|
605
|
+
|
606
|
+
maintainer-clean: maintainer-clean-recursive
|
607
|
+
-rm -rf ./$(DEPDIR)
|
608
|
+
-rm -f Makefile
|
609
|
+
maintainer-clean-am: distclean-am maintainer-clean-generic
|
610
|
+
|
611
|
+
mostlyclean: mostlyclean-recursive
|
612
|
+
|
613
|
+
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
614
|
+
mostlyclean-libtool
|
615
|
+
|
616
|
+
pdf: pdf-recursive
|
617
|
+
|
618
|
+
pdf-am:
|
619
|
+
|
620
|
+
ps: ps-recursive
|
621
|
+
|
622
|
+
ps-am:
|
623
|
+
|
624
|
+
uninstall-am: uninstall-binPROGRAMS
|
625
|
+
|
626
|
+
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
|
627
|
+
install-strip
|
628
|
+
|
629
|
+
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
630
|
+
all all-am check check-am clean clean-binPROGRAMS \
|
631
|
+
clean-generic clean-libtool ctags ctags-recursive distclean \
|
632
|
+
distclean-compile distclean-generic distclean-libtool \
|
633
|
+
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
634
|
+
install install-am install-binPROGRAMS install-data \
|
635
|
+
install-data-am install-dvi install-dvi-am install-exec \
|
636
|
+
install-exec-am install-html install-html-am install-info \
|
637
|
+
install-info-am install-man install-pdf install-pdf-am \
|
638
|
+
install-ps install-ps-am install-strip installcheck \
|
639
|
+
installcheck-am installdirs installdirs-am maintainer-clean \
|
640
|
+
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
641
|
+
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
642
|
+
tags tags-recursive uninstall uninstall-am \
|
643
|
+
uninstall-binPROGRAMS
|
644
|
+
|
645
|
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
646
|
+
# Otherwise a system limit (for SysV at least) may be exceeded.
|
647
|
+
.NOEXPORT:
|