Blob Blame History Raw
diff --git a/build/dso.m4 b/build/dso.m4
index 2c5df6b..5b06570 100644
--- a/build/dso.m4
+++ b/build/dso.m4
@@ -44,6 +44,15 @@ yes
      fi
   fi
 
+  ### Hack: force static linking of DBM code.
+  objs=
+  test $apu_have_db = 1 && objs="$objs dbm/apr_dbm_berkeleydb.lo"
+  test $apu_have_gdbm = 1 && objs="$objs dbm/apr_dbm_gdbm.lo"
+  test $apu_have_ndbm = 1 && objs="$objs dbm/apr_dbm_ndbm.lo"
+  EXTRA_OBJECTS="$EXTRA_OBJECTS $objs"
+  APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
+  APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
+
   if test "$apu_dso_build" = "0"; then
 
      # Statically link the drivers:
@@ -57,9 +66,6 @@ yes
      test $apu_have_sqlite2 = 1 && objs="$objs dbd/apr_dbd_sqlite2.lo"
      test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo"
      test $apu_have_odbc = 1 && objs="$objs dbd/apr_dbd_odbc.lo"
-     test $apu_have_db = 1 && objs="$objs dbm/apr_dbm_berkeleydb.lo"
-     test $apu_have_gdbm = 1 && objs="$objs dbm/apr_dbm_gdbm.lo"
-     test $apu_have_ndbm = 1 && objs="$objs dbm/apr_dbm_ndbm.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_init.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_option.lo"
      test $apu_has_ldap = 1 && objs="$objs ldap/apr_ldap_rebind.lo"
@@ -81,11 +87,9 @@ yes
 
      APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_crypto_openssl $LDADD_crypto_nss $LDADD_crypto_commoncrypto"
      APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_odbc"
-     APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
      APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_ldap"
      APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_crypto_openssl $LDADD_crypto_nss $LDADD_crypto_commoncrypto"
      APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_odbc"
-     APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_dbm_db $LDADD_dbm_gdbm $LDADD_dbm_ndbm"
      APRUTIL_EXPORT_LIBS="$APRUTIL_EXPORT_LIBS $LDADD_ldap"
 
   else
@@ -101,9 +105,6 @@ yes
      test $apu_have_sqlite2 = 1 && dsos="$dsos dbd/apr_dbd_sqlite2.la"
      test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la"
      test $apu_have_odbc = 1 && dsos="$dsos dbd/apr_dbd_odbc.la"
-     test $apu_have_db = 1 && dsos="$dsos dbm/apr_dbm_db.la"
-     test $apu_have_gdbm = 1 && dsos="$dsos dbm/apr_dbm_gdbm.la"
-     test $apu_have_ndbm = 1 && dsos="$dsos dbm/apr_dbm_ndbm.la"
      test $apu_has_ldap = 1 && dsos="$dsos ldap/apr_ldap.la"
 
      if test -n "$dsos"; then
diff --git a/dbd/apr_dbd.c b/dbd/apr_dbd.c
index abf858c..0cd3a27 100644
--- a/dbd/apr_dbd.c
+++ b/dbd/apr_dbd.c
@@ -33,6 +33,9 @@
 #include "apr_dbd.h"
 #include "apu_version.h"
 
+#undef APU_DSO_BUILD
+#define APU_DSO_BUILD 0
+
 static apr_hash_t *drivers = NULL;
 static apr_uint32_t initialised = 0, in_init = 1;