blob: 92c821ba6aa5a5737962f117d30ef670218fdeb1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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/\Q$mlib\E/$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);
}
|