perl-modperl-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From steve...@apache.org
Subject svn commit: r1509781 - /perl/modperl/branches/httpd24/Makefile.PL
Date Fri, 02 Aug 2013 17:07:36 GMT
Author: stevehay
Date: Fri Aug  2 17:07:35 2013
New Revision: 1509781

URL: http://svn.apache.org/r1509781
Log:
Add the path to mod_perl.so to the PATH when running the test suite on Windows

Httpd.exe is able to find mod_perl.so because the test httpd.conf contains a LoadModule line
with the fully qualified path to mod_perl.so in it. However, before httpd.exe is started the
test framework must create that httpd.conf file. In the case of mod_perl it uses perl.exe
and goes into Apache/TestConfigPerl.pm's run_apache_test_configure(), which runs APACHE_TEST_CONFIGURE()
in various modules in t/response/TestApache (e.g. subprocess.pm). Those modules all use Apache2::Const,
but Apache2/Const/Const.dll and ModPerl/Const/Const.dll now depend on mod_perl.so for the
'perl_module' symbol. Therefore, perl.exe must be able to find mod_perl.so when running the
tests, and this is the easiest way to achieve that.

There is no problem with Apache2::Const and ModPerl::Const depending on mod_perl.so because
they are normally only used within a mod_perl application, which will (obviously) have mod_perl.so
loaded already. (It is only the APR::* modules which we are at pains (elsewhere) to avoid
having a dependency on mod_perl.so because they are of use outside of mod_perl applications.)

Modified:
    perl/modperl/branches/httpd24/Makefile.PL

Modified: perl/modperl/branches/httpd24/Makefile.PL
URL: http://svn.apache.org/viewvc/perl/modperl/branches/httpd24/Makefile.PL?rev=1509781&r1=1509780&r2=1509781&view=diff
==============================================================================
--- perl/modperl/branches/httpd24/Makefile.PL (original)
+++ perl/modperl/branches/httpd24/Makefile.PL Fri Aug  2 17:07:35 2013
@@ -775,8 +775,24 @@ sub MY::test {
             $ap_bindir = File::Spec->catdir($build->{MP_AP_PREFIX}, 'bin')
                 if $build->{MP_AP_PREFIX};
         }
+        my $modperl_libexecdir = '';
+        if ($build->is_dynamic) {
+            # need to add the location of mod_perl.so to the PATH
+            my $lib = $build->modperl_libpath() || '';
+            if ($lib) {
+                $modperl_libexecdir = File::Basename::dirname($lib);
+            }
+            else {
+                $modperl_libexecdir = File::Spec->catdir($build->{cwd},
+                                                         'src/modules/perl')
+                    if $build->{cwd};
+            }
+        }
+        my $extra_path = '';
+        $extra_path .= ";$ap_bindir" if $ap_bindir;
+        $extra_path .= ";$modperl_libexecdir" if $modperl_libexecdir;
         $preamble = <<EOF;
-PATH = \$(PATH);$ap_bindir
+PATH = \$(PATH)$extra_path
 EOF
     }
     else {



Mime
View raw message