Update of /cvsroot/module-build/Module-Build/lib/Module/Build
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7860/lib/Module/Build
Modified Files:
Base.pm
Log Message:
Start working on recursive builds
Index: Base.pm
===================================================================
RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v
retrieving revision 1.354
retrieving revision 1.355
diff -C2 -d -r1.354 -r1.355
*** Base.pm 21 Nov 2004 14:59:19 -0000 1.354
--- Base.pm 21 Nov 2004 15:33:00 -0000 1.355
***************
*** 24,27 ****
--- 24,28 ----
$self->_set_install_paths;
+ $self->_find_nested_builds;
$self->dist_name;
$self->check_manifest;
***************
*** 97,100 ****
--- 98,102 ----
install_path => {},
include_dirs => [],
+ recurse_into => [],
%input,
},
***************
*** 166,169 ****
--- 168,190 ----
}
+ sub _find_nested_builds {
+ my $self = shift;
+ my $r = $self->recurse_into or return;
+
+ my ($file, @r);
+ if (!ref($r) && $r eq 'auto') {
+ local *DH;
+ opendir DH, $self->base_dir
+ or die "Can't scan directory " . $self->base_dir . " for nested builds: $!";
+ while (defined($file = readdir DH)) {
+ my $subdir = File::Spec->catdir( $self->base_dir, $file );
+ next unless -d $subdir;
+ push @r, $subdir if -e File::Spec->catfile( $subdir, 'Build.PL' );
+ }
+ }
+
+ $self->recurse_into(\@r);
+ }
+
sub cwd {
require Cwd;
***************
*** 457,460 ****
--- 478,482 ----
libdoc_dirs
get_options
+ recurse_into
);
|