Right now Subversion will always try to link against the static version
of Berkeley DB. Apr-util can be configured to link against the static
library but finally we end up with an executable that has both the
contents of the static library AND the links against the dll.
* gen-make.py
(_usage_exit): output usage for new option
"--enable-berkeley-db-static"
(__main__): add the option to "my_getopt"
* build/generator/gen-win.py
(GeneratorBase::parse_options): store the new option as "bdb_static"
(GeneratorBase::_find_bdb): if "bdb_static" is set, use the
"libXXs.lib" (static libraries)
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1227203
Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py (Revision 36128)
+++ build/generator/gen_win.py (Arbeitskopie)
@@ -43,6 +43,7 @@
self.serf_path = None
self.serf_lib = None
self.bdb_path = 'db4-win32'
+ self.bdb_static = False
self.without_neon = False
self.neon_path = 'neon'
self.neon_ver = 25005
@@ -76,6 +77,8 @@
for opt, val in options:
if opt == '--with-berkeley-db':
self.bdb_path = val
+ elif opt == '--enable-berkeley-db-static':
+ self.bdb_static = 1
elif opt == '--with-apr':
self.apr_path = val
elif opt == '--with-apr-util':
@@ -153,6 +156,8 @@
"Find the Berkeley DB library and version"
for ver in ("47", "46", "45", "44", "43", "42", "41", "40"):
lib = "libdb" + ver
+ if self.bdb_static:
+ lib += "s"
path = os.path.join(self.bdb_path, "lib")
if os.path.exists(os.path.join(path, lib + ".lib")):
self.bdb_lib = lib
Index: gen-make.py
===================================================================
--- gen-make.py (Revision 36128)
+++ gen-make.py (Arbeitskopie)
@@ -175,6 +175,9 @@
print(" --enable-bdb-in-apr-util")
print(" configure APR-Util to use Berkeley DB")
print("")
+ print(" --enable-berkeley-db-static")
+ print(" link against the static Berkeley DB library")
+ print("")
print(" --enable-ml")
print(" enable use of ML assembler with zlib")
print("")
@@ -231,6 +234,7 @@
'enable-nls',
'enable-bdb-in-apr-util',
'enable-ml',
+ 'enable-berkeley-db-static',
'disable-shared',
'installed-libs=',
'vsnet-version=',
Received on 2009-02-25 16:10:41 CET