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)
This commit is contained in:
Richard Levitte 2016-08-31 22:56:02 +02:00
parent 829f86bb7b
commit df8f116ecd
3 changed files with 71 additions and 1 deletions

4
.gitignore vendored
View File

@ -157,6 +157,10 @@ doc/man1/openssl-x509.pod
/test/fips_test_suite.c
/test/shatest.c
# Generated docs directories
/doc/html
/doc/man
##### Generic patterns
# Auto generated assembly language source files
*.s

View File

@ -1,6 +1,6 @@
# Note that some of these directories are filtered in Configure. Look for
# %skipdir there for further explanations.
SUBDIRS=crypto ssl apps test util tools fuzz engines providers doc/man1
SUBDIRS=crypto ssl apps test util tools fuzz engines providers doc
LIBS=libcrypto libssl
INCLUDE[libcrypto]=. include

66
doc/build.info Normal file
View File

@ -0,0 +1,66 @@
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";
}
-}