summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-09-03 17:47:56 -0400
committerJesse Luehrs <doy@tozt.net>2013-09-03 17:47:56 -0400
commit1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b (patch)
treec464647e8d3a9d14105c3befb2c8d32c1a66241a
parent8d77fdc31bfa69d28cfdaa549e72f5d57dda68ef (diff)
downloadpackage-stash-1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b.tar.gz
package-stash-1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b.zip
refactor
-rw-r--r--inc/MMPackageStash.pm15
1 files changed, 10 insertions, 5 deletions
diff --git a/inc/MMPackageStash.pm b/inc/MMPackageStash.pm
index d471114..dd658da 100644
--- a/inc/MMPackageStash.pm
+++ b/inc/MMPackageStash.pm
@@ -8,6 +8,8 @@ around _build_MakeFile_PL_template => sub {
my $orig = shift;
my $self = shift;
+ my $xs_version = $self->zilla->prereqs->requirements_for('runtime', 'recommends')->as_string_hash->{'Package::Stash::XS'};
+
# copied from M::I
my $can_cc = <<'CAN_CC';
use Config ();
@@ -42,13 +44,16 @@ sub can_cc {
}
CAN_CC
- my $template = $self->$orig(@_);
-
- my $xs_version = $self->zilla->prereqs->requirements_for('runtime', 'recommends')->as_string_hash->{'Package::Stash::XS'};
+ my $fixup_prereqs = <<PREREQS;
+\$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'} = $xs_version
+ if can_cc();
+PREREQS
- $template =~ s/(WriteMakefile\()/\$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'} = $xs_version\n if can_cc();\n\n$1/;
+ my $template = $self->$orig(@_);
+ $template =~ s/(WriteMakefile\()/$fixup_prereqs\n$1/;
+ $template .= $can_cc;
- return $template . $can_cc;
+ return $template;
};
__PACKAGE__->meta->make_immutable;