Build: Allow Local/Makefile "USE_NDBM=y" to override OS/Makefile-*
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 27 Feb 2022 14:11:09 +0000 (14:11 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 27 Feb 2022 16:19:35 +0000 (16:19 +0000)
doc/doc-docbook/spec.xfpt
src/src/buildconfig.c
src/src/config.h.defaults

index 6c0ac922d026297ac59c859b43ce19c06928d163..6ede1dc95c07a81093cf2268c8e619fad7081fb2 100644 (file)
@@ -1841,6 +1841,9 @@ USE_DB=yes
 .endd
 Similarly, for gdbm you set USE_GDBM, and for tdb you set USE_TDB. An
 error is diagnosed if you set more than one of these.
+.new
+You can set USE_NDBM if needed to override an operating system default.
+.wen
 
 At the lowest level, the build-time configuration sets none of these options,
 thereby assuming an interface of type (1). However, some operating system
@@ -1855,7 +1858,11 @@ in one of these lines:
 .code
 DBMLIB = -ldb
 DBMLIB = -ltdb
+DBMLIB = -lgdbm -lgdbm_compat
 .endd
+.new
+The last of those was for a Linux having GDBM provide emulated NDBM facilities.
+.wen
 Settings like that will work if the DBM library is installed in the standard
 place. Sometimes it is not, and the library's header file may also not be in
 the default path. You may need to set INCLUDE to specify where the header
index a680b344a9bfae408ca667425a59bbc84d4f9bec..a1b5485cd08aa168af1b5620ca93a8afca9acce6 100644 (file)
@@ -51,7 +51,7 @@ typedef struct {
   char *data;
 } save_item;
 
-static const char *db_opts[] = { "", "USE_DB", "USE_GDBM", "USE_TDB" };
+static const char *db_opts[] = { "", "USE_DB", "USE_GDBM", "USE_TDB", "USE_NDBM" };
 
 static int have_ipv6 = 0;
 static int have_iconv = 0;
index 716f92ed36006397d5539b662828d8b1b73d19f3..65d33ac2446f7ad2decd98962971d7d6bea30425 100644 (file)
@@ -181,6 +181,7 @@ Do not put spaces between # and the 'define'.
 #define USE_GDBM
 #define USE_GNUTLS
 #define AVOID_GNUTLS_PKCS11
+#define USE_NDBM
 #define USE_OPENSSL
 #define USE_READLINE
 #define USE_TCP_WRAPPERS