[2/4] mk: use templated doxygen config, modified on the fly

Message ID 20180831182055.30772-3-bluca@debian.org (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Meson: build Doxygen documentation |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Luca Boccassi Aug. 31, 2018, 6:20 p.m. UTC
  This will allow the same config file to be used from Meson.
The result has been verified to be identical via diffoscope.

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 doc/api/doxy-api.conf    | 87 ------------------------------------
 doc/api/doxy-api.conf.in | 96 ++++++++++++++++++++++++++++++++++++++++
 mk/rte.sdkdoc.mk         | 16 +++----
 3 files changed, 103 insertions(+), 96 deletions(-)
 delete mode 100644 doc/api/doxy-api.conf
 create mode 100644 doc/api/doxy-api.conf.in
  

Comments

Thomas Monjalon Sept. 3, 2018, 1:03 a.m. UTC | #1
Good idea.
While at putting all in the same file (template),
we can re-organize the template a bit.

31/08/2018 20:20, Luca Boccassi:
> --- /dev/null
> +++ b/doc/api/doxy-api.conf.in
> @@ -0,0 +1,96 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright 2013-2017 6WIND S.A.
> +
> +PROJECT_NAME            = DPDK
> +INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
> +                          @TOPDIR@/drivers/crypto/scheduler \
> +                          @TOPDIR@/drivers/mempool/dpaa2 \
> +                          @TOPDIR@/drivers/net/bnxt \
> +                          @TOPDIR@/drivers/net/bonding \
> +                          @TOPDIR@/drivers/net/dpaa \
> +                          @TOPDIR@/drivers/net/i40e \
> +                          @TOPDIR@/drivers/net/ixgbe \
> +                          @TOPDIR@/drivers/net/softnic \
> +                          @TOPDIR@/drivers/raw/dpaa2_cmdif \
> +                          @TOPDIR@/drivers/raw/dpaa2_qdma \
> +                          @TOPDIR@/lib/librte_eal/common/include \
> +                          @TOPDIR@/lib/librte_eal/common/include/generic \
> +                          @TOPDIR@/lib/librte_acl \
> +                          @TOPDIR@/lib/librte_bbdev \
> +                          @TOPDIR@/lib/librte_bitratestats \
> +                          @TOPDIR@/lib/librte_bpf \
> +                          @TOPDIR@/lib/librte_cfgfile \
> +                          @TOPDIR@/lib/librte_cmdline \
> +                          @TOPDIR@/lib/librte_compat \
> +                          @TOPDIR@/lib/librte_compressdev \
> +                          @TOPDIR@/lib/librte_cryptodev \
> +                          @TOPDIR@/lib/librte_distributor \
> +                          @TOPDIR@/lib/librte_efd \
> +                          @TOPDIR@/lib/librte_ethdev \
> +                          @TOPDIR@/lib/librte_eventdev \
> +                          @TOPDIR@/lib/librte_flow_classify \
> +                          @TOPDIR@/lib/librte_gro \
> +                          @TOPDIR@/lib/librte_gso \
> +                          @TOPDIR@/lib/librte_hash \
> +                          @TOPDIR@/lib/librte_ip_frag \
> +                          @TOPDIR@/lib/librte_jobstats \
> +                          @TOPDIR@/lib/librte_kni \
> +                          @TOPDIR@/lib/librte_kvargs \
> +                          @TOPDIR@/lib/librte_latencystats \
> +                          @TOPDIR@/lib/librte_lpm \
> +                          @TOPDIR@/lib/librte_mbuf \
> +                          @TOPDIR@/lib/librte_member \
> +                          @TOPDIR@/lib/librte_mempool \
> +                          @TOPDIR@/lib/librte_meter \
> +                          @TOPDIR@/lib/librte_metrics \
> +                          @TOPDIR@/lib/librte_net \
> +                          @TOPDIR@/lib/librte_pci \
> +                          @TOPDIR@/lib/librte_pdump \
> +                          @TOPDIR@/lib/librte_pipeline \
> +                          @TOPDIR@/lib/librte_port \
> +                          @TOPDIR@/lib/librte_power \
> +                          @TOPDIR@/lib/librte_rawdev \
> +                          @TOPDIR@/lib/librte_reorder \
> +                          @TOPDIR@/lib/librte_ring \
> +                          @TOPDIR@/lib/librte_sched \
> +                          @TOPDIR@/lib/librte_security \
> +                          @TOPDIR@/lib/librte_table \
> +                          @TOPDIR@/lib/librte_timer \
> +                          @TOPDIR@/lib/librte_vhost
> +FILE_PATTERNS           = rte_*.h \
> +                          cmdline.h
> +PREDEFINED              = __DOXYGEN__ \
> +			   VFIO_PRESENT \
> +                          __attribute__(x)=
> +
> +OPTIMIZE_OUTPUT_FOR_C   = YES
> +ENABLE_PREPROCESSING    = YES
> +MACRO_EXPANSION         = YES
> +EXPAND_ONLY_PREDEF      = YES
> +EXTRACT_STATIC          = YES
> +DISTRIBUTE_GROUP_DOC    = YES
> +HIDE_UNDOC_MEMBERS      = YES
> +HIDE_UNDOC_CLASSES      = YES
> +HIDE_SCOPE_NAMES        = YES
> +GENERATE_DEPRECATEDLIST = NO
> +VERBATIM_HEADERS        = NO
> +ALPHABETICAL_INDEX      = NO
> +
> +HTML_TIMESTAMP          = NO
> +HTML_DYNAMIC_SECTIONS   = YES
> +SEARCHENGINE            = NO
> +SORT_MEMBER_DOCS        = NO
> +SOURCE_BROWSER          = YES
> +
> +EXAMPLE_PATH            = @TOPDIR@/examples
> +EXAMPLE_PATTERNS        = *.c
> +EXAMPLE_RECURSIVE       = YES
> +
> +PROJECT_NUMBER          = @VERSION@

could be below PROJECT_NAME

> +INPUT                   += @API_EXAMPLES@

can be at the end of INPUT list

> +OUTPUT_DIRECTORY        = @OUTPUT@
> +HTML_OUTPUT             = @HTML_OUTPUT@

can be below GENERATE_HTML

> +STRIP_FROM_PATH         = @STRIP_FROM_PATH@
> +GENERATE_HTML           = YES
> +GENERATE_LATEX          = NO
> +GENERATE_MAN            = NO
  
Luca Boccassi Sept. 3, 2018, 9:08 a.m. UTC | #2
On Mon, 2018-09-03 at 03:03 +0200, Thomas Monjalon wrote:
> Good idea.
> While at putting all in the same file (template),
> we can re-organize the template a bit.
> 
> 31/08/2018 20:20, Luca Boccassi:
> > --- /dev/null
> > +++ b/doc/api/doxy-api.conf.in
> > @@ -0,0 +1,96 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright 2013-2017 6WIND S.A.
> > +
> > +PROJECT_NAME            = DPDK
> > +INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
> > +                          @TOPDIR@/drivers/crypto/scheduler \
> > +                          @TOPDIR@/drivers/mempool/dpaa2 \
> > +                          @TOPDIR@/drivers/net/bnxt \
> > +                          @TOPDIR@/drivers/net/bonding \
> > +                          @TOPDIR@/drivers/net/dpaa \
> > +                          @TOPDIR@/drivers/net/i40e \
> > +                          @TOPDIR@/drivers/net/ixgbe \
> > +                          @TOPDIR@/drivers/net/softnic \
> > +                          @TOPDIR@/drivers/raw/dpaa2_cmdif \
> > +                          @TOPDIR@/drivers/raw/dpaa2_qdma \
> > +                          @TOPDIR@/lib/librte_eal/common/include \
> > +                          @TOPDIR@/lib/librte_eal/common/include/g
> > eneric \
> > +                          @TOPDIR@/lib/librte_acl \
> > +                          @TOPDIR@/lib/librte_bbdev \
> > +                          @TOPDIR@/lib/librte_bitratestats \
> > +                          @TOPDIR@/lib/librte_bpf \
> > +                          @TOPDIR@/lib/librte_cfgfile \
> > +                          @TOPDIR@/lib/librte_cmdline \
> > +                          @TOPDIR@/lib/librte_compat \
> > +                          @TOPDIR@/lib/librte_compressdev \
> > +                          @TOPDIR@/lib/librte_cryptodev \
> > +                          @TOPDIR@/lib/librte_distributor \
> > +                          @TOPDIR@/lib/librte_efd \
> > +                          @TOPDIR@/lib/librte_ethdev \
> > +                          @TOPDIR@/lib/librte_eventdev \
> > +                          @TOPDIR@/lib/librte_flow_classify \
> > +                          @TOPDIR@/lib/librte_gro \
> > +                          @TOPDIR@/lib/librte_gso \
> > +                          @TOPDIR@/lib/librte_hash \
> > +                          @TOPDIR@/lib/librte_ip_frag \
> > +                          @TOPDIR@/lib/librte_jobstats \
> > +                          @TOPDIR@/lib/librte_kni \
> > +                          @TOPDIR@/lib/librte_kvargs \
> > +                          @TOPDIR@/lib/librte_latencystats \
> > +                          @TOPDIR@/lib/librte_lpm \
> > +                          @TOPDIR@/lib/librte_mbuf \
> > +                          @TOPDIR@/lib/librte_member \
> > +                          @TOPDIR@/lib/librte_mempool \
> > +                          @TOPDIR@/lib/librte_meter \
> > +                          @TOPDIR@/lib/librte_metrics \
> > +                          @TOPDIR@/lib/librte_net \
> > +                          @TOPDIR@/lib/librte_pci \
> > +                          @TOPDIR@/lib/librte_pdump \
> > +                          @TOPDIR@/lib/librte_pipeline \
> > +                          @TOPDIR@/lib/librte_port \
> > +                          @TOPDIR@/lib/librte_power \
> > +                          @TOPDIR@/lib/librte_rawdev \
> > +                          @TOPDIR@/lib/librte_reorder \
> > +                          @TOPDIR@/lib/librte_ring \
> > +                          @TOPDIR@/lib/librte_sched \
> > +                          @TOPDIR@/lib/librte_security \
> > +                          @TOPDIR@/lib/librte_table \
> > +                          @TOPDIR@/lib/librte_timer \
> > +                          @TOPDIR@/lib/librte_vhost
> > +FILE_PATTERNS           = rte_*.h \
> > +                          cmdline.h
> > +PREDEFINED              = __DOXYGEN__ \
> > +			   VFIO_PRESENT \
> > +                          __attribute__(x)=
> > +
> > +OPTIMIZE_OUTPUT_FOR_C   = YES
> > +ENABLE_PREPROCESSING    = YES
> > +MACRO_EXPANSION         = YES
> > +EXPAND_ONLY_PREDEF      = YES
> > +EXTRACT_STATIC          = YES
> > +DISTRIBUTE_GROUP_DOC    = YES
> > +HIDE_UNDOC_MEMBERS      = YES
> > +HIDE_UNDOC_CLASSES      = YES
> > +HIDE_SCOPE_NAMES        = YES
> > +GENERATE_DEPRECATEDLIST = NO
> > +VERBATIM_HEADERS        = NO
> > +ALPHABETICAL_INDEX      = NO
> > +
> > +HTML_TIMESTAMP          = NO
> > +HTML_DYNAMIC_SECTIONS   = YES
> > +SEARCHENGINE            = NO
> > +SORT_MEMBER_DOCS        = NO
> > +SOURCE_BROWSER          = YES
> > +
> > +EXAMPLE_PATH            = @TOPDIR@/examples
> > +EXAMPLE_PATTERNS        = *.c
> > +EXAMPLE_RECURSIVE       = YES
> > +
> > +PROJECT_NUMBER          = @VERSION@
> 
> could be below PROJECT_NAME
> 
> > +INPUT                   += @API_EXAMPLES@
> 
> can be at the end of INPUT list
> 
> > +OUTPUT_DIRECTORY        = @OUTPUT@
> > +HTML_OUTPUT             = @HTML_OUTPUT@
> 
> can be below GENERATE_HTML
> 
> > +STRIP_FROM_PATH         = @STRIP_FROM_PATH@
> > +GENERATE_HTML           = YES
> > +GENERATE_LATEX          = NO
> > +GENERATE_MAN            = NO

Ok, will do in v2
  

Patch

diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf
deleted file mode 100644
index 66693c3835..0000000000
--- a/doc/api/doxy-api.conf
+++ /dev/null
@@ -1,87 +0,0 @@ 
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2013-2017 6WIND S.A.
-
-PROJECT_NAME            = DPDK
-INPUT                   = doc/api/doxy-api-index.md \
-                          drivers/crypto/scheduler \
-                          drivers/mempool/dpaa2 \
-                          drivers/net/bnxt \
-                          drivers/net/bonding \
-                          drivers/net/dpaa \
-                          drivers/net/i40e \
-                          drivers/net/ixgbe \
-                          drivers/net/softnic \
-                          drivers/raw/dpaa2_cmdif \
-                          drivers/raw/dpaa2_qdma \
-                          lib/librte_eal/common/include \
-                          lib/librte_eal/common/include/generic \
-                          lib/librte_acl \
-                          lib/librte_bbdev \
-                          lib/librte_bitratestats \
-                          lib/librte_bpf \
-                          lib/librte_cfgfile \
-                          lib/librte_cmdline \
-                          lib/librte_compat \
-                          lib/librte_compressdev \
-                          lib/librte_cryptodev \
-                          lib/librte_distributor \
-                          lib/librte_efd \
-                          lib/librte_ethdev \
-                          lib/librte_eventdev \
-                          lib/librte_flow_classify \
-                          lib/librte_gro \
-                          lib/librte_gso \
-                          lib/librte_hash \
-                          lib/librte_ip_frag \
-                          lib/librte_jobstats \
-                          lib/librte_kni \
-                          lib/librte_kvargs \
-                          lib/librte_latencystats \
-                          lib/librte_lpm \
-                          lib/librte_mbuf \
-                          lib/librte_member \
-                          lib/librte_mempool \
-                          lib/librte_meter \
-                          lib/librte_metrics \
-                          lib/librte_net \
-                          lib/librte_pci \
-                          lib/librte_pdump \
-                          lib/librte_pipeline \
-                          lib/librte_port \
-                          lib/librte_power \
-                          lib/librte_rawdev \
-                          lib/librte_reorder \
-                          lib/librte_ring \
-                          lib/librte_sched \
-                          lib/librte_security \
-                          lib/librte_table \
-                          lib/librte_timer \
-                          lib/librte_vhost
-FILE_PATTERNS           = rte_*.h \
-                          cmdline.h
-PREDEFINED              = __DOXYGEN__ \
-			   VFIO_PRESENT \
-                          __attribute__(x)=
-
-OPTIMIZE_OUTPUT_FOR_C   = YES
-ENABLE_PREPROCESSING    = YES
-MACRO_EXPANSION         = YES
-EXPAND_ONLY_PREDEF      = YES
-EXTRACT_STATIC          = YES
-DISTRIBUTE_GROUP_DOC    = YES
-HIDE_UNDOC_MEMBERS      = YES
-HIDE_UNDOC_CLASSES      = YES
-HIDE_SCOPE_NAMES        = YES
-GENERATE_DEPRECATEDLIST = NO
-VERBATIM_HEADERS        = NO
-ALPHABETICAL_INDEX      = NO
-
-HTML_TIMESTAMP          = NO
-HTML_DYNAMIC_SECTIONS   = YES
-SEARCHENGINE            = NO
-SORT_MEMBER_DOCS        = NO
-SOURCE_BROWSER          = YES
-
-EXAMPLE_PATH            = examples
-EXAMPLE_PATTERNS        = *.c
-EXAMPLE_RECURSIVE       = YES
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
new file mode 100644
index 0000000000..ccc1d4ab24
--- /dev/null
+++ b/doc/api/doxy-api.conf.in
@@ -0,0 +1,96 @@ 
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2013-2017 6WIND S.A.
+
+PROJECT_NAME            = DPDK
+INPUT                   = @TOPDIR@/doc/api/doxy-api-index.md \
+                          @TOPDIR@/drivers/crypto/scheduler \
+                          @TOPDIR@/drivers/mempool/dpaa2 \
+                          @TOPDIR@/drivers/net/bnxt \
+                          @TOPDIR@/drivers/net/bonding \
+                          @TOPDIR@/drivers/net/dpaa \
+                          @TOPDIR@/drivers/net/i40e \
+                          @TOPDIR@/drivers/net/ixgbe \
+                          @TOPDIR@/drivers/net/softnic \
+                          @TOPDIR@/drivers/raw/dpaa2_cmdif \
+                          @TOPDIR@/drivers/raw/dpaa2_qdma \
+                          @TOPDIR@/lib/librte_eal/common/include \
+                          @TOPDIR@/lib/librte_eal/common/include/generic \
+                          @TOPDIR@/lib/librte_acl \
+                          @TOPDIR@/lib/librte_bbdev \
+                          @TOPDIR@/lib/librte_bitratestats \
+                          @TOPDIR@/lib/librte_bpf \
+                          @TOPDIR@/lib/librte_cfgfile \
+                          @TOPDIR@/lib/librte_cmdline \
+                          @TOPDIR@/lib/librte_compat \
+                          @TOPDIR@/lib/librte_compressdev \
+                          @TOPDIR@/lib/librte_cryptodev \
+                          @TOPDIR@/lib/librte_distributor \
+                          @TOPDIR@/lib/librte_efd \
+                          @TOPDIR@/lib/librte_ethdev \
+                          @TOPDIR@/lib/librte_eventdev \
+                          @TOPDIR@/lib/librte_flow_classify \
+                          @TOPDIR@/lib/librte_gro \
+                          @TOPDIR@/lib/librte_gso \
+                          @TOPDIR@/lib/librte_hash \
+                          @TOPDIR@/lib/librte_ip_frag \
+                          @TOPDIR@/lib/librte_jobstats \
+                          @TOPDIR@/lib/librte_kni \
+                          @TOPDIR@/lib/librte_kvargs \
+                          @TOPDIR@/lib/librte_latencystats \
+                          @TOPDIR@/lib/librte_lpm \
+                          @TOPDIR@/lib/librte_mbuf \
+                          @TOPDIR@/lib/librte_member \
+                          @TOPDIR@/lib/librte_mempool \
+                          @TOPDIR@/lib/librte_meter \
+                          @TOPDIR@/lib/librte_metrics \
+                          @TOPDIR@/lib/librte_net \
+                          @TOPDIR@/lib/librte_pci \
+                          @TOPDIR@/lib/librte_pdump \
+                          @TOPDIR@/lib/librte_pipeline \
+                          @TOPDIR@/lib/librte_port \
+                          @TOPDIR@/lib/librte_power \
+                          @TOPDIR@/lib/librte_rawdev \
+                          @TOPDIR@/lib/librte_reorder \
+                          @TOPDIR@/lib/librte_ring \
+                          @TOPDIR@/lib/librte_sched \
+                          @TOPDIR@/lib/librte_security \
+                          @TOPDIR@/lib/librte_table \
+                          @TOPDIR@/lib/librte_timer \
+                          @TOPDIR@/lib/librte_vhost
+FILE_PATTERNS           = rte_*.h \
+                          cmdline.h
+PREDEFINED              = __DOXYGEN__ \
+			   VFIO_PRESENT \
+                          __attribute__(x)=
+
+OPTIMIZE_OUTPUT_FOR_C   = YES
+ENABLE_PREPROCESSING    = YES
+MACRO_EXPANSION         = YES
+EXPAND_ONLY_PREDEF      = YES
+EXTRACT_STATIC          = YES
+DISTRIBUTE_GROUP_DOC    = YES
+HIDE_UNDOC_MEMBERS      = YES
+HIDE_UNDOC_CLASSES      = YES
+HIDE_SCOPE_NAMES        = YES
+GENERATE_DEPRECATEDLIST = NO
+VERBATIM_HEADERS        = NO
+ALPHABETICAL_INDEX      = NO
+
+HTML_TIMESTAMP          = NO
+HTML_DYNAMIC_SECTIONS   = YES
+SEARCHENGINE            = NO
+SORT_MEMBER_DOCS        = NO
+SOURCE_BROWSER          = YES
+
+EXAMPLE_PATH            = @TOPDIR@/examples
+EXAMPLE_PATTERNS        = *.c
+EXAMPLE_RECURSIVE       = YES
+
+PROJECT_NUMBER          = @VERSION@
+INPUT                   += @API_EXAMPLES@
+OUTPUT_DIRECTORY        = @OUTPUT@
+HTML_OUTPUT             = @HTML_OUTPUT@
+STRIP_FROM_PATH         = @STRIP_FROM_PATH@
+GENERATE_HTML           = YES
+GENERATE_LATEX          = NO
+GENERATE_MAN            = NO
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
index d023b720fe..c44db6447a 100644
--- a/mk/rte.sdkdoc.mk
+++ b/mk/rte.sdkdoc.mk
@@ -43,15 +43,13 @@  clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
 api-html: $(API_EXAMPLES)
 	@echo 'doxygen for API...'
 	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
-	$(Q)(cat $(RTE_SDK)/doc/api/doxy-api.conf     && \
-	    printf 'PROJECT_NUMBER = '                && \
-	                     $(MAKE) -rRs showversion && \
-	    echo INPUT           += $(API_EXAMPLES)   && \
-	    echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \
-	    echo HTML_OUTPUT      = html/api          && \
-	    echo GENERATE_HTML    = YES               && \
-	    echo GENERATE_LATEX   = NO                && \
-	    echo GENERATE_MAN     = NO                )| \
+	$(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \
+	         -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|"       \
+	         -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|"           \
+	         -e "s|@HTML_OUTPUT@|html/api|"               \
+	         -e "s|@TOPDIR@|./|g"                         \
+	         -e "s|@STRIP_FROM_PATH@|./|g"                \
+	         $(RTE_SDK)/doc/api/doxy-api.conf.in)|        \
 	    doxygen -
 	$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css