summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Zakharevich <ilya@math.berkeley.edu>2001-07-23 14:33:16 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2001-07-23 22:54:52 +0000
commita8112c7ffb4b03260b1be74812dc04b1982c5ca1 (patch)
tree2fc40a7d4485c458a6147d0a25fdf9d20f74da11
parent1167a30e646ca68516b6d6fe00c979246aa8df3a (diff)
downloadperl-a8112c7ffb4b03260b1be74812dc04b1982c5ca1.tar.gz
MakeMaker subdir
Message-ID: <20010723183316.A14298@math.ohio-state.edu> p4raw-id: //depot/perl@11460
-rw-r--r--lib/ExtUtils/MakeMaker.pm27
1 files changed, 17 insertions, 10 deletions
diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm
index d81cd27d7a..5a27fb4798 100644
--- a/lib/ExtUtils/MakeMaker.pm
+++ b/lib/ExtUtils/MakeMaker.pm
@@ -150,8 +150,9 @@ sub prompt ($;$) {
sub eval_in_subdirs {
my($self) = @_;
my($dir);
- use Cwd 'cwd';
+ use Cwd qw(cwd abs_path);
my $pwd = cwd();
+ local @INC = map abs_path($_), @INC;
foreach $dir (@{$self->{DIR}}){
my($abs) = $self->catdir($pwd,$dir);
@@ -543,14 +544,20 @@ END
}
sub WriteEmptyMakefile {
- if (-f 'Makefile.old') {
- chmod 0666, 'Makefile.old';
- unlink 'Makefile.old' or warn "unlink Makefile.old: $!";
- }
- rename 'Makefile', 'Makefile.old' or warn "rename Makefile Makefile.old: $!"
- if -f 'Makefile';
- open MF, '> Makefile' or die "open Makefile for write: $!";
- print MF <<'EOP';
+ Carp::croak "WriteEmptyMakefile: Need even number of args" if @_ % 2;
+ local $SIG{__WARN__} = \&warnhandler;
+
+ my %att = @_;
+ my $self = MM->new(\%att);
+ if (-f "$self->{MAKEFILE}.old") {
+ chmod 0666, "$self->{MAKEFILE}.old";
+ unlink "$self->{MAKEFILE}.old" or warn "unlink $self->{MAKEFILE}.old: $!";
+ }
+ rename $self->{MAKEFILE}, "$self->{MAKEFILE}.old"
+ or warn "rename $self->{MAKEFILE} $self->{MAKEFILE}.old: $!"
+ if -f $self->{MAKEFILE};
+ open MF, '>', $self->{MAKEFILE} or die "open $self->{MAKEFILE} for write: $!";
+ print MF <<'EOP';
all:
clean:
@@ -562,7 +569,7 @@ makemakerdflt:
test:
EOP
- close MF or die "close Makefile for write: $!";
+ close MF or die "close $self->{MAKEFILE} for write: $!";
}
sub check_manifest {