From 5d1a7bccc213b2444581345c06f756f1fa538c50 Mon Sep 17 00:00:00 2001 From: pmichaud Date: Tue, 27 Jul 2010 23:36:55 -0500 Subject: Initial code for installing modules. --- build/module-install.pl | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 build/module-install.pl (limited to 'build/module-install.pl') diff --git a/build/module-install.pl b/build/module-install.pl new file mode 100644 index 0000000..cba32df --- /dev/null +++ b/build/module-install.pl @@ -0,0 +1,37 @@ +#! perl + +use warnings; +use strict; +use File::Find; +use File::Copy; +use File::Path; +use File::Basename; + +my $perl6 = shift @ARGV; +my $perl6lib = shift @ARGV; + +my @pmfiles; +while (@ARGV) { + my $module = shift @ARGV; + our $mlib = "$module/lib"; + + find({ no_chdir=>1, wanted => \&libcopy }, $mlib); + + sub libcopy { + return unless /\.pm6?/; + my $source = $File::Find::name; + my $target = $source; + $target =~ s/$mlib/$perl6lib/; + print "$source => $target\n"; + mkpath dirname($target); + copy($source, $target) or die "copy failed: $!\n"; + push @pmfiles, $target; + } +} + +foreach my $pm (@pmfiles) { + my $out = $pm; $out =~ s/\.pm6?$/.pir/; + my @cmd = ('./perl6', '--target=pir', "--output=$out", $pm); + print join(' ', @cmd), "\n"; + system(@cmd); +} -- cgit v1.1