You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Alexander Mueller <Xe...@web.de> on 2009/02/25 14:49:31 UTC

[PATCH] Modify "gen-make.py", so it will link against the static version of Berkeley DB

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.

So, here is a patch the adds a new option "--enable-berkeley-db-static" 
to the generator.

I have created two patches, one for the 1.5.x branch, the other one for 
the 1.6.x branch.

Hope you like it. If not, please feeback.

Alex

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1227111

Re: [PATCH] Modify "gen-make.py", so it will link against the static version of Berkeley DB

Posted by "Hyrum K. Wright" <hy...@mail.utexas.edu>.
On Feb 25, 2009, at 8:49 AM, Alexander Mueller wrote:

> 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.
>
> So, here is a patch the adds a new option "--enable-berkeley-db- 
> static"
> to the generator.
>
> I have created two patches, one for the 1.5.x branch, the other one  
> for
> the 1.6.x branch.

I haven't reviewed the patch, but a general comment on your  
submission.  You only need to create one patch, against trunk.  From  
there, changes can be nominated and backported into the appropriate  
release branch(es).  Also, please include a suitably written log  
message, as mentioned in the patch guidelines: http://subversion.tigris.org/hacking.html#patches

-Hyrum

>
>
> Hope you like it. If not, please feeback.
>
> Alex
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1227111Index 
> : build/generator/gen_win.py
> ===================================================================
> --- build/generator/gen_win.py	(Revision 36127)
> +++ build/generator/gen_win.py	(Arbeitskopie)
> @@ -39,6 +39,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
> @@ -69,6 +70,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':
> @@ -144,6 +147,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 36127)
> +++ gen-make.py	(Arbeitskopie)
> @@ -169,6 +169,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
> @@ -220,6 +223,7 @@
>                             'enable-nls',
>                             'enable-bdb-in-apr-util',
>                             'enable-ml',
> +                            'enable-berkeley-db-static',
>                             'disable-shared',
>                             'installed-libs=',
>                             'vsnet-version=',
> Index: build/generator/gen_win.py
> ===================================================================
> --- build/generator/gen_win.py	(Revision 36127)
> +++ 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 36127)
> +++ 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=',

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1227132