[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Add bdb path option to gen-make for windows

From: Chris Foote <Chris.Foote_at_xtra.co.nz>
Date: 2003-09-19 01:03:36 CEST

This patch allows the bdb headers and libs to be shared by multiple
working copies on windows.

Chris

Log:
Add a windows specific option to gen-make so that the user can specify
a path to the Berkely DB headers and libs.

* gen-make.py:
  (_usage_exit): Add --with-berkely-db option.
  (__main__): ditto.

* build/generator/gen_win.py:
  (parse_options): Add --with-berkely-db option.
  (__init__): Search for libdb4? in the specified dir and then
  the default dirs.
  (map_rootpath): If the path is absolute then use it, else
  prepend the root path.

Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py (revision 7081)
+++ build/generator/gen_win.py (working copy)
@@ -49,6 +49,7 @@
       os.unlink(src)
 
   def parse_options(self, options):
+ self.bdb_path = None
     self.httpd_path = None
     self.zlib_path = None
     self.openssl_path = None
@@ -60,7 +61,9 @@
     self.instrument_purify_quantify = None
 
     for opt, val in options:
- if opt == '--with-httpd':
+ if opt == '--with-berkeley-db':
+ self.bdb_path = os.path.abspath(val)
+ elif opt == '--with-httpd':
         self.httpd_path = os.path.abspath(val)
         del self.skip_sections['mod_dav_svn']
         del self.skip_sections['mod_authz_svn']
@@ -100,23 +103,29 @@
     self.parse_options(options)
 
     #Find db-4.0.x or db-4.1.x
+ self.dblibname = None
+
     #We translate all slashes to windows format later on
- db41 = self.search_for("libdb41.lib", ["db4-win32/lib"])
- if db41:
- sys.stderr.write("Found libdb41.lib in %s\n" % db41)
- self.dblibname = "libdb41"
- self.dblibpath = db41
- else:
- db40 = self.search_for("libdb40.lib", ["db4-win32/lib"])
- if db40:
- sys.stderr.write("Found libdb40.lib in %s\n" % db40)
- self.dblibname = "libdb40"
- self.dblibpath = db40
- else:
- sys.stderr.write("DB not found; assuming db-4.0.X in db4-win32 "
- "by default\n")
- self.dblibname = "libdb40"
- self.dblibpath = os.path.join("db4-win32","lib")
+ search = [("libdb41", "db4-win32/lib"),
+ ("libdb40", "db4-win32/lib")]
+
+ if self.bdb_path:
+ search = [("libdb41", self.bdb_path + "/lib"),
+ ("libdb40", self.bdb_path + "/lib")] + search
+
+ for libname, path in search:
+ libpath = self.search_for(libname + ".lib", [path])
+ if libpath:
+ sys.stderr.write("Found %s.lib in %s\n" % (libname, libpath))
+ self.dblibname = libname
+ self.dblibpath = libpath
+
+ if not self.dblibname:
+ sys.stderr.write("DB not found; assuming db-4.0.X in db4-win32 "
+ "by default\n")
+ self.dblibname = "libdb40"
+ self.dblibpath = os.path.join("db4-win32","lib")
+
     self.dbincpath = string.replace(self.dblibpath, "lib", "include")
     self.dbbindll = "%s//%s.dll" % (string.replace(self.dblibpath,
                                                    "lib", "bin"),
@@ -213,7 +222,10 @@
 
     result = [ ]
     for item in list:
- result.append(rootpath + '\\' + item)
+ if os.path.isabs(item):
+ result.append(item)
+ else:
+ result.append(rootpath + '\\' + item)
     return result
 
   def make_windirs(self, list):
Index: gen-make.py
===================================================================
--- gen-make.py (revision 7081)
+++ gen-make.py (working copy)
@@ -64,6 +64,10 @@
   print
   print " Windows-specific options:"
   print
+ print " --with-berkeley-db=DIR"
+ print " look for Berkley DB headers and libs in"
+ print " DIR"
+ print
   print " --with-httpd=DIR"
   print " the httpd sources and binaries required"
   print " for building mod_dav_svn are in DIR"
@@ -90,7 +94,8 @@
 if __name__ == '__main__':
   try:
     opts, args = getopt.getopt(sys.argv[1:], 'st:',
- ['with-httpd=',
+ ['with-berkeley-db=',
+ 'with-httpd=',
                                 'with-openssl=',
                                 'with-zlib=',
                                 'enable-pool-debug',
Received on Fri Sep 19 01:07:02 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.