You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2013/11/10 05:02:43 UTC
svn commit: r1540437 - in /subversion/branches/1.8.x: ./ STATUS
build/generator/gen_win.py
Author: svn-role
Date: Sun Nov 10 04:02:42 2013
New Revision: 1540437
URL: http://svn.apache.org/r1540437
Log:
Merge the 1.8.x-openssl-dirs branch:
* r1535139
Make openssl lib and include directory available when using --with-openssl
on Windows.
Justification:
Serf 1.2 simply included the openssl static library in its own static
library, which made it very easy for Subversion to consume, but added the
risk of linking to many different openssl versions (both static and
shared builds) at once. This bug in serf was fixed for 1.3 and we
updated Subversion to use 1.3 for Subversion 1.8.4, but without this
patch we added the assumption that ssleay32.lib and libeay32.lib are
within some existing referenced library directory.
This patch fixes that assumption by adding the right libdir to our build,
by borrowing some code from trunk.
Branch: ^/subversion/branches/1.8.x-openssl-dirs
Votes:
+1: rhuijben, ivan, stefan2
Modified:
subversion/branches/1.8.x/ (props changed)
subversion/branches/1.8.x/STATUS
subversion/branches/1.8.x/build/generator/gen_win.py
Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
Merged /subversion/branches/1.8.x-openssl-dirs:r1535137-1540436
Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1540437&r1=1540436&r2=1540437&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Sun Nov 10 04:02:42 2013
@@ -188,23 +188,6 @@ Veto-blocked changes:
Approved changes:
=================
- * r1535139
- Make openssl lib and include directory available when using --with-openssl
- on Windows.
- Justification:
- Serf 1.2 simply included the openssl static library in its own static
- library, which made it very easy for Subversion to consume, but added the
- risk of linking to many different openssl versions (both static and
- shared builds) at once. This bug in serf was fixed for 1.3 and we
- updated Subversion to use 1.3 for Subversion 1.8.4, but without this
- patch we added the assumption that ssleay32.lib and libeay32.lib are
- within some existing referenced library directory.
- This patch fixes that assumption by adding the right libdir to our build,
- by borrowing some code from trunk.
- Branch: ^/subversion/branches/1.8.x-openssl-dirs
- Votes:
- +1: rhuijben, ivan, stefan2
-
* r1535161
Make swig-rb tests run without installing on OS X.
Justification:
Modified: subversion/branches/1.8.x/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/build/generator/gen_win.py?rev=1540437&r1=1540436&r2=1540437&view=diff
==============================================================================
--- subversion/branches/1.8.x/build/generator/gen_win.py (original)
+++ subversion/branches/1.8.x/build/generator/gen_win.py Sun Nov 10 04:02:42 2013
@@ -947,6 +947,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)
@@ -1006,6 +1009,9 @@ class WinGeneratorBase(GeneratorBase):
if self.serf_lib:
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)))
@@ -1469,6 +1475,24 @@ class WinGeneratorBase(GeneratorBase):
"Check if serf and its dependencies are available"
minimal_serf_version = (1, 2, 1)
+
+ 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):