Updates, rpm now tests the install locations.
authorBrian Aker <brian@gaz>
Fri, 8 Jan 2010 21:22:36 +0000 (13:22 -0800)
committerBrian Aker <brian@gaz>
Fri, 8 Jan 2010 21:22:36 +0000 (13:22 -0800)
51 files changed:
.bzrignore
AUTHORS
ChangeLog
Makefile.am
configure.ac
docs/Makefile.am
docs/libmemcached.pod
docs/libmemcached_examples.pod
docs/libmemcachedutil.pod
docs/make_index.pl [new file with mode: 0644]
docs/memcached_analyze.pod
docs/memcached_auto.pod
docs/memcached_behavior.pod
docs/memcached_callback.pod
docs/memcached_create.pod
docs/memcached_delete.pod
docs/memcached_dump.pod
docs/memcached_flush.pod
docs/memcached_flush_buffers.pod
docs/memcached_generate_hash_value.pod
docs/memcached_get.pod
docs/memcached_memory_allocators.pod
docs/memcached_pool.pod
docs/memcached_quit.pod
docs/memcached_result_st.pod
docs/memcached_server_st.pod
docs/memcached_servers.pod
docs/memcached_set.pod
docs/memcached_stats.pod
docs/memcached_strerror.pod
docs/memcached_user_data.pod
docs/memcached_verbosity.pod
docs/memcached_version.pod
docs/memcapable.pod
docs/memcat.pod
docs/memcp.pod
docs/memdump.pod
docs/memerror.pod
docs/memflush.pod
docs/memrm.pod
docs/memslap.pod
docs/memstat.pod
libhashkit/Makefile.am [deleted file]
libhashkit/hsieh.c
libhashkit/include.am [new file with mode: 0644]
libmemcached/configure.h.in [new file with mode: 0644]
libmemcached/include.am
libmemcached/memcached.h
libmemcached/memcached/protocol_binary.h
libmemcached/memcached_configure.h.in [deleted file]
support/libmemcached.spec.in

