diff options
author | Richard Levitte <levitte@openssl.org> | 2016-08-31 22:56:02 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-11-29 09:51:17 +0100 |
commit | df8f116ecd6e25577eb1e47a213df17d64e87b4a (patch) | |
tree | 1fe7208240c541e738eb67a167bb6b74e6ff8c5b /doc | |
parent | 829f86bb7b52e58c2db333b8e2eb7ad990724746 (diff) |
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)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/build.info | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/doc/build.info b/doc/build.info new file mode 100644 index 0000000000..47728fed56 --- /dev/null +++ b/doc/build.info @@ -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"; + } + -} |