subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rhuij...@apache.org
Subject svn commit: r1517123 - /subversion/branches/1.8.x-serf-1.3+-windows/build/generator/gen_win.py
Date Sat, 24 Aug 2013 12:22:56 GMT
Author: rhuijben
Date: Sat Aug 24 12:22:56 2013
New Revision: 1517123

URL: http://svn.apache.org/r1517123
Log:
Allow building Subversion 1.8.x against Serf 1.3.0 and higher by allowing
compilation against an already compiled zlib and serf for this specific
scenario.

Compiling serf requires an already compiled zlib, so we can't just (re)compile
zlib after serf.

On trunk this is handled via the improved library detection code.

* build/generator/gen_win.py
  Drop 'serf' and 'zlib' targets for serf >= 1.3.0
  Link against libeay32 and ssleay32 for serf >= 1.3.0
  Fix zlib library name when using an already compiled zlib.

Modified:
    subversion/branches/1.8.x-serf-1.3+-windows/build/generator/gen_win.py

Modified: subversion/branches/1.8.x-serf-1.3+-windows/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-serf-1.3%2B-windows/build/generator/gen_win.py?rev=1517123&r1=1517122&r2=1517123&view=diff
==============================================================================
--- subversion/branches/1.8.x-serf-1.3+-windows/build/generator/gen_win.py (original)
+++ subversion/branches/1.8.x-serf-1.3+-windows/build/generator/gen_win.py Sat Aug 24 12:22:56
2013
@@ -386,11 +386,18 @@ class WinGeneratorBase(GeneratorBase):
       install_targets = [x for x in install_targets if not (isinstance(x, gen_base.TargetExe)
                                                             and x.install == 'bdb-test')]
 
+    # Don't build serf when we don't have it or for 1.3+
+    if not self.serf_lib or (self.serf_ver_maj, self.serf_ver_min) >= (1, 3):
+      install_targets = [x for x in install_targets if x.name != 'serf']      
+      
     # Drop the serf target if we don't have both serf and openssl
     if not self.serf_lib:
-      install_targets = [x for x in install_targets if x.name != 'serf']
       install_targets = [x for x in install_targets if x.name != 'libsvn_ra_serf']
 
+    # Don't build zlib if we have an already compiled serf
+    if self.serf_lib and (self.serf_ver_maj, self.serf_ver_min) >= (1, 3):
+      install_targets = [x for x in install_targets if x.name != 'zlib']
+
     # Drop the swig targets if we don't have swig
     if not self.swig_path and not self.swig_libdir:
       install_targets = [x for x in install_targets
@@ -993,7 +1000,10 @@ class WinGeneratorBase(GeneratorBase):
     if self.sasl_path:
       fakelibdirs.append(self.apath(self.sasl_path, "lib"))
     if self.serf_lib:
-      fakelibdirs.append(self.apath(msvc_path_join(self.serf_path, cfg)))
+      if (self.serf_ver_maj, self.serf_ver_min) >= (1, 3):
+        fakelibdirs.append(self.apath(self.serf_path))
+      else:
+        fakelibdirs.append(self.apath(msvc_path_join(self.serf_path, cfg)))
 
     fakelibdirs.append(self.apath(self.apr_path, libcfg))
     fakelibdirs.append(self.apath(self.apr_util_path, libcfg))
@@ -1030,7 +1040,14 @@ class WinGeneratorBase(GeneratorBase):
       else:
         serflib = 'serf.lib'
 
-    zlib = (cfg == 'Debug' and 'zlibstatD.lib' or 'zlibstat.lib')
+    if self.serf_lib and (self.serf_ver_maj, self.serf_ver_min) >= (1, 3):
+      # We don't build zlib ourselves, so use the standard name
+      # (zdll.lib would link to zlib.dll)
+      zlib = 'zlib.lib'
+    else:
+      # We compile zlib ourselves to these explicit (non-standard) names
+      zlib = (cfg == 'Debug' and 'zlibstatD.lib' or 'zlibstat.lib')
+      
     sasllib = None
     if self.sasl_path:
       sasllib = 'libsasl.lib'
@@ -1074,6 +1091,9 @@ class WinGeneratorBase(GeneratorBase):
 
       if self.serf_lib and dep.external_lib == '$(SVN_SERF_LIBS)':
         nondeplibs.append(serflib)
+        if (self.serf_ver_maj, self.serf_ver_min) >= (1, 3):
+          nondeplibs.append('ssleay32.lib')
+          nondeplibs.append('libeay32.lib')
 
       if dep.external_lib == '$(SVN_SASL_LIBS)':
         nondeplibs.append(sasllib)



Mime
View raw message