diff options
author | Ilya Zakharevich <ilya@math.ohio-state.edu> | 1997-03-20 23:13:31 -0500 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-03-09 11:57:19 +1200 |
commit | 970322a2e8024294ada6e8d1a027cb98f1f48ee3 (patch) | |
tree | 7cfb314bedd7de34a14e3d2ca3d017c4f0dd21e3 | |
parent | b3deed9189f963e9994815307931f9084f60d1d9 (diff) | |
download | perl-970322a2e8024294ada6e8d1a027cb98f1f48ee3.tar.gz |
Problems with SKIP in makemaker
The example in perlxstut (which I created with a lot of pain) works by
coincidence only:
It has
WriteMakefile(
NAME => 'Mytest2::mylib',
SKIP => [qw(all static static_lib dynamic dynamic_lib)],
clean => {'FILES' => 'libmylib$(LIB_EXT)'},
);
sub MY::top_targets {
'
all :: static
static :: libmylib$(LIB_EXT)
libmylib$(LIB_EXT): $(O_FILES)
$(AR) cr libmylib$(LIB_EXT) $(O_FILES)
$(RANLIB) libmylib$(LIB_EXT)
';
}
and work only because $self->MM::top_targets is not called. The reason is
that 'all' chunk is written anyway not depending on the value of SKIPHASH.
In my eText package I do $self->MM::top_targets inside
MY::top_targets, and this bombs.
Patch follows (only for 'all', I did not check any other target):
(The alternative is to patch perlxstut, but this may break some other
programs, not only mine...)
Enjoy,
p5p-msgid: 199703210413.XAA21601@monk.mps.ohio-state.edu
-rw-r--r-- | lib/ExtUtils/MM_Unix.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm index 465a075132..0b54a7e986 100644 --- a/lib/ExtUtils/MM_Unix.pm +++ b/lib/ExtUtils/MM_Unix.pm @@ -3110,10 +3110,15 @@ sub top_targets { my(@m); push @m, ' #all :: config $(INST_PM) subdirs linkext manifypods +'; + push @m, ' all :: pure_all manifypods '.$self->{NOECHO}.'$(NOOP) - +' + unless $self->{SKIPHASH}{'all'}; + + push @m, ' pure_all :: config pm_to_blib subdirs linkext '.$self->{NOECHO}.'$(NOOP) |