You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by ra...@apache.org on 2007/08/28 13:23:23 UTC

svn commit: r570381 - in /perl/modperl/trunk: Changes lib/Apache2/Build.pm

Author: randyk
Date: Tue Aug 28 04:23:23 2007
New Revision: 570381

URL: http://svn.apache.org/viewvc?rev=570381&view=rev
Log:
On Win32, embed the manifest file, if present, in mod_perl.so, so as to work with VC 8 [reported by Steve Hay]

Modified:
    perl/modperl/trunk/Changes
    perl/modperl/trunk/lib/Apache2/Build.pm

Modified: perl/modperl/trunk/Changes
URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=570381&r1=570380&r2=570381&view=diff
==============================================================================
--- perl/modperl/trunk/Changes (original)
+++ perl/modperl/trunk/Changes Tue Aug 28 04:23:23 2007
@@ -12,6 +12,9 @@
 
 =item 2.0.4-dev
 
+On Win32, embed the manifest file, if present, in mod_perl.so,
+so as to work with VC 8 [Steve Hay, Randy Kobes]
+
 Expose apr_thread_rwlock_t with the APR::ThreadRWLock module
 [Torsten Foertsch]
 

Modified: perl/modperl/trunk/lib/Apache2/Build.pm
URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/Apache2/Build.pm?rev=570381&r1=570380&r2=570381&view=diff
==============================================================================
--- perl/modperl/trunk/lib/Apache2/Build.pm (original)
+++ perl/modperl/trunk/lib/Apache2/Build.pm Tue Aug 28 04:23:23 2007
@@ -1592,7 +1592,10 @@
     return $self->dynamic_link_header_default .
         "\t$defs" .
         ($symbols ? ' \\' . "\n\t-pdb:$symbols" : '') .
-        ' -out:$@' . "\n\n";
+        ' -out:$@' . "\n\t" .
+        'if exist $(MODPERL_MANIFEST_LOCATION)' . " \\\n\t" .
+        'mt /nologo /manifest $(MODPERL_MANIFEST_LOCATION)' . " \\\n\t" .
+        '/outputresource:$@;2' . "\n\n";
 }
 
 sub dynamic_link_aix {
@@ -1838,6 +1841,12 @@
     if ($self->is_dynamic && (my $libs = $self->modperl_libpath)) {
         print $fh $self->canon_make_attr('lib_location', $libs);
 
+        # Visual Studio 8 on Win32 uses manifest files
+        if (WIN32) {
+            (my $manifest = $libs) =~ s/\.lib$/.so.manifest/;
+            print $fh $self->canon_make_attr('manifest_location', $manifest);
+	}
+
         print $fh $self->canon_make_attr('ap_libdir',
             $self->ap_destdir(catdir $self->{MP_AP_PREFIX}, 'lib')
         );
@@ -1938,7 +1947,7 @@
 clean:
 	$(MODPERL_RM_F) *.a *.so *.xsc \
 	$(MODPERL_LIBNAME).exp $(MODPERL_LIBNAME).lib \
-	*$(MODPERL_OBJ_EXT) *.lo *.i *.s *.pdb \
+	*$(MODPERL_OBJ_EXT) *.lo *.i *.s *.pdb *.manifest \
 	$(MODPERL_CLEAN_FILES) \
 	$(MODPERL_XS_CLEAN_FILES)