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 2012/05/09 12:53:09 UTC

svn commit: r1336071 - in /subversion/branches/1.7.x: ./ STATUS build/generator/gen_win.py

Author: svn-role
Date: Wed May  9 10:53:08 2012
New Revision: 1336071

URL: http://svn.apache.org/viewvc?rev=1336071&view=rev
Log:
Merge the r1291797 group from trunk:

 * r1291797, r1291810
   On Windows detect where perl is installed and add this information to the
   include and lib directory settings of the swig-perl projects.
   Justification:
     Allows building swig-perl without copying perl libraries manually.
     Somehow required on the Windows buildbot since the last library version
     bump.
   Votes:
     +1: rhuijben
     +0: pburba (I can't replicate the build problem, I can build with or
                 without the patch).

Modified:
    subversion/branches/1.7.x/   (props changed)
    subversion/branches/1.7.x/STATUS
    subversion/branches/1.7.x/build/generator/gen_win.py

Propchange: subversion/branches/1.7.x/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1291797,1291810

Modified: subversion/branches/1.7.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/STATUS?rev=1336071&r1=1336070&r2=1336071&view=diff
==============================================================================
--- subversion/branches/1.7.x/STATUS (original)
+++ subversion/branches/1.7.x/STATUS Wed May  9 10:53:08 2012
@@ -67,18 +67,6 @@ Veto-blocked changes:
 Approved changes:
 =================
 
- * r1291797, r1291810
-   On Windows detect where perl is installed and add this information to the
-   include and lib directory settings of the swig-perl projects.
-   Justification:
-     Allows building swig-perl without copying perl libraries manually.
-     Somehow required on the Windows buildbot since the last library version
-     bump.
-   Votes:
-     +1: rhuijben
-     +0: pburba (I can't replicate the build problem, I can build with or
-                 without the patch).
-
  * r1329417
    Fix issue #4166 'multiple merge editor drives which add then delete a
    subtree fail'.

Modified: subversion/branches/1.7.x/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/build/generator/gen_win.py?rev=1336071&r1=1336070&r2=1336071&view=diff
==============================================================================
--- subversion/branches/1.7.x/build/generator/gen_win.py (original)
+++ subversion/branches/1.7.x/build/generator/gen_win.py Wed May  9 10:53:08 2012
@@ -954,6 +954,8 @@ class WinGeneratorBase(GeneratorBase):
           fakeincludes.append(self.apath(self.swig_libdir, 'perl5'))
       else:
         fakeincludes.append(self.swig_libdir)
+      if target.lang == "perl":
+        fakeincludes.extend(self.perl_includes)
       if target.lang == "python":
         fakeincludes.extend(self.python_includes)
       if target.lang == "ruby":
@@ -1006,6 +1008,8 @@ class WinGeneratorBase(GeneratorBase):
     if self.swig_libdir \
        and (isinstance(target, gen_base.TargetSWIG)
             or isinstance(target, gen_base.TargetSWIGLib)):
+      if target.lang == "perl" and self.perl_libdir:
+        fakelibdirs.append(self.perl_libdir)
       if target.lang == "python" and self.python_libdir:
         fakelibdirs.append(self.python_libdir)
       if target.lang == "ruby" and self.ruby_libdir:
@@ -1234,13 +1238,15 @@ class WinGeneratorBase(GeneratorBase):
 
   def _find_perl(self):
     "Find the right perl library name to link swig bindings with"
+    self.perl_includes = []
+    self.perl_libdir = None
     fp = os.popen('perl -MConfig -e ' + escape_shell_arg(
                   'print "$Config{PERL_REVISION}$Config{PERL_VERSION}"'), 'r')
     try:
-      num = fp.readline()
-      if num:
+      line = fp.readline()
+      if line:
         msg = 'Found installed perl version number.'
-        self.perl_lib = 'perl' + num.rstrip() + '.lib'
+        self.perl_lib = 'perl' + line.rstrip() + '.lib'
       else:
         msg = 'Could not detect perl version.'
         self.perl_lib = 'perl56.lib'
@@ -1248,6 +1254,16 @@ class WinGeneratorBase(GeneratorBase):
              % (msg, self.perl_lib))
     finally:
       fp.close()
+      
+    fp = os.popen('perl -MConfig -e ' + escape_shell_arg(
+                  'print $Config{archlib}'), 'r')
+    try:
+      line = fp.readline()
+      if line:
+        self.perl_libdir = os.path.join(line, 'CORE')
+        self.perl_includes = [os.path.join(line, 'CORE')]
+    finally:
+      fp.close()
 
   def _find_ruby(self):
     "Find the right Ruby library name to link swig bindings with"