index 2fb793316f7fbe73cb35acff914dde4e6ef06915..6914a1703aec517f6fa56389e16908d07426464a 100644 (file)
@@ -39,6 +39,9 @@ config/missing
 config/plugin.ac
 configure
 docs/*.[13]
+docs/*.html
+docs/pod2htmd.tmp
+docs/pod2htmi.tmp
 example/memcached_light
 libmemcached-*.tar.gz
 libmemcached-0.30-1.src.rpm
@@ -66,3 +69,106 @@ tests/testapp
 tests/testhashkit
 tests/testplus
 tests/udptest
+hashkit_clone.pop
+hashkit_crc32.pop
+hashkit_create.pop
+hashkit_fnv1_32.pop
+hashkit_fnv1_64.pop
+hashkit_fnv1a_32.pop
+hashkit_fnv1a_64.pop
+hashkit_free.pop
+hashkit_functions.pop
+hashkit_hsieh.pop
+hashkit_is_allocated.pop
+hashkit_jenkins.pop
+hashkit_md5.pop
+hashkit_murmur.pop
+hashkit_value.pop
+libmemcached_examples.pop
+libmemcached.pop
+libmemcachedutil.pop
+memcached_add_by_key.pop
+memcached_add.pop
+memcached_analyze.pop
+memcached_append_by_key.pop
+memcached_append.pop
+memcached_behavior_get.pop
+memcached_behavior_set.pop
+memcached_callback_get.pop
+memcached_callback_set.pop
+memcached_cas_by_key.pop
+memcached_cas.pop
+memcached_clone.pop
+memcached_create.pop
+memcached_decrement.pop
+memcached_decrement_with_initial.pop
+memcached_delete_by_key.pop
+memcached_delete.pop
+memcached_dump.pop
+memcached_fetch_execute.pop
+memcached_fetch.pop
+memcached_fetch_result.pop
+memcached_flush_buffers.pop
+memcached_flush.pop
+memcached_free.pop
+memcached_generate_hash_value.pop
+memcached_get_by_key.pop
+memcached_get_memory_allocators.pop
+memcached_get.pop
+memcached_get_user_data.pop
+memcached_increment.pop
+memcached_increment_with_initial.pop
+memcached_lib_version.pop
+memcached_mget_by_key.pop
+memcached_mget_execute_by_key.pop
+memcached_mget_execute.pop
+memcached_mget.pop
+memcached_pool_behavior_get.pop
+memcached_pool_behavior_set.pop
+memcached_pool_create.pop
+memcached_pool_destroy.pop
+memcached_pool_pop.pop
+memcached_pool_push.pop
+memcached_prepend_by_key.pop
+memcached_prepend.pop
+memcached_quit.pop
+memcached_replace_by_key.pop
+memcached_replace.pop
+memcached_result_cas.pop
+memcached_result_create.pop
+memcached_result_flags.pop
+memcached_result_free.pop
+memcached_result_key_length.pop
+memcached_result_key_value.pop
+memcached_result_length.pop
+memcached_result_st.pop
+memcached_result_value.pop
+memcached_server_add.pop
+memcached_server_add_unix_socket.pop
+memcached_server_count.pop
+memcached_server_list_append.pop
+memcached_server_list_count.pop
+memcached_server_list_free.pop
+memcached_server_list.pop
+memcached_server_push.pop
+memcached_servers_parse.pop
+memcached_set_by_key.pop
+memcached_set_memory_allocators.pop
+memcached_set.pop
+memcached_set_user_data.pop
+memcached_stat_get_keys.pop
+memcached_stat_get_value.pop
+memcached_stat.pop
+memcached_stat_servername.pop
+memcached_strerror.pop
+memcached_verbosity.pop
+memcached_version.pop
+memcapable.pop
+memcat.pop
+memcp.pop
+memdump.pop
+memerror.pop
+memflush.pop
+memrm.pop
+memslap.pop
+memstat.pop
diff --git a/AUTHORS b/AUTHORS
index 6e740f9612c8d836634dce38e07da64ccb9b2d8f..1bdae2fbc4a40a859f7b9f5985d8979dbb2d4a7f 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -3,7 +3,7 @@ Mark Atwood, -- Tools, Docs
 Patrick Galbraith, -- C++ Interface
 Padraig O'Sullivan, -- C++ Interface (current one)
 Tim Bunce, -- Docs
-Trond Norbye, trond.norbye@sun.com -- Binary protocol, Misc
+Trond Norbye, trond.norbye@gmail.com -- Binary protocol, Misc
 Yin Chen, -- Ketama Work
 Toru Maesaka, dev@torum.net -- Stats analysis
 Eric Lambert, -- UDP work
index 03459c3cb85ea78ba5a4b510dc72c94f95a08937..bd2c0c650bd9390f066e2ada64f628c72e8454d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-0.36
+0.36 Wed Jan  6 18:23:50 PST 2010
   * Merged in new memslap utility.
   * All of constants.h has been updated to match style (all old identifiers
     continue to work).
index af89af727cb3e310e83b195e9df707064bbcc6df..d163202714941cb07d46fe389fe06246813091d4 100644 (file)
@@ -16,12 +16,13 @@ EXTRA_HEADERS =
 BUILT_SOURCES=
 EXTRA_DIST = README.FIRST
 
-SUBDIRS = docs libhashkit
+SUBDIRS = docs
 
 test-docs:
        (cd docs && $(MAKE) test-docs)
 include libmemcached/include.am
 include clients/include.am
+include libhashkit/include.am
 include tests/include.am
 include example/include.am
 include support/include.am
index 3199aa8a1eac106ae2756bb984df559592bea878..5a8f17081b0ea651005589f2b61f07204ee1b562 100644 (file)
@@ -6,7 +6,7 @@
 # the COPYING file in this directory for full text.
 
 AC_PREREQ(2.59)
-AC_INIT([libmemcached],[0.35],[http://tangent.org/552/libmemcached.html])
+AC_INIT([libmemcached],[0.36],[http://tangent.org/552/libmemcached.html])
 AC_CONFIG_SRCDIR([libmemcached/memcached.c])
 AC_CONFIG_AUX_DIR(config)
 AM_CONFIG_HEADER([config.h])
@@ -51,8 +51,7 @@ AS_IF([test "x$ac_cv_header_atomic_h" = "xyes"],
 AC_CONFIG_FILES([
   Makefile
   docs/Makefile
-  libmemcached/memcached_configure.h
-  libhashkit/Makefile
+  libmemcached/configure.h
   support/libmemcached.pc
   support/libmemcached.spec
   support/libmemcached-fc.spec
index e00c655cc3eba57c307e4676d7d506674c2a7885..33073dca0ec29a503b3af9ccd1ea293a5c63d4f8 100644 (file)
-CLEANFILES= *.1 *.3
-
-
-EXTRA_DIST = \
-         hashkit_create.pod \
-         hashkit_functions.pod \
-         hashkit_value.pod \
-         libmemcached.pod \
-         libmemcached_examples.pod \
-         libmemcachedutil.pod \
-         memcached_analyze.pod \
-         memcached_auto.pod \
-         memcached_behavior.pod \
-         memcached_callback.pod \
-         memcached_create.pod \
-         memcached_delete.pod \
-         memcached_dump.pod \
-         memcached_flush.pod \
-         memcached_flush_buffers.pod \
-         memcached_generate_hash_value.pod \
-         memcached_get.pod \
-         memcached_memory_allocators.pod \
-         memcached_pool.pod \
-         memcached_quit.pod \
-         memcached_server_st.pod \
-         memcached_servers.pod \
-         memcached_set.pod \
-         memcached_stats.pod \
-         memcached_strerror.pod \
-         memcached_user_data.pod \
-         memcached_verbosity.pod \
-         memcached_version.pod \
-         memcapable.pod \
-         memcat.pod \
-         memcp.pod \
-         memdump.pod \
-         memerror.pod \
-         memflush.pod \
-         memrm.pod \
-         memslap.pod \
-         memstat.pod
+# This file generates all of man/html pages that we use for documentation.
+#
+# When hacking this file you need to know that we take .pod files and turn
+# them into .pop files. .pop files are 1=1 for man pages, but one .pod
+# file may generate many .pop files.
+#
+#    -Brian
+#
+#
+CLEANFILES= *.1 *.3 *.html *.pop *.tmp
+
+BUILT_SOURCES=
+
+EXTRA_DIST= make_index.pl
+
+AUTO_PAGES= \
+       memcached_increment.pop \
+       memcached_increment_with_initial.pop \
+       memcached_decrement.pop \
+       memcached_decrement_with_initial.pop
+BUILT_SOURCES += ${AUTO_PAGES}
+
+BEHAVIOR_PAGES= \
+       memcached_behavior_get.pop \
+       memcached_behavior_set.pop
+BUILT_SOURCES += ${BEHAVIOR_PAGES}
+
+CALLBACK_PAGES= \
+       memcached_callback_get.pop \
+       memcached_callback_set.pop
+BUILT_SOURCES += ${CALLBACK_PAGES}
+
+CREATE_PAGES= \
+            memcached_create.pop \
+            memcached_free.pop \
+            memcached_clone.pop
+BUILT_SOURCES += ${CREATE_PAGES}
+
+DELETE_PAGES= \
+             memcached_delete.pop \
+             memcached_delete_by_key.pop
+BUILT_SOURCES += ${DELETE_PAGES}
+
+GENERIC_PAGES= \
+       libmemcached.pop \
+       libmemcached_examples.pop \
+       libmemcachedutil.pop \
+       memcached_analyze.pop \
+       memcached_dump.pop \
+       memcached_flush.pop \
+       memcached_flush_buffers.pop \
+       memcached_generate_hash_value.pop \
+       memcached_quit.pop \
+       memcached_strerror.pop \
+       memcached_verbosity.pop \
+       memcapable.pop \
+       memcat.pop \
+       memcp.pop \
+       memdump.pop \
+       memerror.pop \
+       memflush.pop \
+       memrm.pop \
+       memslap.pop \
+       memstat.pop
+BUILT_SOURCES += ${GENERIC_PAGES}
+
+GET_PAGES= \
+          memcached_get.pop \
+          memcached_get_by_key.pop \
+          memcached_fetch_result.pop \
+          memcached_fetch_execute.pop \
+          memcached_mget.pop \
+          memcached_mget_by_key.pop \
+          memcached_mget_execute.pop \
+          memcached_mget_execute_by_key.pop \
+          memcached_fetch.pop
+BUILT_SOURCES += ${GET_PAGES}
+
+MEMORY_ALLOCATORS_PAGES= \
+                        memcached_get_memory_allocators.pop \
+                        memcached_set_memory_allocators.pop
+BUILT_SOURCES += ${MEMORY_ALLOCATORS_PAGES}
+
+POOL_PAGES= \
+       memcached_pool_behavior_get.pop \
+       memcached_pool_behavior_set.pop \
+       memcached_pool_create.pop \
+       memcached_pool_destroy.pop \
+       memcached_pool_pop.pop \
+       memcached_pool_push.pop 
+BUILT_SOURCES += ${POOL_PAGES}
+
+RESULT_PAGES= \
+             memcached_result_cas.pop \
+             memcached_result_create.pop \
+             memcached_result_flags.pop \
+             memcached_result_free.pop \
+             memcached_result_key_length.pop \
+             memcached_result_key_value.pop \
+             memcached_result_length.pop \
+             memcached_result_st.pop \
+             memcached_result_value.pop
+BUILT_SOURCES += ${RESULT_PAGES}
+
+
+SERVER_PAGES= \
+             memcached_server_count.pop \
+             memcached_server_list.pop \
+             memcached_server_add.pop \
+             memcached_server_add_unix_socket.pop \
+             memcached_server_push.pop 
+BUILT_SOURCES += ${SERVER_PAGES}
+
+SERVER_ST_PAGES= \
+                memcached_server_list_free.pop \
+                memcached_server_list_count.pop \
+                memcached_server_list_append.pop \
+                memcached_servers_parse.pop 
+BUILT_SOURCES += ${SERVER_ST_PAGES}
+
+SET_PAGES= \
+          memcached_set.pop \
+          memcached_set_by_key.pop \
+          memcached_cas.pop \
+          memcached_cas_by_key.pop \
+          memcached_replace.pop \
+          memcached_replace_by_key.pop \
+          memcached_add.pop \
+          memcached_add_by_key.pop \
+          memcached_prepend.pop \
+          memcached_prepend_by_key.pop \
+          memcached_append.pop \
+          memcached_append_by_key.pop
+BUILT_SOURCES += ${SET_PAGES}
+
+STATS_PAGES= \
+       memcached_stat.pop \
+       memcached_stat_get_keys.pop .pop\
+       memcached_stat_get_value.pop \
+       memcached_stat_servername.pop
+BUILT_SOURCES += ${STATS_PAGES}
+
+USER_DATA_PAGES= \
+                memcached_get_user_data.pop \
+                memcached_set_user_data.pop
+BUILT_SOURCES += ${USER_DATA_PAGES}
+
+VERSION_PAGES= \
+              memcached_version.pop \
+              memcached_lib_version.pop
+BUILT_SOURCES += ${VERSION_PAGES}
+
+
+#
+# These are for libhashkit
+#
+HASHKIT_CREATE_PAGES= \
+            hashkit_is_allocated.pop \
+            hashkit_create.pop \
+            hashkit_clone.pop \
+            hashkit_free.pop
+BUILT_SOURCES += ${HASHKIT_CREATE_PAGES}
+
+HASHKIT_FUNCTIONS_PAGES= \
+                    hashkit_crc32.pop \
+                    hashkit_fnv1_32.pop \
+                    hashkit_fnv1_64.pop \
+                    hashkit_fnv1a_32.pop \
+                    hashkit_fnv1a_64.pop \
+                    hashkit_functions.pop \
+                    hashkit_hsieh.pop \
+                    hashkit_jenkins.pop \
+                    hashkit_md5.pop \
+                    hashkit_murmur.pop
+BUILT_SOURCES += ${HASHKIT_FUNCTIONS_PAGES}
+
+HASHKIT_ST_PAGES= \
+       hashkit_value.pop
+BUILT_SOURCES += ${HASHKIT_ST_PAGES}
+
+
+HTML_FILES= \
+           hashkit_clone.html \
+           hashkit_crc32.html \
+           hashkit_create.html \
+           hashkit_fnv1_32.html \
+           hashkit_fnv1_64.html \
+           hashkit_fnv1a_32.html \
+           hashkit_fnv1a_64.html \
+           hashkit_free.html \
+           hashkit_functions.html \
+           hashkit_hsieh.html \
+           hashkit_is_allocated.html \
+           hashkit_jenkins.html \
+           hashkit_md5.html \
+           hashkit_murmur.html \
+           hashkit_value.html \
+           libmemcached_examples.html \
+           libmemcached.html \
+           libmemcachedutil.html \
+           memcached_add_by_key.html \
+           memcached_add.html \
+           memcached_analyze.html \
+           memcached_append_by_key.html \
+           memcached_append.html \
+           memcached_behavior_get.html \
+           memcached_behavior_set.html \
+           memcached_callback_get.html \
+           memcached_callback_set.html \
+           memcached_cas_by_key.html \
+           memcached_cas.html \
+           memcached_clone.html \
+           memcached_create.html \
+           memcached_decrement.html \
+           memcached_decrement_with_initial.html \
+           memcached_delete_by_key.html \
+           memcached_delete.html \
+           memcached_dump.html \
+           memcached_fetch_execute.html \
+           memcached_fetch.html \
+           memcached_fetch_result.html \
+           memcached_flush_buffers.html \
+           memcached_flush.html \
+           memcached_free.html \
+           memcached_generate_hash_value.html \
+           memcached_get_by_key.html \
+           memcached_get_memory_allocators.html \
+           memcached_get.html \
+           memcached_get_user_data.html \
+           memcached_increment.html \
+           memcached_increment_with_initial.html \
+           memcached_lib_version.html \
+           memcached_mget_by_key.html \
+           memcached_mget_execute_by_key.html \
+           memcached_mget_execute.html \
+           memcached_mget.html \
+           memcached_pool_behavior_get.html \
+           memcached_pool_behavior_set.html \
+           memcached_pool_create.html \
+           memcached_pool_destroy.html \
+           memcached_pool_pop.html \
+           memcached_pool_push.html \
+           memcached_prepend_by_key.html \
+           memcached_prepend.html \
+           memcached_quit.html \
+           memcached_replace_by_key.html \
+           memcached_replace.html \
+           memcached_result_cas.html \
+           memcached_result_create.html \
+           memcached_result_flags.html \
+           memcached_result_free.html \
+           memcached_result_key_length.html \
+           memcached_result_key_value.html \
+           memcached_result_length.html \
+           memcached_result_st.html \
+           memcached_result_value.html \
+           memcached_server_add.html \
+           memcached_server_add_unix_socket.html \
+           memcached_server_count.html \
+           memcached_server_list_append.html \
+           memcached_server_list_count.html \
+           memcached_server_list_free.html \
+           memcached_server_list.html \
+           memcached_server_push.html \
+           memcached_servers_parse.html \
+           memcached_set_by_key.html \
+           memcached_set_memory_allocators.html \
+           memcached_set.html \
+           memcached_set_user_data.html \
+           memcached_stat_get_keys.html \
+           memcached_stat_get_value.html \
+           memcached_stat.html \
+           memcached_stat_servername.html \
+           memcached_strerror.html \
+           memcached_verbosity.html \
+           memcached_version.html \
+           memcapable.html \
+           memcat.html \
+           memcp.html \
+           memdump.html \
+           memerror.html \
+           memflush.html \
+           memrm.html \
+           memslap.html \
+           memstat.html
+
+POD_FILES= \
+            hashkit_create.pod \
+            hashkit_functions.pod \
+            hashkit_value.pod \
+            libmemcached.pod \
+            libmemcached_examples.pod \
+            libmemcachedutil.pod \
+            memcached_analyze.pod \
+            memcached_auto.pod \
+            memcached_behavior.pod \
+            memcached_callback.pod \
+            memcached_create.pod \
+            memcached_delete.pod \
+            memcached_dump.pod \
+            memcached_flush.pod \
+            memcached_flush_buffers.pod \
+            memcached_generate_hash_value.pod \
+            memcached_get.pod \
+            memcached_memory_allocators.pod \
+            memcached_pool.pod \
+            memcached_quit.pod \
+            memcached_server_st.pod \
+            memcached_servers.pod \
+            memcached_set.pod \
+            memcached_stats.pod \
+            memcached_strerror.pod \
+            memcached_user_data.pod \
+            memcached_verbosity.pod \
+            memcached_version.pod \
+            memcapable.pod \
+            memcat.pod \
+            memcp.pod \
+            memdump.pod \
+            memerror.pod \
+            memflush.pod \
+            memrm.pod \
+            memslap.pod \
+            memstat.pod
+EXTRA_DIST+= $(POD_FILES)
 
 man_MANS = \
-         libmemcached.3 \
-         libmemcached_examples.3 \
-         memcached_add.3 \
-         memcached_add_by_key.3 \
-         memcached_analyze.3 \
-         memcached_append.3 \
-         memcached_append_by_key.3 \
-         memcached_behavior_get.3 \
-         memcached_behavior_set.3 \
-         memcached_callback_get.3 \
-         memcached_callback_set.3 \
-         memcached_cas.3 \
-         memcached_cas_by_key.3 \
-         memcached_clone.3 \
-         memcached_create.3 \
-         memcached_decrement.3 \
-         memcached_decrement_with_initial.3 \
-         memcached_delete.3 \
-         memcached_delete_by_key.3 \
-         memcached_dump.3 \
-         memcached_fetch.3 \
-         memcached_fetch_execute.3 \
-         memcached_fetch_result.3 \
-         memcached_flush_buffers.3 \
-         memcached_free.3 \
-         memcached_generate_hash_value.3 \
-         memcached_get.3 \
-         memcached_get_by_key.3 \
-         memcached_get_memory_allocators.3 \
-         memcached_get_user_data.3 \
-         memcached_increment.3 \
-         memcached_increment_with_initial.3 \
-         memcached_lib_version.3 \
-         memcached_mget.3 \
-         memcached_mget_by_key.3 \
-         memcached_mget_execute.3  \
-         memcached_mget_execute_by_key.3  \
-         memcached_prepend.3 \
-         memcached_prepend_by_key.3 \
-         memcached_quit.3 \
-         memcached_replace.3 \
-         memcached_replace_by_key.3 \
-         memcached_server_add.3 \
-         memcached_server_count.3 \
-         memcached_server_list.3 \
-         memcached_server_list_append.3 \
-         memcached_server_list_count.3 \
-         memcached_server_list_free.3 \
-         memcached_server_push.3 \
-         memcached_servers_parse.3 \
-         memcached_set.3 \
-         memcached_set_by_key.3 \
-         memcached_set_memory_allocators.3 \
-         memcached_set_user_data.3 \
-         memcached_stat.3 \
-         memcached_stat_get_keys.3 \
-         memcached_stat_get_value.3 \
-         memcached_stat_servername.3 \
-         memcached_strerror.3 \
-         memcached_verbosity.3 \
-         memcached_version.3 \
-         memcapable.1 \
-         memcat.1 \
-         memcp.1 \
-         memdump.1 \
-         memerror.1 \
-         memflush.1 \
-         memrm.1 \
-         memslap.1 \
-         memstat.1
+          hashkit_clone.3 \
+          hashkit_crc32.3 \
+          hashkit_create.3 \
+          hashkit_fnv1_32.3 \
+          hashkit_fnv1_64.3 \
+          hashkit_fnv1a_32.3 \
+          hashkit_fnv1a_64.3 \
+          hashkit_free.3 \
+          hashkit_functions.3 \
+          hashkit_hsieh.3 \
+          hashkit_is_allocated.3 \
+          hashkit_jenkins.3 \
+          hashkit_md5.3 \
+          hashkit_murmur.3 \
+          hashkit_value.3 \
+          libmemcached.3 \
+          libmemcached_examples.3 \
+          memcached_add.3 \
+          memcached_add_by_key.3 \
+          memcached_analyze.3 \
+          memcached_append.3 \
+          memcached_append_by_key.3 \
+          memcached_behavior_get.3 \
+          memcached_behavior_set.3 \
+          memcached_callback_get.3 \
+          memcached_callback_set.3 \
+          memcached_cas.3 \
+          memcached_cas_by_key.3 \
+          memcached_clone.3 \
+          memcached_create.3 \
+          memcached_decrement.3 \
+          memcached_decrement_with_initial.3 \
+          memcached_delete.3 \
+          memcached_delete_by_key.3 \
+          memcached_dump.3 \
+          memcached_fetch.3 \
+          memcached_fetch_execute.3 \
+          memcached_fetch_result.3 \
+          memcached_flush_buffers.3 \
+          memcached_free.3 \
+          memcached_generate_hash_value.3 \
+          memcached_get.3 \
+          memcached_get_by_key.3 \
+          memcached_get_memory_allocators.3 \
+          memcached_get_user_data.3 \
+          memcached_increment.3 \
+          memcached_increment_with_initial.3 \
+          memcached_lib_version.3 \
+          memcached_mget.3 \
+          memcached_mget_by_key.3 \
+          memcached_mget_execute.3  \
+          memcached_mget_execute_by_key.3  \
+          memcached_prepend.3 \
+          memcached_prepend_by_key.3 \
+          memcached_quit.3 \
+          memcached_replace.3 \
+          memcached_replace_by_key.3 \
+          memcached_server_add.3 \
+          memcached_server_count.3 \
+          memcached_server_list.3 \
+          memcached_server_list_append.3 \
+          memcached_server_list_count.3 \
+          memcached_server_list_free.3 \
+          memcached_server_push.3 \
+          memcached_servers_parse.3 \
+          memcached_set.3 \
+          memcached_set_by_key.3 \
+          memcached_set_memory_allocators.3 \
+          memcached_set_user_data.3 \
+          memcached_stat.3 \
+          memcached_stat_get_keys.3 \
+          memcached_stat_get_value.3 \
+          memcached_stat_servername.3 \
+          memcached_strerror.3 \
+          memcached_verbosity.3 \
+          memcached_version.3 \
+          memcapable.1 \
+          memcat.1 \
+          memcp.1 \
+          memdump.1 \
+          memerror.1 \
+          memflush.1 \
+          memrm.1 \
+          memslap.1 \
+          memstat.1
 
 if BUILD_LIBMEMCACHEDUTIL
 man_MANS+= \
@@ -124,349 +423,103 @@ man_MANS+= \
 endif
 
 
-libmemcached.3: libmemcached.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/libmemcached.pod > libmemcached.3
+${CREATE_PAGES}: 
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_create.pod ${top_builddir}/docs/$@
 
-libmemcachedutil.3: libmemcachedutil.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/libmemcachedutil.pod > libmemcachedutil.3
+${SET_PAGES}: 
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_set.pod ${top_builddir}/docs/$@
 
-libmemcached_examples.3: libmemcached_examples.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/libmemcached_examples.pod > libmemcached_examples.3
+${DELETE_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_delete.pod ${top_builddir}/docs/$@
 
-memcached_create.3: memcached_create.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_create.3
+${AUTO_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_auto.pod ${top_builddir}/docs/$@
 
-memcached_free.3: memcached_create.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_free.3
+${GET_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_get.pod ${top_builddir}/docs/$@
 
-memcached_clone.3: memcached_create.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_create.pod > memcached_clone.3
+${SERVER_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_servers.pod ${top_builddir}/docs/$@
 
-memcached_set.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_set.3
+${SERVER_ST_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_server_st.pod ${top_builddir}/docs/$@
 
-memcached_set_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_set_by_key.3
+${GENERIC_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/$*.pod ${top_builddir}/docs/$@
 
-memcached_cas.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_cas.3
+${BEHAVIOR_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_behavior.pod ${top_builddir}/docs/$@
 
-memcached_cas_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_cas_by_key.3
+${CALLBACK_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_callback.pod ${top_builddir}/docs/$@
 
-memcached_replace.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_replace.3
+${STATS_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_stats.pod ${top_builddir}/docs/$@
 
-memcached_replace_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_replace_by_key.3
+${RESULT_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_result_st.pod ${top_builddir}/docs/$@
 
-memcached_add.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_add.3
+${VERSION_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_version.pod ${top_builddir}/docs/$@
 
-memcached_add_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_add_by_key.3
+${MEMORY_ALLOCATORS_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_memory_allocators.pod ${top_builddir}/docs/$@
 
-memcached_prepend.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_prepend.3
+${USER_DATA_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_user_data.pod ${top_builddir}/docs/$@
 
-memcached_prepend_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_prepend_by_key.3
 
-memcached_append.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_append.3
+${POOL_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/memcached_pool.pod ${top_builddir}/docs/$@
 
-memcached_append_by_key.3: memcached_set.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_set.pod > memcached_append_by_key.3
+${HASHKIT_CREATE_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/hashkit_create.pod ${top_builddir}/docs/$@
 
-memcached_delete.3: memcached_delete.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_delete.pod > memcached_delete.3
 
-memcached_delete_by_key.3: memcached_delete.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_delete.pod > memcached_delete_by_key.3
+${HASHKIT_FUNCTIONS_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/hashkit_functions.pod ${top_builddir}/docs/$@
 
-memcached_increment.3:
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_increment.3
+${HASHKIT_ST_PAGES}:
+       @rm -f $@
+       ln -s ${top_srcdir}/docs/hashkit_value.pod ${top_builddir}/docs/$@
 
-memcached_increment_with_initial.3:
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_increment_with_initial.3
+test-docs: $(POD_FILES)
+       ${PODCHECKER} $(top_srcdir)/docs/$?
 
-memcached_decrement.3:
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_decrement.3
+html-local: html-pages html-index
 
-memcached_decrement_with_initial.3:
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_auto.pod > memcached_decrement_with_initial.3
+html-pages: $(HTML_FILES) 
 
-memcached_dump.3: memcached_dump.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_dump.pod > memcached_dump.3
+html-index: html-pages
+       perl make_index.pl *.html > index.html
 
-memcached_flush.3: memcached_flush.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_flush.pod > memcached_flush.3
+SUFFIXES= .pop .pod .html .1 .3
 
-memcached_get.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_get.3
+.pop: ${_set}
 
-memcached_get_by_key.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_get_by_key.3
+.pop.html:
+       pod2html --infile=$< >  $@
 
-memcached_fetch_result.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch_result.3
-
-memcached_fetch_execute.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch_execute.3
-
-memcached_mget.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget.3
-
-memcached_mget_by_key.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_by_key.3
-
-memcached_mget_execute.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_execute.3
-
-memcached_mget_execute_by_key.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_mget_execute_by_key.3
-
-memcached_fetch.3: memcached_get.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_get.pod > memcached_fetch.3
-
-memcached_quit.3: memcached_quit.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_quit.pod > memcached_quit.3
-
-memcached_strerror.3: memcached_strerror.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_strerror.pod > memcached_strerror.3
-
-memcached_server_count.3: memcached_servers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_count.3
-
-memcached_server_list.3: memcached_servers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_list.3
-
-memcached_server_add.3: memcached_servers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_add.3
-
-memcached_server_add_unix_socket.3: memcached_servers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_add_unix_socket.3
-
-memcached_server_push.3: memcached_servers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_servers.pod > memcached_server_push.3
-
-memcached_server_list_free.3: memcached_server_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_free.3
-
-memcached_server_list_count.3: memcached_server_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_count.3
-
-memcached_server_list_append.3: memcached_server_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_server_list_append.3
-
-memcached_servers_parse.3: memcached_server_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_server_st.pod > memcached_servers_parse.3
-
-memcached_verbosity.3: memcached_verbosity.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_verbosity.pod > memcached_verbosity.3
-
-memcached_behavior_get.3: memcached_behavior.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_behavior.pod > memcached_behavior_get.3
-
-memcached_behavior_set.3: memcached_behavior.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_behavior.pod > memcached_behavior_set.3
-
-memcached_callback_get.3: memcached_callback.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_callback.pod > memcached_callback_get.3
-
-memcached_callback_set.3: memcached_callback.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_callback.pod > memcached_callback_set.3
-
-memcached_stat.3: memcached_stats.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat.3
-
-memcached_stat_servername.3: memcached_stats.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_servername.3
-
-memcached_stat_get_value.3: memcached_stats.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_get_value.3
-
-memcached_stat_get_keys.3: memcached_stats.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_stats.pod > memcached_stat_get_keys.3
-
-memcached_result_st.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_st.3
-
-memcached_result_create.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_create.3
-
-memcached_result_free.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_free.3
-
-memcached_result_key_value.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_key_value.3
-
-memcached_result_key_length.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_key_length.3
-
-memcached_result_value.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_value.3
-
-memcached_result_length.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_length.3
-
-memcached_result_flags.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_flags.3
-
-memcached_result_cas.3: memcached_result_st.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_result_st.pod > memcached_result_cas.3
-
-memcached_version.3: memcached_version.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_version.pod > memcached_version.3
-
-memcached_lib_version.3: memcached_version.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_version.pod  > memcached_lib_version.3
-
-memcached_flush_buffers.3: memcached_flush_buffers.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_flush_buffers.pod  > memcached_flush_buffers.3
-
-memcached_analyze.3: memcached_analyze.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_analyze.pod > memcached_analyze.3
-
-memcached_generate_hash_value.3: memcached_generate_hash_value.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_generate_hash_value.pod > memcached_generate_hash_value.3
-
-memcached_get_memory_allocators.3: memcached_memory_allocators.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_memory_allocators.pod > memcached_get_memory_allocators.3
-
-memcached_set_memory_allocators.3: memcached_memory_allocators.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_memory_allocators.pod > memcached_set_memory_allocators.3
-
-memcached_get_user_data.3: memcached_user_data.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_user_data.pod > memcached_get_user_data.3
-
-memcached_set_user_data.3: memcached_user_data.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 3 ${top_srcdir}/docs/memcached_user_data.pod > memcached_set_user_data.3
-
-memcached_pool_behavior_get.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_behavior_get.3
-
-memcached_pool_behavior_set.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_behavior_set.3
-
-memcached_pool_create.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_create.3
-
-memcached_pool_destroy.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_destroy.3
-
-memcached_pool_pop.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_pop.3
-
-memcached_pool_push.3: memcached_pool.pod
-       ${POD2MAN} -c "libmemcachedutil" -r "" -s 3 ${top_srcdir}/docs/memcached_pool.pod > memcached_pool_push.3
-
-memcp.1: memcp.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcp.pod > memcp.1
-
-memslap.1: memslap.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memslap.pod > memslap.1
-
-memcapable.1: memcapable.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcapable.pod > memcapable.1
-
-memcat.1: memcat.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memcat.pod > memcat.1
-
-memstat.1: memstat.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memstat.pod > memstat.1
-
-memrm.1: memrm.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memrm.pod > memrm.1
-
-memerror.1: memerror.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memerror.pod > memerror.1
-
-memdump.1: memdump.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memdump.pod > memdump.1
-
-memflush.1: memflush.pod
-       ${POD2MAN} -c "libmemcached" -r "" -s 1 ${top_srcdir}/docs/memflush.pod > memflush.1
-
-hashkit_create.3: hashkit_create.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_create.3
-
-hashkit_clone.3: hashkit_create.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_clone.3
-
-hashkit_free.3: hashkit_create.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_free.3
-
-hashkit_is_allocated.3: hashkit_create.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_create.pod > hashkit_is_allocated.3
-
-hashkit_functions.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_functions.3
-
-hashkit_fnv1_64.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1_64.3
-
-hashkit_fnv1a_64.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1a_64.3
-
-hashkit_fnv1_32.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1_32.3
-
-hashkit_fnv1a_32.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_fnv1a_32.3
-
-hashkit_crc32.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_crc32.3
-
-hashkit_hsieh.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_hsieh.3
-
-hashkit_murmur.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_murmur.3
-
-hashkit_jenkins.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_jenkins.3
-
-hashkit_md5.3: hashkit_functions.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_functions.pod > hashkit_md5.3
-
-hashkit_value.3: hashkit_value.pod
-       ${POD2MAN} -c "libhashkit" -r "" -s 3 ${top_srcdir}/docs/hashkit_value.pod > hashkit_value.3
-
-test-docs:
-       ${PODCHECKER} $(top_srcdir)/docs/hashkit_create.pod
-       ${PODCHECKER} $(top_srcdir)/docs/hashkit_functions.pod
-       ${PODCHECKER} $(top_srcdir)/docs/hashkit_value.pod
-       ${PODCHECKER} $(top_srcdir)/docs/libmemcached.pod
-       ${PODCHECKER} $(top_srcdir)/docs/libmemcached_examples.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_auto.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_behavior.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_callback.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_create.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_delete.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_flush.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_flush_buffers.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_get.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_memory_allocators.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_pool.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_quit.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_server_st.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_servers.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_set.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_stats.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_strerror.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_user_data.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_verbosity.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcached_version.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcapable.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcat.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memcp.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memerror.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memflush.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memrm.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memslap.pod
-       ${PODCHECKER} $(top_srcdir)/docs/memstat.pod
-
-html-local:
-       pod2htmltree "/libmemcached" .
+.pop.1:
+       ${POD2MAN} -c "$*" -r "" -s 1 $< >  $@
 
+.pop.3:
+       ${POD2MAN} -c "$*" -r "" -s 3 $< >  $@
index 4c85b5b4fb70788841ad49cf0b50817437ef3f89..46fc2da0d42c7e257e7fa4215fa648ea6576abf1 100644 (file)
@@ -113,7 +113,7 @@ structure.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 31328b9ab3aea484b6c11d111947dffb47e79e3e..1c937fe7c9b41fcbb0de74eed346bfab2b04ef47 100644 (file)
@@ -101,7 +101,7 @@ C<MEMCACHED_MAX_KEY> is provided for usage.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index be410ecd1eaba8d03d73d73972aa4cf0d868ee22..fd2e4f6274bef2564f705e2555b6327c15d34ae6 100644 (file)
@@ -27,11 +27,11 @@ implementation. see memcached_pool_create(3).
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
diff --git a/docs/make_index.pl b/docs/make_index.pl
new file mode 100644 (file)
index 0000000..cb0d190
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+
+use strict;
+use CGI;
+
+sub main {
+  my $cgi = new CGI;
+
+  print $cgi->start_html('Libmemcached Documentation') . "\n";
+  print $cgi->h1('Libmemcached Documentation') . "\n";
+
+  print $cgi->a({ href => "libmemcached.html" }, "Introduction to Libmemcached") . $cgi->br() . "\n";
+  print $cgi->a({ href => "libmemcached_examples.html" }, "Libmemcached Examples") . $cgi->br() . "\n";
+  print $cgi->br() . "\n";
+  print $cgi->br() . "\n";
+
+  foreach (@ARGV)
+  {
+    my $url=  $_;
+    my $name= $_;
+    $name  =~ s/\.html//g;
+    next if $name eq 'index'; 
+    next if $name eq 'libmemcached'; 
+    next if $name eq 'libmemcached_examples'; 
+    print "<li\>" . $cgi->a({ href => $url }, $name) . $cgi->br() . "\n";
+  }
+  print $cgi->end_html; 
+}
+
+main();
index c48947260da23e7da0c80b81df8f006ca717f392..9c0401f8de7a39106e62ed161655b26ee4609680 100644 (file)
@@ -40,7 +40,7 @@ memory allocated for it.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 305451b6647730f30f960ef909aa4ced1f3fa13b..bd6da19242e707cca39c022e835eab779b13a236 100644 (file)
@@ -124,7 +124,7 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index c664e99fa949545f8102b9ae62515237ca101905..f59150f1751f5ef7265614a65eafc9a6a44f6a3e 100644 (file)
@@ -234,7 +234,7 @@ to data value, to taking a uin64_t.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 5d7fed2de7c77f77b5e8834f6ba2b63930ddf783..9175c29d2dc841b67b77a0fe53bbb151a91b6978 100644 (file)
@@ -109,7 +109,7 @@ otherwise MEMCACHED_FAILURE on error.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 8c6a1a2233cc526948531a1c4789d7cf3b253ab8..421ba131781d22e817dd6b35c38874235c52b4e0 100644 (file)
@@ -48,7 +48,7 @@ memcached_clone() returns a pointer to the memcached_st that was created
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 07ec865ca86cc2672576c5fb3aec23244b9592db..89bff56a28bb05cf97b08a1e7403a8f384b333e9 100644 (file)
@@ -44,7 +44,7 @@ means that the message was queued for delivery.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index cf596335f8cbf2eadd338540a0fa0bdcaefb802e..2d53701635e17b016ad53793cb3ccc3dfa33930d 100644 (file)
@@ -39,7 +39,7 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 9a853ee4767f1616fe7f03c2b83e821ba6bc573a..0ca9547226fdce5bd35f26f7e04b406645e9b781 100644 (file)
@@ -32,7 +32,7 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 7dd980325d419bffbe80cd44d475c2f52404dd7c..11c06dc0d706186d0a1b1ed17a990e98c230aec9 100644 (file)
@@ -28,11 +28,11 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
index ebd9034950f4c3c2aae9ca503ed6640dbe1409ef..a2af1fc4e8af57981f49c40cc98df51023a48dd2 100644 (file)
@@ -46,7 +46,7 @@ returned.
 =head1 HOME
 
 To find out more information please check: 
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 9423635ea6ecdb0733296c639c61efdf61ebe482..ced98f1c0463639cb8b38d934f97e513846cc2ab 100644 (file)
@@ -157,7 +157,7 @@ look at the value of error to determine what the actual error was.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index e0cd8466fe3c847021dda665c7245bec6fb09898..cafa70c2be1dc374cfee56c2eeddc47465326945 100644 (file)
@@ -67,11 +67,11 @@ and MEMCACHED_FAILURE if you don't pass a complete set of function pointers.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
index d5f90bbf1ba3b5d41d40fb2a06d3bb29eb1555d7..b974be67901b00d5fd965a7a88704bad4405b7be 100644 (file)
@@ -86,11 +86,11 @@ returns MEMCACHED_SUCCESS upon success.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
index 0500b2aba4039ccecc0217a1ff0103e804869bbe..270dd4674e346dc92411471f95d586b78dbd07aa 100644 (file)
@@ -33,7 +33,7 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 489b3f0e7a7ab0dedabce193da9dec5cf7360945..ab69f266686b122ede21b9feb2b80ca49a0f0766 100644 (file)
@@ -101,7 +101,7 @@ do this will result in leaked memory.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 912f0296b8fc6fabda9efb7fbf753c9b7faa9998..32d4e1e98344b014e88fae9564707b3f9dfd9c69 100644 (file)
@@ -61,7 +61,7 @@ Varies, see particular functions.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index f4f789d4185938a8b9c5a7c64798a51f765c70d6..3cd5da9e5478d1ac960156b4e59fbd09ec0e48b0 100644 (file)
@@ -97,7 +97,7 @@ Varies, see particular functions.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 7a9ad04b7776626fee81cd6349f0cd4411a35ccf..13330dcf8932d7cec6da5ec8bb5b0530b71b7932 100644 (file)
@@ -173,7 +173,7 @@ legitmate error in the case of a collision.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index a0741d3bdabbf2eddbaafbd4cbbdec83da6a926b..fe093d105915a57bcd09fe53bc37aa5e833fdc9e 100644 (file)
@@ -70,7 +70,7 @@ memory allocated for it.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 64ef595785120f76b79d20e5738c3b1c86fc8ded..07801d8c99b4ae0477ec0fc2e322b5a2b3692618 100644 (file)
@@ -33,7 +33,7 @@ memcached_strerror() returns a string describing a C<memcached_return_t> value.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 597335ac9152b016210830d167cbfa47c384f27e..fc339dfce98d705beac8eb9b785fbf103404d994 100644 (file)
@@ -36,11 +36,11 @@ data.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
index 475b66f240c90df0999cceabf517176ba3c42fae..6cdac9144c0bb465eacf3fcc4bd5cd8d3ade424a 100644 (file)
@@ -28,7 +28,7 @@ Use memcached_strerror() to translate this value to a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 3fbb8bf3889892d700f55047dc166bef9f12275e..26e54e0acf7c354988d21d5b36a4617b0ae0c550 100644 (file)
@@ -42,7 +42,7 @@ a printable string.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 7c01b51f164b5857b4f27a69996fc6d0a56e8dfb..bd4d48f8dba488bb1832088455cb15d102717c8a 100644 (file)
@@ -47,11 +47,11 @@ The current version of memcapable will only verify the binary protocol.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
-Trond Norbye, E<lt>trond.norbye@sun.comE<gt>
+Trond Norbye, E<lt>trond.norbye@gmail.comE<gt>
 
 =head1 SEE ALSO
 
index 04d8a30477fb3d236913a3707b65f2b6d097a760..c5ef808b17136b0fd128fca8cba05eddfe68889e 100644 (file)
@@ -21,7 +21,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 319e2f1590f634b00d10725310e4805d08c8e4ff..9be7cddade081bf3c94e64c7a0aaa443c4e51fc7 100644 (file)
@@ -24,7 +24,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 97fe435d29fef8dd78cf255449ec3ea851b69641..5a26be573fc0d84d3995dd008d2628a256b10c17 100644 (file)
@@ -17,7 +17,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 9dc2e0cef2a66b40508f47b4ed3069ff74e860c9..40278771a0c1c17b46a1a4ea3b7beeda74c96ce1 100644 (file)
@@ -16,7 +16,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more infoerroration please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 031e07d007beeefaec3769fc1f2242547785d27b..f26e10c3aa79b509ccda00ded267b836424296be 100644 (file)
@@ -19,7 +19,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index d7ba38f88587a05ca3a8eed6ea0a3ffe1f941cec..9554f0a07fa4d184cadfa202fee23472e4c89801 100644 (file)
@@ -18,7 +18,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<https://launchpad.net/libmemcached>
 
 =head1 AUTHOR
 
index 23220d30d51d7df99f84eff306e90b21e8400d90..6332a32bb98953fe84d356a387d8b7d4a2a0484b 100644 (file)
@@ -88,14 +88,14 @@ expected workload.
 
 =head2 Effective implementation of generating key and value
 
-In order to improve time efficiency and space efficiency, asynchronous
+In order to improve time efficiency and space efficiency, 
 memslap creates a random characters table with 10M characters. All the
 suffixes of keys and values are generated from this random characters table.
 
 Memslap uses the offset in the character table and the length
 of the string to identify a string. It can save much memory.
 Each key contains two parts, a prefix and a suffix. The prefix is an
-uint64_t, 8 bytes. In order to verify the data set before, asynchronous
+uint64_t, 8 bytes. In order to verify the data set before, 
 memslap need to ensure each key is unique, so it uses the prefix to identify
 a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’,
 ‘\0’ and ‘ ‘. And memslap has an algorithm to ensure that. 
@@ -188,7 +188,7 @@ Below are some usage samples:
 
 =back
 
-The user must specify one server at least to run asynchronous memslap. The
+The user must specify one server at least to run memslap. The
 rest of the parameters have default values, as shown below:
 
 Thread number = 1                    Concurrency = 16
@@ -221,7 +221,7 @@ Facebook test = false                  Replication test = false
 
 All the distributions are read from the configuration file specified by user
 with “—cfg_cmd” option. If the user does not specify a configuration file,
-asynchronous memslap will run with the default distribution (key size = 64,
+memslap will run with the default distribution (key size = 64,
 value size = 1024, get/set = 9:1). For information on how to edit the
 configuration file, refer to the “Configuration File” section.
 
@@ -232,22 +232,22 @@ rounded to 3 decimal places.
 The minimum value size is 1 bytes; the maximum value size is 1M bytes. The
 precision of proportion is 0.001. The proportion of distribution will be
 rounded to 3 decimal places.
-Currently, asynchronous memslap only supports set and get commands. And it
+Currently, memslap only supports set and get commands. And it
 supports 100% set and 100% get. For 100% get, it will preset some objects to
 the server.
 
 =head2 Multi-thread and concurrency
 
-The high performance of asynchronous memslap benefits from the special
+The high performance of memslap benefits from the special
 schedule of thread and concurrency. It’s important to specify the proper
 number of them. The default number of threads is 1; the default number of
 concurrency is 16. The user can use “—threads” and “--concurrency” to
 specify these variables.
 
 If the system supports setting CPU affinity and the number of threads
-specified by the user is greater than 1, asynchronous memslap will try to
+specified by the user is greater than 1, memslap will try to
 bind each thread to a different CPU core. So if you want to get the best
-performance asynchronous memslap, it is better to specify the number of
+performance memslap, it is better to specify the number of
 thread equal to the number of CPU cores. The number of threads specified by
 the user can also be less or greater than the number of CPU cores. Because
 of the limitation of implementation, the number of concurrencies could be
@@ -277,15 +277,15 @@ For example:
 
 --threads=24 --concurrency=288
 
-The asynchronous memslap performs very well, when
+The memslap performs very well, when
 used to test the performance of memcached servers.
 Most of the time, the bottleneck is the network or
 the server. If for some reason the user wants to
-limit the performance of asynchronous memslap, there
+limit the performance of memslap, there
 are two ways to do this:
 
 Decrease the number of threads and concurrencies.
-Use the option “--tps” that Asynchronous memslap
+Use the option “--tps” that memslap
 provides to limit the throughput. This option allows
 the user to get the expected throughput. For
 example, assume that the maximum throughput is 50
@@ -298,7 +298,7 @@ throughput using “--tps” option.
 Most of the time, the user does not need to specify the window size. The
 default window size is 10k. For Schooner Memcached, the user can specify
 different window sizes to get different cache miss rates based on the test
-case. Asynchronous memslap supports cache miss rate between 0% and 100%.
+case. Memslap supports cache miss rate between 0% and 100%.
 If you use this utility to test the performance of Schooner Memcached, you
 can specify a proper window size to get the expected cache miss rate. The
 formula for calculating window size is as follows:
@@ -341,7 +341,7 @@ cache_size / concurrency / (key_size + value_size) * 0.7
 
 =head2 Verification
 
-Asynchronous memslap supports both data verification and expire-time
+Memslap supports both data verification and expire-time
 verification. The user can use "--verify=" or "-v" to specify the proportion
 of data verification. In theory, it supports 100% data verification. The
 user can use "--exp_verify=" or "-e" to specify the proportion of
@@ -351,14 +351,14 @@ information.
 
 For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects 
 set with expire-time, 10% of the objects gotten will be verified. If the
-objects are gotten, asynchronous memslap will verify the expire-time and
+objects are gotten, memslap will verify the expire-time and
 value. 
 
 =head2 multi-servers and multi-clients
 
-Asynchronous memslap supports multi-servers based on self-governed thread.
+Memslap supports multi-servers based on self-governed thread.
 There is a limitation that the number of servers cannot be greater than the
-number of threads. Asynchronous memslap assigns one thread to handle one
+number of threads. Memslap assigns one thread to handle one
 server at least. The user can use the "--servers=" or "-s" option to specify
 multi-servers. 
 
@@ -371,18 +371,18 @@ concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1
 and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2
 (10.1.1.3).  
 
-All the threads and concurrencies in asynchronous memslap are self-governed.
+All the threads and concurrencies in memslap are self-governed.
 
-So is asynchronous memslap. The user can start up several asynchronous
-memslap instances. The user can run asynchronous memslap on different client
+So is memslap. The user can start up several 
+memslap instances. The user can run memslap on different client
 machines to communicate with the same memcached server at the same. It is
-recommended that the user start different asynchronous memslap on different
+recommended that the user start different memslap on different
 machines using the same configuration. 
 
 =head2 Run with execute number mode or time mode
 
-The default asynchronous memslap runs with time mode. The default run time
-is 10 minutes. If it times out, asynchronous memslap will exit. Do not
+The default memslap runs with time mode. The default run time
+is 10 minutes. If it times out, memslap will exit. Do not
 specify both execute number mode and time mode at the same time; just
 specify one instead. 
 
@@ -400,7 +400,7 @@ For example:
 
 --stat_freq=20s
 
-asynchronous memslap will dump the statistics of the commands (get and set) at the frequency of every 20
+Memslap will dump the statistics of the commands (get and set) at the frequency of every 20
 seconds. 
 
 For more information on the format of dumping statistic information, refer to “Format of Output” section.
@@ -408,23 +408,22 @@ For more information on the format of dumping statistic information, refer to 
 =head2 Multi-get
 
 The user can use "--division=" or "-d" to specify multi-get keys count.
-Asynchronous memslap by default does single get with TCP. Asynchronous
-memslap also supports data verification and expire-time verification for
-multi-get. 
+Memslap by default does single get with TCP. Memslap also supports data 
+verification and expire-time verification for multi-get. 
 
-Asynchronous memslap supports multi-get with both TCP and UDP. Because of
+Memslap supports multi-get with both TCP and UDP. Because of
 the different implementation of the ASCII protocol and binary protocol,
 there are some differences between the two. For the ASCII protocol,
-asynchronous memslap sends one “multi-get” to the server once. For the
-binary protocol, asynchronous memslap sends several single get commands
+memslap sends one “multi-get” to the server once. For the
+binary protocol, memslap sends several single get commands
 together as “multi-get” to the server.
 
 =head2 UDP and TCP
 
-Asynchronous memslap supports both UDP and TCP. For TCP, asynchronous
+Memslap supports both UDP and TCP. For TCP,
 memslap does not reconnect the memcached server if socket connections are
 lost. If all the socket connections are lost or memcached server crashes,
-asynchronous memslap will exit. If the user specifies the “--reconnect”
+memslap will exit. If the user specifies the “--reconnect”
 option when socket connections are lost, it will reconnect them. 
 
 User can use “--udp” to enable the UDP feature, but UDP comes with some
@@ -449,10 +448,10 @@ If you want to create thousands of TCP connections, specify the
 
 For example: --facebook --division=50 --conn_sock=200
 
-The above command means that asynchronous memslap will do facebook test,
+The above command means that memslap will do facebook test,
 each concurrency has 200 socket TCP connections and one UDP socket.
 
-Asynchronous memslap sets objects with the TCP socket, and multi-gets 50
+Memslap sets objects with the TCP socket, and multi-gets 50
 objects once with the UDP socket.
 
 If you specify "--division=50", the key size must be less that 25 bytes
@@ -468,16 +467,16 @@ For example:
 --servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2
 
 The above command means that there are 2 replication memcached servers,
-asynchronous memslap will set objects to both server 0 and server 1, get
+memslap will set objects to both server 0 and server 1, get
 objects which are set to server 0 before from server 1, and also get objects
 which are set to server 1 before from server 0. If server 0 crashes,
-asynchronous memslap will only get objects from server 1. If server 0 comes
-back to life again, asynchronous memslap will reconnect server 0. If both
-server 0 and server 1 crash, asynchronous memslap will exit.
+memslap will only get objects from server 1. If server 0 comes
+back to life again, memslap will reconnect server 0. If both
+server 0 and server 1 crash, memslap will exit.
 
 =head2  Supports thousands of TCP connections
 
-Start asynchronous memslap with "--conn_sock=" or "-n" to enable this
+Start memslap with "--conn_sock=" or "-n" to enable this
 feature. Make sure that your system can support opening thousands of files
 and creating thousands of sockets. However, this feature does not support
 reconnection if sockets disconnect. 
@@ -486,14 +485,14 @@ For example:
 
 --threads=8 --concurrency=128 --conn_sock=128
 
-The above command means that asynchronous memslap starts up 8 threads, each
+The above command means that memslap starts up 8 threads, each
 thread has 16 concurrencies, each concurrency has 128 TCP socket
 connections, and the total number of TCP socket connections is 128 * 128 =
 16384.
 
 =head2 Supports binary protocol
 
-Start asynchronous memslap with "--binary" or "-B" options to enable this
+Start memslap with "--binary" or "-B" options to enable this
 feature. It supports all the above features except UDP, because the latest
 memcached 1.3.3 does not implement binary UDP protocol.
 
@@ -501,7 +500,7 @@ For example:
 
 --binary
 
-Since memcached 1.3.3 doesn't implement binary UDP protocol, asynchronous
+Since memcached 1.3.3 doesn't implement binary UDP protocol,
 memslap does not support UDP. In addition, memcached 1.3.3 does not support
 multi-get. If you specify "--division=50" option, it just sends 50 get
 commands together as “mulit-get” to the server.
@@ -520,7 +519,7 @@ sample configuration file:
  #start_len must be equal to or greater than 16
  #end_len must be equal to or less than 250
  #start_len must be equal to or greater than end_len
- #asynchronous memslap will generate keys according to the key range
+ #memslap will generate keys according to the key range
  #proportion: indicates keys generated from one range accounts for the total
  generated keys  
  #
@@ -545,7 +544,7 @@ sample configuration file:
  #start_len must be equal to or greater than 1
  #end_len must be equal to or less than 1M
  #start_len must be equal to or greater than end_len
- #asynchronous memslap will generate values according to the value range
+ #memslap will generate values according to the value range
  #proportion: indicates values generated from one range accounts for the
  total generated values  
  #
@@ -566,7 +565,7 @@ sample configuration file:
  #cmd
  #cmd_type cmd_proportion
  #
- #currently asynchronous memslap only supports get and set command.
+ #currently memslap only supports get and set command.
  #
  #cmd_type
  #set     0
@@ -587,7 +586,7 @@ sample configuration file:
 
 =head1 Format of output
 
-At the beginning, asynchronous memslap displays some configuration information as follows:
+At the beginning, memslap displays some configuration information as follows:
 
 =over 4
 
@@ -605,21 +604,21 @@ At the beginning, asynchronous memslap displays some configuration information a
 
 =back
 
-=head4 Where
+=head2 Where
 
 =over 4
 
 =item threads count
 
-The number of threads asynchronous memslap runs with.
+The number of threads memslap runs with.
 
 =item concurrency
 
-The number of concurrencies asynchronous memslap runs with.
+The number of concurrencies memslap runs with.
 
 =item run time
 
-How long to run asynchronous memslap.
+How long to run memslap.
 
 =item windows size
 
@@ -665,7 +664,7 @@ The output of dynamic statistics is something like this:
  117.93     195.60
  ---------------------------------------------------------------------------------------------------------------------------------
 
-=head4 Where
+=head2 Where
 
 =over 4
 
@@ -727,7 +726,7 @@ Geometric distribution based on natural exponential function
 
 =back
 
-At the end, asynchronous memslap will output something like this:
+At the end, memslap will output something like this:
 
   ---------------------------------------------------------------------------------------------------------------------------------
   Get Statistics (1257956 events)
@@ -780,7 +779,7 @@ At the end, asynchronous memslap will output something like this:
   Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s
   ---------------------------------------------------------------------------------------------------------------------------------
 
-=head4 Where
+=head2 Where
 
 =over 4
 
@@ -984,8 +983,6 @@ memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
-
 L<http://launchpad.org/libmemcached>
 
 =head1 AUTHORS
index 83aa6abed865393b672ee2adc0034a893d440b53..9341e7c8c02aaa71d7575cd260b89b5f419593d1 100644 (file)
@@ -19,7 +19,7 @@ For a full list of operations run the tool with the B<--help> option.
 =head1 HOME
 
 To find out more information please check:
-L<http://tangent.org/552/libmemcached.html>
+L<http://launchpad.org/libmemcached>
 
 =head1 AUTHOR
 
diff --git a/libhashkit/Makefile.am b/libhashkit/Makefile.am
deleted file mode 100644 (file)
index 55a2cf7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# HashKit
-# Copyright (C) 2009 Brian Aker
-# All rights reserved.
-#
-# Use and distribution licensed under the BSD license.  See
-# the COPYING file in the parent directory for full text.
-
-lib_LTLIBRARIES= libhashkit.la
-
-libhashkitincludedir= ${includedir}/libhashkit
-
-dist_libhashkitinclude_HEADERS= \
-       algorithm.h \
-       behavior.h \
-        hashkit.h \
-       strerror.h \
-        types.h \
-        visibility.h
-
-noinst_HEADERS= \
-               common.h
-
-libhashkit_la_SOURCES= \
-        crc32.c \
-        behavior.c \
-        default.c \
-        fnv.c \
-        hashkit.c \
-        jenkins.c \
-        ketama.c \
-        md5.c \
-        murmur.c \
-       strerror.c
-
-if INCLUDE_HSIEH_SRC
-libhashkit_la_SOURCES+= hsieh.c
-endif
-
-libhashkit_la_CFLAGS= \
-        ${AM_CFLAGS} \
-        -DBUILDING_HASHKIT
-
-libhashkit_la_LDFLAGS= \
-       $(LIBM) \
-        -version-info $(HASHKIT_LIBRARY_VERSION)
index cd44b67ff5c86993033664d2443e309cdc025779..9060bba030e2f40441f91f58446fb59e38227443 100644 (file)
@@ -1,11 +1,11 @@
 /* By Paul Hsieh (C) 2004, 2005.  Covered under the Paul Hsieh
- * derivative license. 
+ * derivative license.
  * See: http://www.azillionmonkeys.com/qed/weblicense.html for license
  * details.
  * http://www.azillionmonkeys.com/qed/hash.html
 */
 
