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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
use 5.016001;
use strict;
use warnings;
use ExtUtils::MakeMaker;
use Module::Metadata;
WriteMakefile(
NAME => 'POSIX::Run::Capture',
VERSION_FROM => 'lib/POSIX/Run/Capture.pm',
LICENSE => 'gpl_3',
PREREQ_PM => {}, # e.g., Module::Name => 1.1
MIN_PERL_VERSION => 5.006,
ABSTRACT_FROM => 'lib/POSIX/Run/Capture.pm',
AUTHOR => 'Sergey Poznyakoff <gray@gnu.org>',
LIBS => [''], # e.g., '-lm'
DEFINE => '',
INC => '-I.', # e.g., '-I. -I/usr/include/other'
OBJECT => '$(O_FILES)',
MYEXTLIB => 'runcap/libruncap.a',
META_MERGE => {
'meta-spec' => { version => 2 },
resources => {
repository => {
type => 'git',
url => 'git://git.gnu.org.ua/posixruncapture.git',
web => 'http://git.gnu.org.ua/cgit/posixruncapture.git/',
},
},
provides => Module::Metadata->provides(version => '1.4',
dir => 'lib')
}
);
package MY;
sub test {
my $val = shift->SUPER::test(@_);
open(my $fd, '<', \$val);
my @ret;
my $ignore;
while (<$fd>) {
chomp;
if (/^(subdirs-test_.+?)\s*:.*$/) {
push @ret, "$1:: subdirs-test-prepare", '';
$ignore = 1;
} elsif ($ignore) {
if (/^$/) {
$ignore = 0;
} elsif (/^\S/) {
$ignore = 0;
push @ret, $_;
}
} else {
push @ret, $_;
}
}
close $fd;
push @ret, '',
"subdirs-test-prepare::",
"\t\@\$(MAKE) -C runcap/t genout O='\$(CCFLAGS)'",
'',
'check: test',
'';
return join("\n", @ret);
}
sub postamble {
'
$(MYEXTLIB): runcap/configure
cd runcap && \
./configure CFLAGS="$(CCFLAGS) $(CCCDLFLAGS)" && \
$(MAKE)
runcap/configure: runcap/configure.ac
RUNCAP_BUILD=static autoreconf -f -i -s -I. runcap
'
}
|