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