-#include "hash_common.h"
+#include "common.h"
 
 #undef get16bits
 #if (defined(__GNUC__) && defined(__i386__))
diff --git a/libhashkit/include.am b/libhashkit/include.am
new file mode 100644 (file)
index 0000000..dd941f9
--- /dev/null
@@ -0,0 +1,47 @@
+# vim:ft=automake
+# included from Top Level Makefile.am
+# All paths should be given relative to the root
+#
+# HashKit
+# Copyright (C) 2009 Brian Aker
+# All rights reserved.
+#
+# Use and distribution licensed under the BSD license.  See
+# the COPYING file in the parent directory for full text.
+
+lib_LTLIBRARIES+= libhashkit/libhashkit.la
+
+nobase_include_HEADERS+= \
+                           libhashkit/algorithm.h \
+                           libhashkit/behavior.h \
+                           libhashkit/hashkit.h \
+                           libhashkit/strerror.h \
+                           libhashkit/types.h \
+                           libhashkit/visibility.h
+
+noinst_HEADERS+= \
+                libhashkit/common.h
+
+libhashkit_libhashkit_la_SOURCES= \
+                                 libhashkit/crc32.c \
+                                 libhashkit/behavior.c \
+                                 libhashkit/default.c \
+                                 libhashkit/fnv.c \
+                                 libhashkit/hashkit.c \
+                                 libhashkit/jenkins.c \
+                                 libhashkit/ketama.c \
+                                 libhashkit/md5.c \
+                                 libhashkit/murmur.c \
+                                 libhashkit/strerror.c
+
+if INCLUDE_HSIEH_SRC
+libhashkit_libhashkit_la_SOURCES+= libhashkit/hsieh.c
+endif
+
+libhashkit_libhashkit_la_CFLAGS= \
+                     ${AM_CFLAGS} \
+                     -DBUILDING_HASHKIT
+
+libhashkit_libhashkit_la_LDFLAGS= \
+                                 $(LIBM) \
+                                 -version-info $(HASHKIT_LIBRARY_VERSION)
diff --git a/libmemcached/configure.h.in b/libmemcached/configure.h.in
new file mode 100644 (file)
index 0000000..c4301df
--- /dev/null
@@ -0,0 +1,28 @@
+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker, Trond Norbye
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license.  See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary: Change the behavior of the memcached connection.
+ *
+ */
+
+#ifndef MEMCACHED_CONFIGURE_H
+#define MEMCACHED_CONFIGURE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+@DEPRECATED@
+
+#define LIBMEMCACHED_VERSION_STRING "@VERSION@"
+#define LIBMEMCACHED_VERSION_HEX @PANDORA_HEX_VERSION@
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* MEMCACHED_CONFIGURE_H */
index d94a6b2ebc66c76e3edc2e310e130e1899b78f3f..8adde9f033fefcd6ddfd1edf6ccfe566e4ea9699 100644 (file)
@@ -3,10 +3,9 @@
 # All paths should be given relative to the root
 
 EXTRA_DIST+= \
