Makefile/user-macro comments.
authorHallvard Furuseth <hallvard@openldap.org>
Wed, 26 Jun 2013 16:02:26 +0000 (18:02 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Wed, 26 Jun 2013 16:02:26 +0000 (18:02 +0200)
libraries/liblmdb/Makefile
libraries/liblmdb/mdb.c

index 7c3903b..25c52ad 100644 (file)
@@ -1,3 +1,34 @@
+# Makefile for liblmdb (Lightning memory-mapped database library).
+
+########################################################################
+# Configuration. The compiler options must enable threaded compilation.
+#
+# Preprocessor macros (for CPPFLAGS) of interest:
+#
+# To compile successfully if the default does not:
+# - MDB_USE_POSIX_SEM  (enabled by default on BSD, Apple)
+#      Define if shared mutexes are unsupported.  Note that Posix
+#      semaphores and shared mutexes have different behaviors and
+#      different problems, see the Caveats section in lmdb.h.
+#
+# For best performence or to compile successfully:
+# - MDB_DSYNC = "O_DSYNC" (default) or "O_SYNC" (less efficient)
+#      If O_DSYNC is undefined but exists in /usr/include,
+#      preferably set some compiler flag to get the definition.
+# - MDB_FDATASYNC = "fdatasync" or "fsync"
+#      Function for flushing the data of a file. Define this to
+#      "fsync" if fdatasync() is not supported. fdatasync is
+#      default except on BSD, Apple, Android which use fsync.
+# - MDB_USE_PWRITEV
+#      Define if the pwritev() function is supported.
+#
+# Data format:
+# - MDB_MAXKEYSIZE
+#      Controls data packing and limits, see mdb.c.
+#
+# Debugging:
+# - MDB_DEBUG, MDB_PARANOID.
+#
 CC     = gcc
 W      = -W -Wall -Wno-unused-parameter -Wbad-function-cast
 OPT = -O2 -g
@@ -6,6 +37,8 @@ LDLIBS =
 SOLIBS =
 prefix = /usr/local
 
+########################################################################
+
 IHDRS  = lmdb.h
 ILIBS  = liblmdb.a liblmdb.so
 IPROGS = mdb_stat mdb_copy
index c0f4398..c4a80ad 100644 (file)
@@ -349,6 +349,9 @@ static txnid_t mdb_debug_start;
 
        /**     @brief The maximum size of a key in the database.
         *
+        *      The library rejects bigger keys, and cannot deal with records
+        *      with bigger keys stored by a library with bigger max keysize.
+        *
         *      We require that keys all fit onto a regular page. This limit
         *      could be raised a bit further if needed; to something just
         *      under #MDB_PAGESIZE / #MDB_MINKEYS.