--- apr-util-1.3.7/build/dso.m4.nodbmdso +++ apr-util-1.3.7/build/dso.m4 @@ -44,6 +44,16 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ 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: @@ -42,9 +65,6 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ test $apu_have_sqlite3 = 1 && objs="$objs dbd/apr_dbd_sqlite3.lo" test $apu_have_freetds = 1 && objs="$objs dbd/apr_dbd_freetds.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" @@ -65,10 +85,8 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ fi APRUTIL_LIBS="$APRUTIL_LIBS $LDADD_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $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_dbd_pgsql $LDADD_dbd_sqlite2 $LDADD_dbd_sqlite3 $LDADD_dbd_oracle $LDADD_dbd_mysql $LDADD_dbd_freetds $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 @@ -82,9 +100,6 @@ AC_DEFUN([APU_CHECK_UTIL_DSO], [ test $apu_have_sqlite3 = 1 && dsos="$dsos dbd/apr_dbd_sqlite3.la" test $apu_have_freetds = 1 && dsos="$dsos dbd/apr_dbd_freetds.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 --- apr-util-1.3.7/dbm/apr_dbm.c.nodbmdso +++ apr-util-1.3.7/dbm/apr_dbm.c @@ -56,6 +56,9 @@ #error a DBM implementation was not specified #endif +#undef APU_DSO_BUILD +#define APU_DSO_BUILD 0 + #if APU_DSO_BUILD static apr_hash_t *drivers = NULL;