+            libmemcached/configure.h.in \
             libmemcached/libmemcached_probes.d \
-            libmemcached/memcached/README.txt \
-            libmemcached/memcached_configure.h.in
-
+            libmemcached/memcached/README.txt
 
 noinst_HEADERS+= \
                 libmemcached/byteorder.h \
@@ -20,30 +19,28 @@ noinst_HEADERS+= \
                 libmemcached/protocol/binary_handler.h
 
 nobase_include_HEADERS+= \
-                           libmemcached/analyze.h \
-                           libmemcached/auto.h \
-                           libmemcached/behavior.h \
-                           libmemcached/callback.h \
-                           libmemcached/constants.h \
-                           libmemcached/dump.h \
-                           libmemcached/exception.hpp \
-                           libmemcached/get.h \
-                           libmemcached/memcached.h \
-                           libmemcached/memcached.hpp \
-                           libmemcached/memcached_configure.h \
-                           libmemcached/protocol/cache.h \
-                           libmemcached/protocol/callback.h \
-                           libmemcached/protocol_handler.h \
-                           libmemcached/result.h \
-                           libmemcached/server.h \
-                           libmemcached/stats.h \
-                           libmemcached/storage.h \
-                           libmemcached/string.h \
-                           libmemcached/types.h \
-                           libmemcached/visibility.h \
-                           libmemcached/watchpoint.h
-
-
+                        libmemcached/analyze.h \
+                        libmemcached/auto.h \
+                        libmemcached/behavior.h \
+                        libmemcached/callback.h \
+                        libmemcached/configure.h \
+                        libmemcached/constants.h \
+                        libmemcached/dump.h \
+                        libmemcached/exception.hpp \
+                        libmemcached/get.h \
+                        libmemcached/memcached.h \
+                        libmemcached/memcached.hpp \
+                        libmemcached/protocol/cache.h \
+                        libmemcached/protocol/callback.h \
+                        libmemcached/protocol_handler.h \
+                        libmemcached/result.h \
+                        libmemcached/server.h \
+                        libmemcached/stats.h \
+                        libmemcached/storage.h \
+                        libmemcached/string.h \
+                        libmemcached/types.h \
+                        libmemcached/visibility.h \
+                        libmemcached/watchpoint.h
 
 lib_LTLIBRARIES+= libmemcached/libmemcachedprotocol.la
 libmemcached_libmemcachedprotocol_la_SOURCES =  \
@@ -114,7 +111,9 @@ libmemcached_libmemcached_la_LIBADD= $(LIBM) libmemcached/libmemcachedcallbacks.
 libmemcached_libmemcached_la_LDFLAGS= ${AM_LDFLAGS} -version-info 3:0:0
 
 if BUILD_LIBMEMCACHEDUTIL
-nobase_include_HEADERS+= libmemcached/memcached_util.h libmemcached/util/pool.h
+nobase_include_HEADERS+= \
+                        libmemcached/memcached_util.h \
+                        libmemcached/util/pool.h
 lib_LTLIBRARIES+= libmemcached/libmemcachedutil.la
 endif
 
index 95592a487490d85a7531123adb716a48a016c98c..4ea5ded211f0850c8099560c97fc384fd434bdd9 100644 (file)
@@ -24,7 +24,7 @@
 #include <netinet/in.h>
 
 #include <libmemcached/visibility.h>
-#include <libmemcached/memcached_configure.h>
+#include <libmemcached/configure.h>
 #include <libmemcached/constants.h>
 #include <libmemcached/types.h>
 #include <libmemcached/string.h>
index b28094062bc24815cfb965f4f51ca30b0f4032c9..e5226b5bf467f0821e2ad874b6acfe49b588dcf1 100644 (file)
@@ -29,7 +29,7 @@
  *
  * Copy: See Copyright for the status of this software.
  *
