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
|
SUBDIRS = man1
{-
use File::Spec::Functions qw(:DEFAULT abs2rel rel2abs);
use File::Basename;
foreach my $section ((1, 3, 5, 7)) {
my @htmlfiles = ();
my @manfiles = ();
my %podfiles =
map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod");
my %podinfiles =
map { $_ => 1 } glob catfile($sourcedir, "man$section", "*.pod.in");
foreach (keys %podinfiles) {
(my $p = $_) =~ s|\.in$||i;
$podfiles{$p} = 1;
}
foreach my $p (sort keys %podfiles) {
my $podfile = abs2rel($p, $sourcedir);
my $podname = basename($podfile, '.pod');
my $podinfile = $podinfiles{"$p.in"} ? "$podfile.in" : undef;
my $podname = basename($podfile, ".pod");
my $htmlfile = abs2rel(catfile($buildtop, "doc", "html", "man$section",
"$podname.html"),
catdir($buildtop, "doc"));
my $manfile = abs2rel(catfile($buildtop, "doc", "man", "man$section",
"$podname.$section"),
catdir($buildtop, "doc"));
# The build.info format requires file specs to be in Unix format.
# Especially, since VMS file specs use [ and ], the build.info parser
# will otherwise get terribly confused.
if ($^O eq 'VMS') {
$htmlfile = VMS::Filespec::unixify($htmlfile);
$manfile = VMS::Filespec::unixify($manfile);
$podfile = VMS::Filespec::unixify($podfile);
$podinfile = VMS::Filespec::unixify($podinfile)
if defined $podinfile;
} elsif ($^O eq 'MSWin32') {
$htmlfile =~ s|\\|/|g;
$manfile =~ s|\\|/|g;
$podfile =~ s|\\|/|g;
$podinfile =~ s|\\|/|g
if defined $podinfile;
}
push @htmlfiles, $htmlfile;
push @manfiles, $manfile;
$OUT .= << "_____";
DEPEND[$htmlfile]=$podfile
GENERATE[$htmlfile]=$podfile
DEPEND[$manfile]=$podfile
GENERATE[$manfile]=$podfile
_____
$OUT .= << "_____" if $podinfile;
GENERATE[$podfile]=$podinfile
_____
}
$OUT .= "HTMLDOCS[man$section]=" . join(" \\\n", @htmlfiles) . "\n";
$OUT .= "MANDOCS[man$section]=" . join(" \\\n", @manfiles) . "\n";
}
-}
|