Author: kwilliams
Date: Thu Aug 23 18:47:10 2007
New Revision: 9876

Modified:
   ExtUtils-CBuilder/trunk/Changes
   ExtUtils-CBuilder/trunk/lib/ExtUtils/CBuilder/Platform/Windows.pm

Log:
Clean up debug symbol files on Windows

Modified: ExtUtils-CBuilder/trunk/Changes
==============================================================================
--- ExtUtils-CBuilder/trunk/Changes     (original)
+++ ExtUtils-CBuilder/trunk/Changes     Thu Aug 23 18:47:10 2007
@@ -1,5 +1,8 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
+ - From bleadperl, a patch to clean up debug symbol files (.pdb for
+   VC++, .tds for BCC) when running have_compiler(). [Steve Peters]
+
 0.19 - Sun May 13 14:29:18 2007
 
  - When building as part of the perl core (so this is irrelevant for

Modified: ExtUtils-CBuilder/trunk/lib/ExtUtils/CBuilder/Platform/Windows.pm
==============================================================================
--- ExtUtils-CBuilder/trunk/lib/ExtUtils/CBuilder/Platform/Windows.pm   
(original)
+++ ExtUtils-CBuilder/trunk/lib/ExtUtils/CBuilder/Platform/Windows.pm   Thu Aug 
23 18:47:10 2007
@@ -198,6 +198,14 @@
                                             $spec{basename}  . $cf->{lib_ext} 
);
   $spec{explib}    ||= File::Spec->catfile( $spec{builddir},
                                             $spec{basename}  . '.exp'  );
+  if ($cf->{cc} eq 'cl') {
+    $spec{dbg_file}  ||= File::Spec->catfile( $spec{builddir},
+                                            $spec{basename}  . '.pdb'  );
+  }
+  elsif ($cf->{cc} eq 'bcc32') {
+    $spec{dbg_file}  ||= File::Spec->catfile( $spec{builddir},
+                                            $spec{basename}  . '.tds'  );
+  }
   $spec{def_file}  ||= File::Spec->catfile( $spec{srcdir}  ,
                                             $spec{basename}  . '.def'  );
   $spec{base_file} ||= File::Spec->catfile( $spec{srcdir}  ,
@@ -205,10 +213,10 @@
 
   $self->add_to_cleanup(
     grep defined,
-    @{[ @spec{qw(manifest implib explib def_file base_file map_file)} ]}
+    @{[ @spec{qw(manifest implib explib dbg_file def_file base_file map_file)} 
]}
   );
 
-  foreach my $opt ( qw(output manifest implib explib def_file map_file 
base_file) ) {
+  foreach my $opt ( qw(output manifest implib explib dbg_file def_file 
map_file base_file) ) {
     $self->normalize_filespecs( \$spec{$opt} );
   }
 
@@ -229,7 +237,7 @@
 
   $spec{output} =~ tr/'"//d;
   return wantarray
-    ? grep defined, @spec{qw[output manifest implib explib def_file map_file 
base_file]}
+    ? grep defined, @spec{qw[output manifest implib explib dbg_file def_file 
map_file base_file]}
     : $spec{output};
 }
 

Reply via email to