- * Author: Trond Norbye <trond.norbye@sun.com>
+ * Author: Trond Norbye <trond.norbye@gmail.com>
  */
 
 #ifndef PROTOCOL_BINARY_H
diff --git a/libmemcached/memcached_configure.h.in b/libmemcached/memcached_configure.h.in
deleted file mode 100644 (file)
index 5d4e60e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Summary: Preprocessor symbols set from configure we need install-time
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Trond Norbye
- */
-
-#ifndef MEMCACHED_CONFIGURE_H
-#define MEMCACHED_CONFIGURE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-@DEPRECATED@
-
-#define LIBMEMCACHED_VERSION_STRING "@VERSION@"
-#define LIBMEMCACHED_VERSION_HEX @PANDORA_HEX_VERSION@
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MEMCACHED_CONFIGURE_H */
index ceeb36fb6a83b92345e1a8e6bac81ec22a6a9620..53c4715c2dd6dff7fbddf681bd3f1592ea5dfadc 100644 (file)
@@ -4,7 +4,7 @@ Version: @VERSION@
 Release:   1
 License:   BSD
 Group:     System Environment/Libraries
-URL:       http://tangent.org/552/libmemcached.html
+URL:       http://launchpad.net/libmemcached
 Source0:   http://download.tangent.org/libmemcached-%{version}.tar.gz
 
 # For test suite
