Author: dagolden
Date: Sat Jun 20 04:15:36 2009
New Revision: 12870

Modified:
   Module-Build/trunk/lib/Module/Build/Base.pm

Log:
link_c prefers $spec->{module_name} (RT#38065)

link_c was also re-inferring the spec needlessly, so I
changed it so it takes the spec as an argument from
process_xs


Modified: Module-Build/trunk/lib/Module/Build/Base.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Base.pm (original)
+++ Module-Build/trunk/lib/Module/Build/Base.pm Sat Jun 20 04:15:36 2009
@@ -4251,11 +4251,9 @@
 }
 
 sub link_c {
-  my ($self, $to, $file_base) = @_;
+  my ($self, $spec) = @_;
   my $p = $self->{properties}; # For convenience
 
-  my $spec = $self->_infer_xs_spec($file_base);
-
   $self->add_to_cleanup($spec->{lib_file});
 
   my $objects = $p->{objects} || [];
@@ -4264,8 +4262,7 @@
     if $self->up_to_date([$spec->{obj_file}, @$objects],
                         $spec->{lib_file});
 
-  my $module_name = $self->module_name;
-  $module_name  ||= $spec->{module_name};
+  my $module_name = $spec->{module_name} || $self->module_name;
 
   $self->cbuilder->link(
     module_name => $module_name,
@@ -4445,7 +4442,7 @@
   }
 
   # .o -> .(a|bundle)
-  $self->link_c($spec->{archdir}, $file_base);
+  $self->link_c($spec);
 }
 
 sub do_system {

Reply via email to