diff options
author | Richard Levitte <levitte@openssl.org> | 2016-08-31 22:54:39 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-11-29 09:51:16 +0100 |
commit | 829f86bb7b52e58c2db333b8e2eb7ad990724746 (patch) | |
tree | 56be3d73683071e73eedc542f8c923ce8ac2873e /Configurations | |
parent | fbd03b1c5984d1dd42ef99e1a5da70ed587f3380 (diff) |
Add the possibility to generate documentation at build time
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6236)
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/common.tmpl | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl index a2591da727..5db3471fe2 100644 --- a/Configurations/common.tmpl +++ b/Configurations/common.tmpl @@ -151,10 +151,18 @@ generator_incs => $unified_info{includes}->{$script}, generator_deps => $unified_info{depends}->{$script}, deps => $unified_info{depends}->{$src}, - incs => [ @{$unified_info{includes}->{$obj}}, - @{$unified_info{includes}->{$bin}} ], - defs => [ @{$unified_info{defines}->{$obj}}, - @{$unified_info{defines}->{$bin}} ], + incs => [ defined $obj + ? @{$unified_info{includes}->{$obj}} + : (), + defined $bin + ? @{$unified_info{includes}->{$bin}} + : () ], + defs => [ defined $obj + ? @{$unified_info{defines}->{$obj}} + : (), + defined $bin + ? @{$unified_info{defines}->{$bin}} + : () ], %opts); foreach (@{$unified_info{depends}->{$src}}) { dogenerate($_, $obj, $bin, %opts); @@ -436,6 +444,22 @@ $cache{$dir} = 1; } + # dodocs is responsible for building documentation from .pods. + # It will call generatesrc. + sub dodocs { + my $type = shift; + my $section = shift; + foreach my $doc (@{$unified_info{"${type}docs"}->{$section}}) { + next if $cache{$doc}; + $OUT .= generatesrc(src => $doc, + generator => $unified_info{generate}->{$doc}); + foreach ((@{$unified_info{depends}->{$doc}})) { + dogenerate($_, undef, undef, %opts); + } + $cache{$doc} = 1; + } + } + # Start with populating the cache with all the overrides %cache = map { $_ => 1 } @{$unified_info{overrides}}; @@ -448,6 +472,7 @@ foreach (@{$unified_info{modules}}) { domodule($_); } foreach (@{$unified_info{programs}}) { dobin($_); } foreach (@{$unified_info{scripts}}) { doscript($_); } - + foreach (sort keys %{$unified_info{htmldocs}}) { dodocs('html', $_); } + foreach (sort keys %{$unified_info{mandocs}}) { dodocs('man', $_); } foreach (sort keys %{$unified_info{dirinfo}}) { dodir($_); } -} |