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 {