Use a full config.h with doxygen
Otherwise we get warnings that some documentation items don't have corresponding #define, and more importantly the corresponding snippets are not included in the output. For that we need a modified version of the "full" argument for config.pl. Also, the new CMakeLists.txt target only works on Unix (which was already the case of the Makefile target). Hopefully this is not an issue as people are unlikely to need that target on Windows.
This commit is contained in:
parent
ddbb166041
commit
1989caf71c
3 changed files with 28 additions and 8 deletions
|
@ -85,10 +85,21 @@ if(ENABLE_PROGRAMS)
|
||||||
add_subdirectory(programs)
|
add_subdirectory(programs)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(apidoc
|
# targets for doxygen only work on Unix
|
||||||
|
if(UNIX)
|
||||||
|
ADD_CUSTOM_TARGET(apidoc
|
||||||
|
COMMAND mkdir -p apidoc
|
||||||
|
COMMAND cp include/mbedtls/config.h include/mbedtls/config.h.bak
|
||||||
|
COMMAND scripts/config.pl realfull
|
||||||
COMMAND doxygen doxygen/mbedtls.doxyfile
|
COMMAND doxygen doxygen/mbedtls.doxyfile
|
||||||
|
COMMAND mv include/mbedtls/config.h.bak include/mbedtls/config.h
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
ADD_CUSTOM_TARGET(apidoc_clean
|
||||||
|
COMMAND rm -rf apidoc
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
endif(UNIX)
|
||||||
|
|
||||||
if(ENABLE_TESTING)
|
if(ENABLE_TESTING)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
|
|
3
Makefile
3
Makefile
|
@ -87,7 +87,10 @@ lcov:
|
||||||
|
|
||||||
apidoc:
|
apidoc:
|
||||||
mkdir -p apidoc
|
mkdir -p apidoc
|
||||||
|
cp include/mbedtls/config.h include/mbedtls/config.h.bak
|
||||||
|
scripts/config.pl realfull
|
||||||
doxygen doxygen/mbedtls.doxyfile
|
doxygen doxygen/mbedtls.doxyfile
|
||||||
|
mv include/mbedtls/config.h.bak include/mbedtls/config.h
|
||||||
|
|
||||||
apidoc_clean:
|
apidoc_clean:
|
||||||
rm -rf apidoc
|
rm -rf apidoc
|
||||||
|
|
|
@ -10,7 +10,7 @@ $0 [-f <file>] unset <name>
|
||||||
$0 [-f <file>] set <name> [<value>]
|
$0 [-f <file>] set <name> [<value>]
|
||||||
EOU
|
EOU
|
||||||
# for our eyes only:
|
# for our eyes only:
|
||||||
# $0 [-f <file>] full
|
# $0 [-f <file>] full|realfull
|
||||||
|
|
||||||
# Things that shouldn't be enabled with "full".
|
# Things that shouldn't be enabled with "full".
|
||||||
# Notes:
|
# Notes:
|
||||||
|
@ -61,7 +61,7 @@ die $usage unless @ARGV;
|
||||||
my $action = shift;
|
my $action = shift;
|
||||||
|
|
||||||
my ($name, $value);
|
my ($name, $value);
|
||||||
if ($action eq "full") {
|
if ($action eq "full" || $action eq "realfull") {
|
||||||
# nothing to do
|
# nothing to do
|
||||||
} elsif ($action eq "unset") {
|
} elsif ($action eq "unset") {
|
||||||
die $usage unless @ARGV;
|
die $usage unless @ARGV;
|
||||||
|
@ -79,14 +79,20 @@ open my $config_read, '<', $config_file or die "read $config_file: $!\n";
|
||||||
my @config_lines = <$config_read>;
|
my @config_lines = <$config_read>;
|
||||||
close $config_read;
|
close $config_read;
|
||||||
|
|
||||||
my $exclude_re = join '|', @excluded;
|
my ($exclude_re, $no_exclude_re);
|
||||||
my $no_exclude_re = join '|', @non_excluded;
|
if ($action eq "realfull") {
|
||||||
|
$exclude_re = qr/^$/;
|
||||||
|
$no_exclude_re = qr/./;
|
||||||
|
} else {
|
||||||
|
$exclude_re = join '|', @excluded;
|
||||||
|
$no_exclude_re = join '|', @non_excluded;
|
||||||
|
}
|
||||||
|
|
||||||
open my $config_write, '>', $config_file or die "write $config_file: $!\n";
|
open my $config_write, '>', $config_file or die "write $config_file: $!\n";
|
||||||
|
|
||||||
my $done;
|
my $done;
|
||||||
for my $line (@config_lines) {
|
for my $line (@config_lines) {
|
||||||
if ($action eq "full") {
|
if ($action eq "full" || $action eq "realfull") {
|
||||||
if ($line =~ /name SECTION: Module configuration options/) {
|
if ($line =~ /name SECTION: Module configuration options/) {
|
||||||
$done = 1;
|
$done = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue