+6.21 Tue Nov 11 00:12:56 PST 2003
+ - NetBSD was looking in INSTALLARCHLIB/CORE for libperl isntead of
+ PERL_ARCHLIB/CORE. Would cause problems if INSTALLARCHLIB was changed
+ (ie. LIB or PREFIX used). [Jochen Eisinger]
+ - Turns out a handful of modules use dir_target(). Restored a version
+ for backwards compatibility.
+ - Moved blibdirs target from top_targets() to its own section. Lots of
+ modules rewrite top_targets() so blibdirs wouldn't be written.
+
6.20 Thu Nov 6 02:25:58 PST 2003
- Fixing dos2unix on Cygwin. In-place editing doesn't work 100% so we
take a more conservative approach.
Copies each key of %from_to to its corresponding value efficiently.
Filenames with the extension .pm are autosplit into the $autosplit_dir.
+Any destination directories are created.
$filter_cmd is an optional shell command to run each .pm file through
prior to splitting and copying. Input is the contents of the module,
use File::Path qw(mkpath);
use File::Compare qw(compare);
use AutoSplit;
- # my $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al));
- # require $my_req; # Hairy, but for the first
if (!ref($fromto) && -r $fromto)
{
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: ExtUtils-MakeMaker
-version: 6.20
+version: 6.21
version_from: lib/ExtUtils/MakeMaker.pm
installdirs: perl
requires:
Pod::Man: 0
distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.20
+generated_by: ExtUtils::MakeMaker version 6.21
my @mkpath = $self->split_command('$(NOECHO) $(MKPATH)', @dirs);
my @chmod = $self->split_command('$(NOECHO) $(CHMOD) 755', @dirs);
- my $make = "\nblibdirs : \n";
+ my $make = "\nblibdirs :: \n";
$make .= join "", map { "\t$_\n" } @mkpath, @chmod;
$make .= "\t\$(NOECHO) \$(TOUCH) blibdirs\n\n";
use ExtUtils::MakeMaker qw($Verbose neatvalue);
-$VERSION = '1.44';
+$VERSION = '1.45';
require ExtUtils::MM_Any;
@ISA = qw(ExtUtils::MM_Any);
join "", @m;
}
+
+=item dir_target B<DEPRECATED>
+
+ my $make_frag = $mm->dir_target(@directories);
+
+I<This function is deprecated> its use is no longer necessary and is I<only
+provided for backwards compatibility>. blibdirs_target provides a much
+simpler mechanism and pm_to_blib() can create its own directories anyway.
+
+Returns a Makefile entry for a .exists file in each of the @directories.
+The purpose is to create a directory and provide a make target to depend on.
+The make target is a .exists file in each of those directories.
+
+For example
+
+ $mm->dir_target('$(INST_ARCHDIR)');
+
+would return the make target C<$(INST_ARCHDIR)/.exists> which would
+create $(INST_ARCHDIR) and touch .exists. You would depend on this target
+to make sure $(INST_ARCHDIR) is created.
+
+Ignores directories which have already gone through dir_target() so you
+might wind up getting nothing.
+
+=cut
+
+sub dir_target {
+ my($self, @dirs) = @_;
+
+ my @targs = ();
+ my $make = '';
+ foreach my $dir (@dirs) {
+ my $targ = $self->catfile($dir, '.exists');
+
+ my $targdir;
+ if ($Is_VMS) { # Just remove file name; dirspec is often in macro
+ ($targdir = $targ) =~ s:/?\.exists\z::;
+ }
+ else { # while elsewhere we expect to see the dir separator in $targ
+ $targdir = dirname($targ);
+ }
+
+ next if $self->{DIR_TARGET}{$self}{$targdir}++;
+
+ push @targs, $targ;
+ $make .= <<MAKE_FRAG;
+$targ ::
+ \$(NOECHO) \$(MKPATH) $targdir
+ \$(NOECHO) \$(TOUCH) $targ
+ \$(NOECHO) \$(CHMOD) \$(PERM_RWX) $targdir
+
+MAKE_FRAG
+
+ }
+
+ # So these new .exists targets get called along with blibdirs.
+ my $blib_addition = '';
+ $blib_addition = <<MAKE_FRAG if @targs;
+blibdirs :: @targs
+ \$(NOECHO) \$(NOOP)
+
+MAKE_FRAG
+
+ return $blib_addition . $make;
+}
+
+
=item init_DEST
$mm->init_DEST
# platforms. We peek at lddlflags to see if we need -Wl,-R
# or -R to add paths to the run-time library search path.
if ($Config{'lddlflags'} =~ /-Wl,-R/) {
- $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -lperl';
+ $libs .= ' -L$(PERL_INC) -Wl,-R$(INSTALLARCHLIB)/CORE -Wl,-R$(PERL_ARCHLIB)/CORE -lperl';
} elsif ($Config{'lddlflags'} =~ /-R/) {
- $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -lperl';
+ $libs .= ' -L$(PERL_INC) -R$(INSTALLARCHLIB)/CORE -R$(PERL_ARCHLIB)/CORE -lperl';
}
}
$(NOECHO) $(NOOP)
';
- push @m, $self->blibdirs_target;
-
push @m, '
$(O_FILES): $(H_FILES)
' if @{$self->{O_FILES} || []} && @{$self->{H} || []};
BEGIN {require 5.005_03;}
-$VERSION = '6.20';
-($Revision) = q$Revision: 1.142 $ =~ /Revision:\s+(\S+)/;
+$VERSION = '6.21';
+($Revision) = q$Revision: 1.144 $ =~ /Revision:\s+(\S+)/;
require Exporter;
use Config;
special_targets
c_o xs_c xs_o
- top_targets linkext dlsyms dynamic dynamic_bs
+ top_targets blibdirs linkext dlsyms dynamic dynamic_bs
dynamic_lib static static_lib manifypods processPL
installbin subdirs
clean_subdirs clean realclean_subdirs realclean
@Overridable = @MM_Sections;
push @Overridable, qw[
- blibdirs_target libscan makeaperl needs_linking perm_rw perm_rwx
+ libscan makeaperl needs_linking perm_rw perm_rwx
subdir_x test_via_harness test_via_script init_PERL
];
$VERSION = '1.00';
*VERSION = \'1.01';
- $VERSION = sprintf "%d.%03d", q$Revision: 1.142 $ =~ /(\d+)/g;
+ $VERSION = sprintf "%d.%03d", q$Revision: 1.144 $ =~ /(\d+)/g;
$FOO::VERSION = '1.10';
*FOO::VERSION = \'1.11';
our $VERSION = 1.2.3; # new for perl5.6.0