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):