You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/11/19 15:39:53 UTC
svn commit: r1543442 - in /subversion/branches/1.7.x-serf-1.3.x-Windows: ./
build/generator/gen_win.py
Author: rhuijben
Date: Tue Nov 19 14:39:53 2013
New Revision: 1543442
URL: http://svn.apache.org/r1543442
Log:
Merge the two relevant patches that we used to make 1.8.x work against recent
serf versions.
$ svn merge ^/subversion/branches/1.8.x-serf-1.3+-windows@1517123 -c 1517123
$ svn merge ^/subversion/branches/1.8.x-openssl-dirs@1535139 -c 1535139
* .
* build/generator/gen_win.py
Merge r1517123 and r1535139.
Modified:
subversion/branches/1.7.x-serf-1.3.x-Windows/ (props changed)
subversion/branches/1.7.x-serf-1.3.x-Windows/build/generator/gen_win.py
Propchange: subversion/branches/1.7.x-serf-1.3.x-Windows/
------------------------------------------------------------------------------
Merged /subversion/branches/1.8.x-openssl-dirs:r1535139
Merged /subversion/branches/1.8.x-serf-1.3+-windows:r1517123
Modified: subversion/branches/1.7.x-serf-1.3.x-Windows/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x-serf-1.3.x-Windows/build/generator/gen_win.py?rev=1543442&r1=1543441&r2=1543442&view=diff
==============================================================================
--- subversion/branches/1.7.x-serf-1.3.x-Windows/build/generator/gen_win.py (original)
+++ subversion/branches/1.7.x-serf-1.3.x-Windows/build/generator/gen_win.py Tue Nov 19 14:39:53 2013
@@ -382,14 +382,21 @@ 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']
if self.without_neon:
install_targets = [x for x in install_targets if x.name != 'neon']
install_targets = [x for x in install_targets if x.name != 'libsvn_ra_neon']
+ # 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
@@ -942,6 +949,9 @@ class WinGeneratorBase(GeneratorBase):
if self.serf_lib:
fakeincludes.append(self.apath(self.serf_path))
+
+ if self.openssl_path and self.openssl_inc_dir:
+ fakeincludes.append(self.apath(self.openssl_inc_dir))
if self.swig_libdir \
and (isinstance(target, gen_base.TargetSWIG)
@@ -993,7 +1003,13 @@ 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))
+
+ if self.openssl_path and self.openssl_lib_dir:
+ fakelibdirs.append(self.apath(self.openssl_lib_dir))
+ else:
+ fakelibdirs.append(self.apath(msvc_path_join(self.serf_path, cfg)))
fakelibdirs.append(self.apath(self.apr_path, cfg))
fakelibdirs.append(self.apath(self.apr_util_path, cfg))
@@ -1033,7 +1049,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'
@@ -1080,6 +1103,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)
@@ -1487,6 +1513,24 @@ class WinGeneratorBase(GeneratorBase):
"Check if serf and its dependencies are available"
minimal_serf_version = (0, 3, 0)
+
+ if self.openssl_path and os.path.exists(self.openssl_path):
+ version_path = os.path.join(self.openssl_path, 'inc32/openssl/opensslv.h')
+ if os.path.isfile(version_path):
+ # We have an OpenSSL Source location (legacy handling)
+ self.openssl_inc_dir = os.path.join(self.openssl_path, 'inc32')
+ if self.static_openssl:
+ self.openssl_lib_dir = os.path.join(self.openssl_path, 'out32')
+ else:
+ self.openssl_lib_dir = os.path.join(self.openssl_path, 'out32dll')
+ elif os.path.isfile(os.path.join(self.openssl_path,
+ 'include/openssl/opensslv.h')):
+ self.openssl_inc_dir = os.path.join(self.openssl_path, 'include')
+ self.openssl_lib_dir = os.path.join(self.openssl_path, 'lib')
+ else:
+ print('WARNING: \'opensslv.h\' not found')
+ self.openssl_path = None
+
self.serf_lib = None
if self.serf_path and os.path.exists(self.serf_path):
if self.openssl_path and os.path.exists(self.openssl_path):