@@ -78,32 +78,65 @@ you will need to install %{name}-devel.
 %defattr (-,root,root,-) 
 %doc AUTHORS COPYING NEWS README THANKS TODO
 %{_bindir}/mem*
-%exclude %{_libdir}/libmemcached.a
 %exclude %{_libdir}/libmemcached.la
-%exclude %{_libdir}/libmemcachedutil.a
-%exclude %{_libdir}/libmemcachedprotocol.a
+%exclude %{_libdir}/libhashkit.la
 %exclude %{_libdir}/libmemcachedutil.la
 %exclude %{_libdir}/libmemcachedprotocol.la
+%{_libdir}/libhashkit.so.*
 %{_libdir}/libmemcached.so.*
 %{_libdir}/libmemcachedutil.so.*
 %{_libdir}/libmemcachedprotocol.so.*
 %{_mandir}/man1/mem*
-%exclude libhashkit/*
 
 
 %files devel
 %defattr (-,root,root,-) 
 %doc examples
-%{_includedir}/libmemcached
+%{_includedir}/libhashkit/algorithm.h
+%{_includedir}/libhashkit/behavior.h
+%{_includedir}/libhashkit/hashkit.h
+%{_includedir}/libhashkit/strerror.h
+%{_includedir}/libhashkit/types.h
+%{_includedir}/libhashkit/visibility.h
+%{_includedir}/libmemcached/analyze.h
+%{_includedir}/libmemcached/auto.h
+%{_includedir}/libmemcached/behavior.h
+%{_includedir}/libmemcached/callback.h
+%{_includedir}/libmemcached/configure.h
+%{_includedir}/libmemcached/constants.h
+%{_includedir}/libmemcached/dump.h
+%{_includedir}/libmemcached/exception.hpp
+%{_includedir}/libmemcached/get.h
+%{_includedir}/libmemcached/memcached.h
+%{_includedir}/libmemcached/memcached.hpp
+%{_includedir}/libmemcached/memcached_util.h
+%{_includedir}/libmemcached/protocol
+%{_includedir}/libmemcached/protocol/cache.h
+%{_includedir}/libmemcached/protocol/callback.h
+%{_includedir}/libmemcached/protocol_handler.h
+%{_includedir}/libmemcached/result.h
+%{_includedir}/libmemcached/server.h
+%{_includedir}/libmemcached/stats.h
+%{_includedir}/libmemcached/storage.h
+%{_includedir}/libmemcached/string.h
+%{_includedir}/libmemcached/types.h
+%{_includedir}/libmemcached/util/pool.h
+%{_includedir}/libmemcached/visibility.h
+%{_includedir}/libmemcached/watchpoint.h
+%{_libdir}/libhashkit.so
 %{_libdir}/libmemcached.so
-%{_libdir}/libmemcachedutil.so
 %{_libdir}/libmemcachedprotocol.so
+%{_libdir}/libmemcachedutil.so
 %{_libdir}/pkgconfig/libmemcached.pc
+%{_mandir}/man3/hashkit*.3.gz
 %{_mandir}/man3/libmemcached*.3.gz
 %{_mandir}/man3/memcached_*.3.gz
 
 
 %changelog
+* Fri Jan  8 2010
+- Modified to be explicit in install include files. 
+
 * Sat Apr 25 2009 Remi Collet <rpms@famillecollet.com> - 0.28-1
 - Initial RPM from Brian Aker spec
 - create -devel subpackage