4 use vars qw($trysource $tryout $sentinel);
9 die "$0 macro [headers]" unless defined $macro;
11 $sentinel = "$macro expands to";
13 foreach($trysource, $tryout) {
14 die "You already have a $_" if -e $_;
18 open my $fh, '<', 'MANIFEST' or die "Can't open MANIFEST: $!";
20 push @ARGV, $1 if m!^([^/]+\.h)\t!;
27 next unless /^#\s*define\s+$macro/;
28 my ($def_args) = /^#\s*define\s+$macro\(([^)]*)\)/;
29 if (defined $def_args) {
30 my @args = split ',', $def_args;
32 $args = '(' . join (', ', map {$argname++} 1..@args) . ')';
37 open my $out, '>', $trysource or die "Can't open $trysource: $!";
46 close $out or die "Can't close $trysource: $!";
48 system "make $tryout" and die;
50 open my $fh, '<', $tryout or die "Can't open $tryout: $!";
53 print if /$sentinel/o .. 1;
56 foreach($trysource, $tryout) {
57 die "Can't unlink $_" unless unlink $_;