openssl/doc/build.info
Richard Levitte df8f116ecd Add doc/build.info to build the documentation
This build.info is entirely generated when configuring

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6236)
2019-11-29 09:51:17 +01:00

67 lines
2.3 KiB
Plaintext

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;
DEPEND[$podfile]=$podinfile ../configdata.pm
GENERATE[$podfile]=$podinfile
_____
}
$OUT .= "HTMLDOCS[man$section]=" . join(" \\\n", @htmlfiles) . "\n";
$OUT .= "MANDOCS[man$section]=" . join(" \\\n", @manfiles) . "\n";
}
-}