nutcracker 0.2.4.mac9 → 0.2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +13 -46
- data/Rakefile +20 -15
- data/bin/nutcracker +1 -6
- data/ext/nutcracker/ChangeLog +0 -9
- data/ext/nutcracker/LICENSE +0 -0
- data/ext/nutcracker/Makefile.am +0 -0
- data/ext/nutcracker/Makefile.in +149 -66
- data/ext/nutcracker/NOTICE +0 -0
- data/ext/nutcracker/README.md +11 -13
- data/ext/nutcracker/aclocal.m4 +201 -112
- 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.in +0 -15
- data/ext/nutcracker/config/config.guess +84 -23
- data/ext/nutcracker/config/config.sub +93 -23
- data/ext/nutcracker/config/depcomp +81 -35
- data/ext/nutcracker/config/install-sh +122 -109
- data/ext/nutcracker/config/ltmain.sh +721 -1053
- data/ext/nutcracker/config/missing +29 -20
- data/ext/nutcracker/configure +2311 -2113
- data/ext/nutcracker/configure.ac +3 -35
- data/ext/nutcracker/contrib/Makefile.am +0 -0
- data/ext/nutcracker/contrib/Makefile.in +107 -41
- data/ext/nutcracker/contrib/yaml-0.1.4.tar.gz +0 -0
- data/ext/nutcracker/extconf.rb +5 -3
- data/ext/nutcracker/m4/libtool.m4 +492 -553
- data/ext/nutcracker/m4/ltoptions.m4 +6 -7
- data/ext/nutcracker/m4/ltversion.m4 +5 -5
- data/ext/nutcracker/m4/lt~obsolete.m4 +3 -9
- 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 +2 -21
- 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 +0 -9
- data/ext/nutcracker/src/Makefile.am +1 -1
- data/ext/nutcracker/src/Makefile.in +153 -74
- data/ext/nutcracker/src/hashkit/Makefile.am +0 -1
- data/ext/nutcracker/src/hashkit/Makefile.in +64 -39
- data/ext/nutcracker/src/hashkit/nc_crc32.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_hashkit.h +0 -2
- data/ext/nutcracker/src/hashkit/nc_hsieh.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.c +6 -18
- data/ext/nutcracker/src/hashkit/nc_murmur.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.c +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.c +0 -0
- data/ext/nutcracker/src/nc.c +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_client.c +0 -0
- data/ext/nutcracker/src/nc_client.h +0 -0
- data/ext/nutcracker/src/nc_conf.c +35 -14
- data/ext/nutcracker/src/nc_conf.h +1 -1
- data/ext/nutcracker/src/nc_connection.c +0 -0
- data/ext/nutcracker/src/nc_connection.h +0 -0
- data/ext/nutcracker/src/nc_core.c +26 -29
- data/ext/nutcracker/src/nc_core.h +5 -13
- data/ext/nutcracker/src/{nc_epoll.c → nc_event.c} +30 -94
- data/ext/nutcracker/src/nc_event.h +13 -33
- data/ext/nutcracker/src/nc_log.c +0 -0
- data/ext/nutcracker/src/nc_log.h +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_message.c +0 -0
- data/ext/nutcracker/src/nc_message.h +0 -2
- data/ext/nutcracker/src/nc_proxy.c +8 -8
- data/ext/nutcracker/src/nc_proxy.h +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_request.c +3 -3
- data/ext/nutcracker/src/nc_response.c +6 -4
- data/ext/nutcracker/src/nc_server.c +12 -14
- data/ext/nutcracker/src/nc_server.h +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_stats.c +21 -16
- data/ext/nutcracker/src/nc_stats.h +4 -3
- data/ext/nutcracker/src/nc_string.c +0 -0
- data/ext/nutcracker/src/nc_string.h +0 -0
- data/ext/nutcracker/src/nc_util.c +0 -16
- data/ext/nutcracker/src/nc_util.h +0 -1
- data/ext/nutcracker/src/proto/Makefile.am +0 -0
- data/ext/nutcracker/src/proto/Makefile.in +60 -32
- data/ext/nutcracker/src/proto/nc_memcache.c +0 -0
- data/ext/nutcracker/src/proto/nc_proto.h +0 -0
- data/ext/nutcracker/src/proto/nc_redis.c +4 -17
- data/lib/nutcracker.rb +2 -187
- data/lib/nutcracker/version.rb +1 -1
- metadata +10 -256
- data/ext/nutcracker/Makefile +0 -643
- data/ext/nutcracker/autom4te.cache/output.0 +0 -18664
- data/ext/nutcracker/autom4te.cache/output.1 +0 -18664
- data/ext/nutcracker/autom4te.cache/output.2 +0 -18664
- data/ext/nutcracker/autom4te.cache/requests +0 -494
- data/ext/nutcracker/autom4te.cache/traces.0 +0 -2415
- data/ext/nutcracker/autom4te.cache/traces.1 +0 -945
- data/ext/nutcracker/autom4te.cache/traces.2 +0 -2415
- data/ext/nutcracker/config.h +0 -332
- data/ext/nutcracker/config.log +0 -2684
- data/ext/nutcracker/config.status +0 -2317
- data/ext/nutcracker/contrib/Makefile +0 -494
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile +0 -736
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +0 -13102
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +0 -13085
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.2 +0 -13085
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +0 -476
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.0 +0 -2339
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +0 -545
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +0 -2339
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h +0 -81
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/config.log +0 -688
- data/ext/nutcracker/contrib/yaml-0.1.4/config.status +0 -2032
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/annotated.html +0 -51
- 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 +0 -41
- 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 +0 -656
- 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 +0 -40
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x62.html +0 -84
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x63.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x64.html +0 -83
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x65.html +0 -110
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x66.html +0 -79
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x68.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x69.html +0 -92
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6b.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6c.html +0 -88
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6d.html +0 -96
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6e.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x6f.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x70.html +0 -100
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x71.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x72.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x73.html +0 -163
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x74.html +0 -115
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x75.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x76.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_0x77.html +0 -77
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x62.html +0 -84
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x63.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x64.html +0 -83
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x65.html +0 -110
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x66.html +0 -79
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x68.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x69.html +0 -92
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6b.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6c.html +0 -88
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6d.html +0 -96
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6e.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x6f.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x70.html +0 -100
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x71.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x72.html +0 -87
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x73.html +0 -163
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x74.html +0 -115
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x75.html +0 -71
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x76.html +0 -80
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/functions_vars_0x77.html +0 -77
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals.html +0 -667
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_defs.html +0 -81
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_enum.html +0 -78
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_eval.html +0 -373
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_func.html +0 -196
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/globals_type.html +0 -126
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__basic.html +0 -320
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__emitter.html +0 -819
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__events.html +0 -664
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__export.html +0 -60
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__nodes.html +0 -795
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__parser.html +0 -606
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__styles.html +0 -222
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__tokens.html +0 -246
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/group__version.html +0 -106
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/index.html +0 -31
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/modules.html +0 -42
- 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 +0 -108
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__document__s.html +0 -235
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__emitter__s.html +0 -1300
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__event__s.html +0 -496
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__mark__s.html +0 -108
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__pair__s.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__node__s.html +0 -420
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__parser__s.html +0 -1229
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__simple__key__s.html +0 -97
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__tag__directive__s.html +0 -91
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__token__s.html +0 -413
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/structyaml__version__directive__s.html +0 -91
- 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 +0 -59
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/html/yaml_8h.html +0 -525
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.am +0 -17
- data/ext/nutcracker/contrib/yaml-0.1.4/include/Makefile.in +0 -470
- data/ext/nutcracker/contrib/yaml-0.1.4/libtool +0 -8890
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile +0 -484
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/libyaml.la +0 -41
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.lo +0 -12
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.o +0 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/stamp-h1 +0 -1
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile +0 -675
- 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 +0 -10
- data/ext/nutcracker/contrib/yaml-0.1.4/yaml-0.1.pc.in +0 -10
- data/ext/nutcracker/libtool +0 -9403
- data/ext/nutcracker/src/Makefile +0 -647
- data/ext/nutcracker/src/hashkit/Makefile +0 -476
- data/ext/nutcracker/src/hashkit/libhashkit.a +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc16.c +0 -66
- data/ext/nutcracker/src/hashkit/nc_crc16.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_crc32.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_fnv.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_hsieh.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_jenkins.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_ketama.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_md5.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_modula.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_murmur.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_one_at_a_time.o +0 -0
- data/ext/nutcracker/src/hashkit/nc_random.o +0 -0
- data/ext/nutcracker/src/nc.o +0 -0
- data/ext/nutcracker/src/nc_array.o +0 -0
- data/ext/nutcracker/src/nc_client.o +0 -0
- data/ext/nutcracker/src/nc_conf.o +0 -0
- data/ext/nutcracker/src/nc_connection.o +0 -0
- data/ext/nutcracker/src/nc_core.o +0 -0
- data/ext/nutcracker/src/nc_epoll.o +0 -0
- data/ext/nutcracker/src/nc_kqueue.c +0 -296
- data/ext/nutcracker/src/nc_kqueue.o +0 -0
- data/ext/nutcracker/src/nc_log.o +0 -0
- data/ext/nutcracker/src/nc_mbuf.o +0 -0
- data/ext/nutcracker/src/nc_message.o +0 -0
- data/ext/nutcracker/src/nc_proxy.o +0 -0
- data/ext/nutcracker/src/nc_rbtree.o +0 -0
- data/ext/nutcracker/src/nc_request.o +0 -0
- data/ext/nutcracker/src/nc_response.o +0 -0
- data/ext/nutcracker/src/nc_server.o +0 -0
- data/ext/nutcracker/src/nc_signal.o +0 -0
- data/ext/nutcracker/src/nc_stats.o +0 -0
- data/ext/nutcracker/src/nc_string.o +0 -0
- data/ext/nutcracker/src/nc_util.o +0 -0
- data/ext/nutcracker/src/nutcracker +0 -0
- data/ext/nutcracker/src/proto/Makefile +0 -454
- data/ext/nutcracker/src/proto/libproto.a +0 -0
- data/ext/nutcracker/src/proto/nc_memcache.o +0 -0
- data/ext/nutcracker/src/proto/nc_redis.o +0 -0
- data/ext/nutcracker/stamp-h1 +0 -1
data/README.md
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
# Nutcracker
|
|
2
|
-
<a href="https://rubygems.org/gems/
|
|
2
|
+
<a href="https://rubygems.org/gems/graphite-api"><img src=https://fury-badge.herokuapp.com/rb/nutcracker.png></a>
|
|
3
3
|
|
|
4
|
-
This library wraps Twitter's [Nutcracker](https://github.com/twitter/twemproxy) in a gem package and provides
|
|
5
|
-
|
|
6
|
-
### Disclaimer
|
|
7
|
-
this project is still in its early stages, so things could be a little buggy, if you find one, feel free to [report](https://github.com/kontera-technologies/nutcracker/issues) it.
|
|
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.
|
|
8
6
|
|
|
9
7
|
## Motivation
|
|
10
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.
|
|
11
9
|
|
|
12
|
-
##
|
|
13
|
-
- [nutcracker-graphite](https://github.com/kontera-technologies/nutcracker-graphite) - Send cluster stats to Graphite
|
|
14
|
-
- [nutcracker-web](https://github.com/kontera-technologies/nutcracker-web) - Web interface
|
|
10
|
+
## Installation
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
Add this line to your application's Gemfile:
|
|
18
|
-
```
|
|
19
|
-
gem 'nutcracker'
|
|
20
|
-
```
|
|
12
|
+
`gem install nutcracker`
|
|
21
13
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
Or if you are using a `Gemfile`
|
|
15
|
+
|
|
16
|
+
```ruby
|
|
17
|
+
source :rubygems
|
|
18
|
+
|
|
19
|
+
gem 'nutcracker'
|
|
25
20
|
```
|
|
26
21
|
|
|
27
22
|
after the gem was successfully installed, the `nutcracker` executable should be available
|
|
@@ -49,37 +44,9 @@ Options:
|
|
|
49
44
|
-m, --mbuf-size=N : set size of mbuf chunk in bytes (default: 16384 bytes)
|
|
50
45
|
|
|
51
46
|
```
|
|
52
|
-
|
|
53
|
-
### Ruby Wrapper
|
|
54
|
-
a simple ruby wrapper is also included
|
|
55
|
-
|
|
56
|
-
```ruby
|
|
57
|
-
require 'nutcracker'
|
|
58
|
-
|
|
59
|
-
nutcracker = Nutcracker.start(config_file: 'cluster.yaml')
|
|
60
|
-
nutcracker.running? # => true
|
|
61
|
-
|
|
62
|
-
nutcracker.stats # => {"source"=>"local", "version"=>"0.2.4", "uptime"=>6...}
|
|
63
|
-
|
|
64
|
-
nutcracker.stop
|
|
65
|
-
nutcracker.running? # => false
|
|
66
|
-
|
|
67
|
-
nutcracker.start
|
|
68
|
-
nutcracker.join # wait for server to exit
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
you can also attach to a running instance of nutcracker
|
|
72
|
-
|
|
73
|
-
```ruby
|
|
74
|
-
Nutcracker.attach(config_file: 'cluster.yaml', stats_port: 22222)
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Building new gems
|
|
47
|
+
## Wanna build a new version?
|
|
78
48
|
* Set the version @ `lib/nutcracker/version.rb` ( [Available Versions](https://code.google.com/p/twemproxy/downloads/list) )
|
|
79
49
|
* run the `rake build` command
|
|
80
50
|
* look for `nutcracker-X.Y.Z` gem under the pkg folder
|
|
81
51
|
|
|
82
|
-
|
|
83
|
-
This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
|
|
84
|
-
|
|
85
|
-
> for more details like licensing etc, please look @ [Nutcracker](https://github.com/twitter/twemproxy)
|
|
52
|
+
> for more details like licensing etc, please look @ [Nutcracker](https://github.com/twitter/twemproxy)
|
data/Rakefile
CHANGED
|
@@ -2,23 +2,36 @@ $:.unshift File.expand_path '../lib', __FILE__
|
|
|
2
2
|
require 'nutcracker'
|
|
3
3
|
require 'rake'
|
|
4
4
|
require 'rubygems/package_task'
|
|
5
|
-
require "rake/testtask"
|
|
6
5
|
|
|
7
|
-
Nutcracker::GemSpec =
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
Nutcracker::GemSpec = Gem::Specification.new do |s|
|
|
7
|
+
s.name = "nutcracker"
|
|
8
|
+
s.version = Nutcracker.version.dup
|
|
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
|
|
10
23
|
|
|
11
24
|
task :download do
|
|
12
|
-
"nutcracker-#{
|
|
25
|
+
"nutcracker-#{Nutcracker.version}.tar.gz".tap do |tarball|
|
|
13
26
|
sh "mkdir ext" unless File.directory? "ext"
|
|
14
27
|
sh "rm -rf ext/nutcracker"
|
|
15
28
|
sh "wget https://twemproxy.googlecode.com/files/#{tarball}"
|
|
16
29
|
sh "tar -zxvf #{tarball}"
|
|
17
|
-
sh "mv nutcracker-#{
|
|
30
|
+
sh "mv nutcracker-#{Nutcracker.version} ext/nutcracker"
|
|
18
31
|
File.open("ext/nutcracker/extconf.rb",'w') do |file|
|
|
19
32
|
file.puts %q{
|
|
20
33
|
raise "no support for #{RUBY_PLATFORM}" if RUBY_PLATFORM =~ /darwin|mswin|mingw/
|
|
21
|
-
system
|
|
34
|
+
system './configure'
|
|
22
35
|
system 'make'
|
|
23
36
|
}
|
|
24
37
|
end
|
|
@@ -40,11 +53,3 @@ task :install => [:gem] do
|
|
|
40
53
|
sh "gem install pkg/nutcracker"
|
|
41
54
|
Rake::Task['clobber_package'].execute
|
|
42
55
|
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,12 +1,3 @@
|
|
|
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
|
-
|
|
10
1
|
2013-31-01 Manju Rajashekhar <manj@twitter.com>
|
|
11
2
|
* twemproxy: version 0.2.3 release
|
|
12
3
|
RPOPLPUSH, SDIFF, SDIFFSTORE, SINTER, SINTERSTORE, SMOVE, SUNION, SUNIONSTORE, ZINTERSTORE, and ZUNIONSTORE support (dcartoon)
|
data/ext/nutcracker/LICENSE
CHANGED
|
File without changes
|
data/ext/nutcracker/Makefile.am
CHANGED
|
File without changes
|
data/ext/nutcracker/Makefile.in
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.
|
|
1
|
+
# Makefile.in generated by automake 1.11 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
4
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
|
5
|
-
# 2003, 2004, 2005, 2006 Free Software Foundation,
|
|
5
|
+
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
|
6
|
+
# Inc.
|
|
6
7
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
8
|
# gives unlimited permission to copy and/or distribute it,
|
|
8
9
|
# with or without modifications, as long as this notice is preserved.
|
|
@@ -15,8 +16,9 @@
|
|
|
15
16
|
@SET_MAKE@
|
|
16
17
|
VPATH = @srcdir@
|
|
17
18
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
18
|
-
pkglibdir = $(libdir)/@PACKAGE@
|
|
19
19
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
20
|
+
pkglibdir = $(libdir)/@PACKAGE@
|
|
21
|
+
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
|
20
22
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
21
23
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
22
24
|
install_sh_PROGRAM = $(install_sh) -c
|
|
@@ -49,6 +51,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|
|
49
51
|
mkinstalldirs = $(install_sh) -d
|
|
50
52
|
CONFIG_HEADER = config.h
|
|
51
53
|
CONFIG_CLEAN_FILES =
|
|
54
|
+
CONFIG_CLEAN_VPATH_FILES =
|
|
52
55
|
SOURCES =
|
|
53
56
|
DIST_SOURCES =
|
|
54
57
|
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
@@ -60,6 +63,9 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
|
60
63
|
ps-recursive uninstall-recursive
|
|
61
64
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
|
62
65
|
distclean-recursive maintainer-clean-recursive
|
|
66
|
+
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
|
67
|
+
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
|
68
|
+
distdir dist dist-all distcheck
|
|
63
69
|
ETAGS = etags
|
|
64
70
|
CTAGS = ctags
|
|
65
71
|
DIST_SUBDIRS = $(SUBDIRS)
|
|
@@ -67,9 +73,34 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
|
67
73
|
distdir = $(PACKAGE)-$(VERSION)
|
|
68
74
|
top_distdir = $(distdir)
|
|
69
75
|
am__remove_distdir = \
|
|
70
|
-
{ test ! -d $(distdir) \
|
|
71
|
-
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
|
72
|
-
&& rm -fr $(distdir); }; }
|
|
76
|
+
{ test ! -d "$(distdir)" \
|
|
77
|
+
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
|
78
|
+
&& rm -fr "$(distdir)"; }; }
|
|
79
|
+
am__relativize = \
|
|
80
|
+
dir0=`pwd`; \
|
|
81
|
+
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
|
82
|
+
sed_rest='s,^[^/]*/*,,'; \
|
|
83
|
+
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
|
84
|
+
sed_butlast='s,/*[^/]*$$,,'; \
|
|
85
|
+
while test -n "$$dir1"; do \
|
|
86
|
+
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
|
87
|
+
if test "$$first" != "."; then \
|
|
88
|
+
if test "$$first" = ".."; then \
|
|
89
|
+
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
|
90
|
+
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
|
91
|
+
else \
|
|
92
|
+
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
|
93
|
+
if test "$$first2" = "$$first"; then \
|
|
94
|
+
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
|
95
|
+
else \
|
|
96
|
+
dir2="../$$dir2"; \
|
|
97
|
+
fi; \
|
|
98
|
+
dir0="$$dir0"/"$$first"; \
|
|
99
|
+
fi; \
|
|
100
|
+
fi; \
|
|
101
|
+
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
|
102
|
+
done; \
|
|
103
|
+
reldir="$$dir2"
|
|
73
104
|
DIST_ARCHIVES = $(distdir).tar.gz
|
|
74
105
|
GZIP_ENV = --best
|
|
75
106
|
distuninstallcheck_listfiles = find . -type f -print
|
|
@@ -174,6 +205,7 @@ libdir = @libdir@
|
|
|
174
205
|
libexecdir = @libexecdir@
|
|
175
206
|
localedir = @localedir@
|
|
176
207
|
localstatedir = @localstatedir@
|
|
208
|
+
lt_ECHO = @lt_ECHO@
|
|
177
209
|
mandir = @mandir@
|
|
178
210
|
mkdir_p = @mkdir_p@
|
|
179
211
|
oldincludedir = @oldincludedir@
|
|
@@ -204,15 +236,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|
|
204
236
|
@for dep in $?; do \
|
|
205
237
|
case '$(am__configure_deps)' in \
|
|
206
238
|
*$$dep*) \
|
|
207
|
-
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign
|
|
208
|
-
|
|
239
|
+
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
|
240
|
+
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
|
209
241
|
&& exit 0; \
|
|
210
242
|
exit 1;; \
|
|
211
243
|
esac; \
|
|
212
244
|
done; \
|
|
213
|
-
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign
|
|
214
|
-
|
|
215
|
-
$(AUTOMAKE) --foreign
|
|
245
|
+
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
|
246
|
+
$(am__cd) $(top_srcdir) && \
|
|
247
|
+
$(AUTOMAKE) --foreign Makefile
|
|
216
248
|
.PRECIOUS: Makefile
|
|
217
249
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
218
250
|
@case '$?' in \
|
|
@@ -228,9 +260,10 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC
|
|
|
228
260
|
$(SHELL) ./config.status --recheck
|
|
229
261
|
|
|
230
262
|
$(top_srcdir)/configure: $(am__configure_deps)
|
|
231
|
-
|
|
263
|
+
$(am__cd) $(srcdir) && $(AUTOCONF)
|
|
232
264
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
|
233
|
-
|
|
265
|
+
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
|
266
|
+
$(am__aclocal_m4_deps):
|
|
234
267
|
|
|
235
268
|
config.h: stamp-h1
|
|
236
269
|
@if test ! -f $@; then \
|
|
@@ -242,7 +275,7 @@ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
|
|
242
275
|
@rm -f stamp-h1
|
|
243
276
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
|
244
277
|
$(srcdir)/config.h.in: $(am__configure_deps)
|
|
245
|
-
|
|
278
|
+
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
|
246
279
|
rm -f stamp-h1
|
|
247
280
|
touch $@
|
|
248
281
|
|
|
@@ -256,7 +289,7 @@ clean-libtool:
|
|
|
256
289
|
-rm -rf .libs _libs
|
|
257
290
|
|
|
258
291
|
distclean-libtool:
|
|
259
|
-
-rm -f libtool
|
|
292
|
+
-rm -f libtool config.lt
|
|
260
293
|
|
|
261
294
|
# This directory's subdirectories are mostly independent; you can cd
|
|
262
295
|
# into them and run `make' without going through this Makefile.
|
|
@@ -282,7 +315,7 @@ $(RECURSIVE_TARGETS):
|
|
|
282
315
|
else \
|
|
283
316
|
local_target="$$target"; \
|
|
284
317
|
fi; \
|
|
285
|
-
(
|
|
318
|
+
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|
286
319
|
|| eval $$failcom; \
|
|
287
320
|
done; \
|
|
288
321
|
if test "$$dot_seen" = "no"; then \
|
|
@@ -316,16 +349,16 @@ $(RECURSIVE_CLEAN_TARGETS):
|
|
|
316
349
|
else \
|
|
317
350
|
local_target="$$target"; \
|
|
318
351
|
fi; \
|
|
319
|
-
(
|
|
352
|
+
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|
320
353
|
|| eval $$failcom; \
|
|
321
354
|
done && test -z "$$fail"
|
|
322
355
|
tags-recursive:
|
|
323
356
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
324
|
-
test "$$subdir" = . || (
|
|
357
|
+
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
|
325
358
|
done
|
|
326
359
|
ctags-recursive:
|
|
327
360
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
328
|
-
test "$$subdir" = . || (
|
|
361
|
+
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
|
329
362
|
done
|
|
330
363
|
|
|
331
364
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|
@@ -333,14 +366,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|
|
333
366
|
unique=`for i in $$list; do \
|
|
334
367
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
335
368
|
done | \
|
|
336
|
-
$(AWK) '
|
|
337
|
-
|
|
369
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
370
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
338
371
|
mkid -fID $$unique
|
|
339
372
|
tags: TAGS
|
|
340
373
|
|
|
341
374
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|
342
375
|
$(TAGS_FILES) $(LISP)
|
|
343
|
-
|
|
376
|
+
set x; \
|
|
344
377
|
here=`pwd`; \
|
|
345
378
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
|
346
379
|
include_option=--etags-include; \
|
|
@@ -352,46 +385,50 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|
|
352
385
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
353
386
|
if test "$$subdir" = .; then :; else \
|
|
354
387
|
test ! -f $$subdir/TAGS || \
|
|
355
|
-
|
|
388
|
+
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
|
356
389
|
fi; \
|
|
357
390
|
done; \
|
|
358
391
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
|
359
392
|
unique=`for i in $$list; do \
|
|
360
393
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
361
394
|
done | \
|
|
362
|
-
$(AWK) '
|
|
363
|
-
|
|
364
|
-
|
|
395
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
396
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
397
|
+
shift; \
|
|
398
|
+
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
|
365
399
|
test -n "$$unique" || unique=$$empty_fix; \
|
|
366
|
-
|
|
367
|
-
|
|
400
|
+
if test $$# -gt 0; then \
|
|
401
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
402
|
+
"$$@" $$unique; \
|
|
403
|
+
else \
|
|
404
|
+
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
405
|
+
$$unique; \
|
|
406
|
+
fi; \
|
|
368
407
|
fi
|
|
369
408
|
ctags: CTAGS
|
|
370
409
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
|
371
410
|
$(TAGS_FILES) $(LISP)
|
|
372
|
-
tags=; \
|
|
373
|
-
here=`pwd`; \
|
|
374
411
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
|
375
412
|
unique=`for i in $$list; do \
|
|
376
413
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
377
414
|
done | \
|
|
378
|
-
$(AWK) '
|
|
379
|
-
|
|
380
|
-
test -z "$(CTAGS_ARGS)$$
|
|
415
|
+
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
416
|
+
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
417
|
+
test -z "$(CTAGS_ARGS)$$unique" \
|
|
381
418
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
382
|
-
$$
|
|
419
|
+
$$unique
|
|
383
420
|
|
|
384
421
|
GTAGS:
|
|
385
422
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
|
386
|
-
&&
|
|
387
|
-
&& gtags -i $(GTAGS_ARGS) $$here
|
|
423
|
+
&& $(am__cd) $(top_srcdir) \
|
|
424
|
+
&& gtags -i $(GTAGS_ARGS) "$$here"
|
|
388
425
|
|
|
389
426
|
distclean-tags:
|
|
390
427
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
|
391
428
|
|
|
392
429
|
distdir: $(DISTFILES)
|
|
393
430
|
$(am__remove_distdir)
|
|
394
|
-
test -d $(distdir) || mkdir $(distdir)
|
|
431
|
+
test -d "$(distdir)" || mkdir "$(distdir)"
|
|
395
432
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
|
396
433
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
|
397
434
|
list='$(DISTFILES)'; \
|
|
@@ -407,38 +444,54 @@ distdir: $(DISTFILES)
|
|
|
407
444
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
|
408
445
|
if test -d $$d/$$file; then \
|
|
409
446
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
447
|
+
if test -d "$(distdir)/$$file"; then \
|
|
448
|
+
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
449
|
+
fi; \
|
|
410
450
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
|
411
|
-
cp -
|
|
451
|
+
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
|
452
|
+
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
412
453
|
fi; \
|
|
413
|
-
cp -
|
|
454
|
+
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
|
414
455
|
else \
|
|
415
|
-
test -f $(distdir)/$$file \
|
|
416
|
-
|| cp -p $$d/$$file $(distdir)/$$file \
|
|
456
|
+
test -f "$(distdir)/$$file" \
|
|
457
|
+
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
|
417
458
|
|| exit 1; \
|
|
418
459
|
fi; \
|
|
419
460
|
done
|
|
420
|
-
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
|
461
|
+
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
|
421
462
|
if test "$$subdir" = .; then :; else \
|
|
422
463
|
test -d "$(distdir)/$$subdir" \
|
|
423
464
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
|
424
465
|
|| exit 1; \
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
466
|
+
fi; \
|
|
467
|
+
done
|
|
468
|
+
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
|
469
|
+
if test "$$subdir" = .; then :; else \
|
|
470
|
+
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
|
471
|
+
$(am__relativize); \
|
|
472
|
+
new_distdir=$$reldir; \
|
|
473
|
+
dir1=$$subdir; dir2="$(top_distdir)"; \
|
|
474
|
+
$(am__relativize); \
|
|
475
|
+
new_top_distdir=$$reldir; \
|
|
476
|
+
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
|
477
|
+
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
|
478
|
+
($(am__cd) $$subdir && \
|
|
428
479
|
$(MAKE) $(AM_MAKEFLAGS) \
|
|
429
|
-
top_distdir="$$
|
|
430
|
-
distdir="$$
|
|
480
|
+
top_distdir="$$new_top_distdir" \
|
|
481
|
+
distdir="$$new_distdir" \
|
|
431
482
|
am__remove_distdir=: \
|
|
432
483
|
am__skip_length_check=: \
|
|
484
|
+
am__skip_mode_fix=: \
|
|
433
485
|
distdir) \
|
|
434
486
|
|| exit 1; \
|
|
435
487
|
fi; \
|
|
436
488
|
done
|
|
437
|
-
-
|
|
489
|
+
-test -n "$(am__skip_mode_fix)" \
|
|
490
|
+
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
|
438
491
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
|
439
492
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
|
440
493
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
|
441
|
-
|| chmod -R a+r $(distdir)
|
|
494
|
+
|| chmod -R a+r "$(distdir)"
|
|
442
495
|
dist-gzip: distdir
|
|
443
496
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
|
444
497
|
$(am__remove_distdir)
|
|
@@ -447,6 +500,14 @@ dist-bzip2: distdir
|
|
|
447
500
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
|
448
501
|
$(am__remove_distdir)
|
|
449
502
|
|
|
503
|
+
dist-lzma: distdir
|
|
504
|
+
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
|
505
|
+
$(am__remove_distdir)
|
|
506
|
+
|
|
507
|
+
dist-xz: distdir
|
|
508
|
+
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
|
|
509
|
+
$(am__remove_distdir)
|
|
510
|
+
|
|
450
511
|
dist-tarZ: distdir
|
|
451
512
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
|
452
513
|
$(am__remove_distdir)
|
|
@@ -473,6 +534,10 @@ distcheck: dist
|
|
|
473
534
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
|
474
535
|
*.tar.bz2*) \
|
|
475
536
|
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
|
537
|
+
*.tar.lzma*) \
|
|
538
|
+
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
|
|
539
|
+
*.tar.xz*) \
|
|
540
|
+
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
|
476
541
|
*.tar.Z*) \
|
|
477
542
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
|
478
543
|
*.shar.gz*) \
|
|
@@ -484,9 +549,11 @@ distcheck: dist
|
|
|
484
549
|
mkdir $(distdir)/_build
|
|
485
550
|
mkdir $(distdir)/_inst
|
|
486
551
|
chmod a-w $(distdir)
|
|
552
|
+
test -d $(distdir)/_build || exit 0; \
|
|
487
553
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
|
488
554
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
|
489
|
-
&&
|
|
555
|
+
&& am__cwd=`pwd` \
|
|
556
|
+
&& $(am__cd) $(distdir)/_build \
|
|
490
557
|
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
|
491
558
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
|
492
559
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
|
@@ -508,13 +575,15 @@ distcheck: dist
|
|
|
508
575
|
&& rm -rf "$$dc_destdir" \
|
|
509
576
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
|
510
577
|
&& rm -rf $(DIST_ARCHIVES) \
|
|
511
|
-
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
|
578
|
+
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
|
579
|
+
&& cd "$$am__cwd" \
|
|
580
|
+
|| exit 1
|
|
512
581
|
$(am__remove_distdir)
|
|
513
582
|
@(echo "$(distdir) archives ready for distribution: "; \
|
|
514
583
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
|
515
584
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
|
516
585
|
distuninstallcheck:
|
|
517
|
-
|
|
586
|
+
@$(am__cd) '$(distuninstallcheck_dir)' \
|
|
518
587
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
|
519
588
|
|| { echo "ERROR: files left after uninstall:" ; \
|
|
520
589
|
if test -n "$(DESTDIR)"; then \
|
|
@@ -556,6 +625,7 @@ clean-generic:
|
|
|
556
625
|
|
|
557
626
|
distclean-generic:
|
|
558
627
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
|
628
|
+
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
|
559
629
|
|
|
560
630
|
maintainer-clean-generic:
|
|
561
631
|
@echo "This command is intended for maintainers to use"
|
|
@@ -577,6 +647,8 @@ dvi-am:
|
|
|
577
647
|
|
|
578
648
|
html: html-recursive
|
|
579
649
|
|
|
650
|
+
html-am:
|
|
651
|
+
|
|
580
652
|
info: info-recursive
|
|
581
653
|
|
|
582
654
|
info-am:
|
|
@@ -585,18 +657,28 @@ install-data-am:
|
|
|
585
657
|
|
|
586
658
|
install-dvi: install-dvi-recursive
|
|
587
659
|
|
|
660
|
+
install-dvi-am:
|
|
661
|
+
|
|
588
662
|
install-exec-am:
|
|
589
663
|
|
|
590
664
|
install-html: install-html-recursive
|
|
591
665
|
|
|
666
|
+
install-html-am:
|
|
667
|
+
|
|
592
668
|
install-info: install-info-recursive
|
|
593
669
|
|
|
670
|
+
install-info-am:
|
|
671
|
+
|
|
594
672
|
install-man:
|
|
595
673
|
|
|
596
674
|
install-pdf: install-pdf-recursive
|
|
597
675
|
|
|
676
|
+
install-pdf-am:
|
|
677
|
+
|
|
598
678
|
install-ps: install-ps-recursive
|
|
599
679
|
|
|
680
|
+
install-ps-am:
|
|
681
|
+
|
|
600
682
|
installcheck-am:
|
|
601
683
|
|
|
602
684
|
maintainer-clean: maintainer-clean-recursive
|
|
@@ -619,24 +701,25 @@ ps-am:
|
|
|
619
701
|
|
|
620
702
|
uninstall-am:
|
|
621
703
|
|
|
622
|
-
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS)
|
|
623
|
-
install-strip
|
|
704
|
+
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
|
|
705
|
+
ctags-recursive install-am install-strip tags-recursive
|
|
624
706
|
|
|
625
707
|
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
|
626
708
|
all all-am am--refresh check check-am clean clean-generic \
|
|
627
709
|
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
|
628
|
-
dist-gzip dist-shar dist-tarZ dist-zip
|
|
629
|
-
distclean-generic distclean-hdr
|
|
630
|
-
distclean-tags distcleancheck distdir
|
|
631
|
-
dvi-am html html-am info info-am
|
|
632
|
-
install-data install-data-am install-dvi
|
|
633
|
-
install-exec install-exec-am install-html
|
|
634
|
-
install-info install-info-am install-man
|
|
635
|
-
install-pdf-am install-ps install-ps-am
|
|
636
|
-
installcheck installcheck-am installdirs
|
|
637
|
-
maintainer-clean maintainer-clean-generic
|
|
638
|
-
mostlyclean-generic mostlyclean-libtool pdf pdf-am
|
|
639
|
-
tags tags-recursive uninstall uninstall-am
|
|
710
|
+
dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
|
|
711
|
+
distcheck distclean distclean-generic distclean-hdr \
|
|
712
|
+
distclean-libtool distclean-tags distcleancheck distdir \
|
|
713
|
+
distuninstallcheck dvi dvi-am html html-am info info-am \
|
|
714
|
+
install install-am install-data install-data-am install-dvi \
|
|
715
|
+
install-dvi-am install-exec install-exec-am install-html \
|
|
716
|
+
install-html-am install-info install-info-am install-man \
|
|
717
|
+
install-pdf install-pdf-am install-ps install-ps-am \
|
|
718
|
+
install-strip installcheck installcheck-am installdirs \
|
|
719
|
+
installdirs-am maintainer-clean maintainer-clean-generic \
|
|
720
|
+
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
|
721
|
+
ps ps-am tags tags-recursive uninstall uninstall-am
|
|
722
|
+
|
|
640
723
|
|
|
641
724
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
642
725
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|