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/06 11:28:48 UTC
svn commit: r1539300 - in /subversion/trunk:
build/generator/gen_win_dependencies.py win-tests.py
Author: rhuijben
Date: Wed Nov 6 10:28:48 2013
New Revision: 1539300
URL: http://svn.apache.org/r1539300
Log:
In the Windows test runner: automatically copy additional apr dlls
(such as the apr-util crypto dll).
* win-tests.py
(locate_libs): When a dependency has additional binaries, copy these too.
* build/generator/gen_win_dependencies.py
(_find_apr,
_find_apr_util_and_expat): Find additional binaries and provide information
on them.
Modified:
subversion/trunk/build/generator/gen_win_dependencies.py
subversion/trunk/win-tests.py
Modified: subversion/trunk/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/generator/gen_win_dependencies.py?rev=1539300&r1=1539299&r2=1539300&view=diff
==============================================================================
--- subversion/trunk/build/generator/gen_win_dependencies.py (original)
+++ subversion/trunk/build/generator/gen_win_dependencies.py Wed Nov 6 10:28:48 2013
@@ -51,7 +51,7 @@ class SVNCommonLibrary:
def __init__(self, name, include_dirs, lib_dir, lib_name, version=None,
debug_lib_dir=None, debug_lib_name=None, dll_dir=None,
dll_name=None, debug_dll_dir=None, debug_dll_name=None,
- is_src=False, defines=[], forced_includes=[]):
+ is_src=False, defines=[], forced_includes=[], extra_bin=[]):
self.name = name
if include_dirs:
self.include_dirs = include_dirs if isinstance(include_dirs, list) \
@@ -89,6 +89,8 @@ class SVNCommonLibrary:
self.debug_dll_name = debug_dll_name
else:
self.debug_dll_name = dll_name
+
+ self.extra_bin = extra_bin
class GenDependenciesBase(gen_base.GeneratorBase):
"""This intermediate base class exists to be instantiated by win-tests.py,
@@ -387,6 +389,19 @@ class GenDependenciesBase(gen_base.Gener
else:
dll_dir = os.path.join(self.apr_path, 'bin')
debug_dll_dir = None
+
+ bin_files = os.listdir(dll_dir)
+ if debug_dll_dir:
+ debug_bin_files = os.listdir(debug_dll_dir)
+ else:
+ debug_bin_files = bin_files
+
+ extra_bin = []
+
+ for bin in bin_files:
+ if bin in debug_bin_files:
+ if re.match('^(lib)?apr[-_].*' + suffix + '(d)?.dll$', bin):
+ extra_bin.append(bin)
self._libraries['apr'] = SVNCommonLibrary('apr', inc_path, lib_dir, lib_name,
apr_version,
@@ -394,7 +409,8 @@ class GenDependenciesBase(gen_base.Gener
dll_dir=dll_dir,
dll_name=dll_name,
debug_dll_dir=debug_dll_dir,
- defines=defines)
+ defines=defines,
+ extra_bin=extra_bin)
def _find_apr_util_and_expat(self):
"Find the APR-util library and version"
@@ -479,6 +495,19 @@ class GenDependenciesBase(gen_base.Gener
dll_dir = os.path.join(self.apr_util_path, 'bin')
debug_dll_dir = None
+ bin_files = os.listdir(dll_dir)
+ if debug_dll_dir:
+ debug_bin_files = os.listdir(debug_dll_dir)
+ else:
+ debug_bin_files = bin_files
+
+ extra_bin = []
+
+ for bin in bin_files:
+ if bin in debug_bin_files:
+ if re.match('^(lib)?aprutil[-_].*' + suffix + '(d)?.dll$', bin):
+ extra_bin.append(bin)
+
self._libraries['aprutil'] = SVNCommonLibrary('apr-util', inc_path, lib_dir,
lib_name,
aprutil_version,
@@ -486,7 +515,8 @@ class GenDependenciesBase(gen_base.Gener
dll_dir=dll_dir,
dll_name=dll_name,
debug_dll_dir=debug_dll_dir,
- defines=defines)
+ defines=defines,
+ extra_bin=extra_bin)
# And now find expat
# If we have apr-util as a source location, it is in a subdir.
Modified: subversion/trunk/win-tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/win-tests.py?rev=1539300&r1=1539299&r2=1539300&view=diff
==============================================================================
--- subversion/trunk/win-tests.py (original)
+++ subversion/trunk/win-tests.py Wed Nov 6 10:28:48 2013
@@ -336,6 +336,10 @@ def locate_libs():
if os.path.exists(src):
copy_changed_file(src, to_dir=abs_builddir, cleanup=False)
+ for name in lib.extra_bin:
+ src = os.path.join(dir, name)
+ copy_changed_file(src, to_dir=abs_builddir)
+
# Copy the Subversion library DLLs
for i in gen_obj.graph.get_all_sources(gen_base.DT_INSTALL):