[v1] doc: remove warning with doxygen 1.9.7

Message ID 20230531124648.1358005-1-jerinj@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v1] doc: remove warning with doxygen 1.9.7 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation fail meson build failure
ci/Intel-compilation success Compilation OK
ci/github-robot: build fail github build: failed
ci/intel-Testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional fail Functional Testing issues
ci/iol-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-abi-testing warning Testing issues
ci/iol-unit-testing fail Testing issues
ci/iol-x86_64-compile-testing fail Testing issues

Commit Message

Jerin Jacob Kollanukkaran May 31, 2023, 12:46 p.m. UTC
  From: Jerin Jacob <jerinj@marvell.com>

Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
the correct configuration option based on doxygen version.

[1]
Warning: Tag 'HTML_TIMESTAMP' at line 115 of file 'doc/api/doxy-api.conf'
has become obsolete.

[2]
https://www.doxygen.nl/manual/config.html#cfg_timestamp

Cc: stable@dpdk.org

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
 doc/api/doxy-api.conf.in | 2 +-
 doc/api/meson.build      | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)
  

Comments

Jerin Jacob May 31, 2023, 1:21 p.m. UTC | #1
On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
>
> From: Jerin Jacob <jerinj@marvell.com>
>
> Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> the correct configuration option based on doxygen version.

loongarch-compilation reported a build issue  at
http://mails.dpdk.org/archives/test-report/2023-May/402940.html
https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
introduced in 0.62 version, so not sure how we can do version check
without that.

Another option is to just remove HTIML_TIMESTAMP from config file.
Since 1.8.9 doxgen version,
it is disabled by default.

Thoughts?


commit 3f2e8a3067712b025623e4420e6eb161febfd42b
Author: Dimitri van Heesch <dimitri@stack.nl>
Date:   Thu Mar 5 21:54:12 2015 +0100

    Bug 745439 - PATCH: please consider making doxygen output byte for
byte identical between individual runs by default

diff --git a/src/config.xml b/src/config.xml
index 747686031..3d81a21a2 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -1889,13 +1889,13 @@ hr.footer {
 ]]>
       </docs>
     </option>
-    <option type='bool' id='HTML_TIMESTAMP' defval='1' depends='GENERATE_HTML'>
+    <option type='bool' id='HTML_TIMESTAMP' defval='0' depends='GENERATE_HTML'>
       <docs>
 <![CDATA[
  If the \c HTML_TIMESTAMP tag is set to \c YES then the footer of
  each generated HTML page will contain the date and time when the page
- was generated. Setting this to \c NO can help when comparing the output of
- multiple runs.
+ was generated. Setting this to \c YES can help to show when doxygen
was last run
+ and thus if the documentation is up to date.
 ]]>
       </docs>
     </option>
[(HEAD detached at Release_1_9_5)]dell[doxygen] $ git describe
3f2e8a3067712b025623e4420e6eb161febfd42b
Release_1_8_9_1-64-g3f2e8a306

>
> [1]
> Warning: Tag 'HTML_TIMESTAMP' at line 115 of file 'doc/api/doxy-api.conf'
> has become obsolete.
>
> [2]
> https://www.doxygen.nl/manual/config.html#cfg_timestamp
>
> Cc: stable@dpdk.org
>
> Signed-off-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  doc/api/doxy-api.conf.in | 2 +-
>  doc/api/meson.build      | 6 ++++++
>  2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
> index 7e68e43c64..f5da1f2291 100644
> --- a/doc/api/doxy-api.conf.in
> +++ b/doc/api/doxy-api.conf.in
> @@ -112,7 +112,7 @@ GENERATE_DEPRECATEDLIST = YES
>  VERBATIM_HEADERS        = NO
>  ALPHABETICAL_INDEX      = NO
>
> -HTML_TIMESTAMP          = NO
> +@TS_PREFIX@TIMESTAMP   = NO
>  HTML_DYNAMIC_SECTIONS   = YES
>  HTML_EXTRA_STYLESHEET   = @TOPDIR@/doc/api/custom.css
>  SEARCHENGINE            = YES
> diff --git a/doc/api/meson.build b/doc/api/meson.build
> index 2876a78a7e..7fc5b064cd 100644
> --- a/doc/api/meson.build
> +++ b/doc/api/meson.build
> @@ -41,6 +41,12 @@ if get_option('werror')
>      cdata.set('WARN_AS_ERROR', 'YES')
>  endif
>
> +if doxygen.version().version_compare('>=1.9.7')
> +    cdata.set('TS_PREFIX', '')
> +else
> +    cdata.set('TS_PREFIX', 'HTML_')
> +endif
> +
>  doxy_conf = configure_file(input: 'doxy-api.conf.in',
>          output: 'doxy-api.conf',
>          configuration: cdata)
> --
> 2.40.1
>
  
Thomas Monjalon May 31, 2023, 2:01 p.m. UTC | #2
31/05/2023 15:21, Jerin Jacob:
> On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> >
> > From: Jerin Jacob <jerinj@marvell.com>
> >
> > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > the correct configuration option based on doxygen version.
> 
> loongarch-compilation reported a build issue  at
> http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> introduced in 0.62 version, so not sure how we can do version check
> without that.
> 
> Another option is to just remove HTIML_TIMESTAMP from config file.
> Since 1.8.9 doxgen version,
> it is disabled by default.
> 
> Thoughts?

No need to disable if it is already disabled by default.
What was the default of the old HTML_TIMESTAMP?
  
Jerin Jacob May 31, 2023, 2:07 p.m. UTC | #3
On Wed, May 31, 2023 at 7:31 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 31/05/2023 15:21, Jerin Jacob:
> > On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> > >
> > > From: Jerin Jacob <jerinj@marvell.com>
> > >
> > > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > > the correct configuration option based on doxygen version.
> >
> > loongarch-compilation reported a build issue  at
> > http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> > https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> > introduced in 0.62 version, so not sure how we can do version check
> > without that.
> >
> > Another option is to just remove HTIML_TIMESTAMP from config file.
> > Since 1.8.9 doxgen version,
> > it is disabled by default.
> >
> > Thoughts?
>
> No need to disable if it is already disabled by default.
> What was the default of the old HTML_TIMESTAMP?

Prior to doxygen Release_1_8_9_1-64-g3f2e8a306 it is enabled by default.

>
>
  
Thomas Monjalon May 31, 2023, 2:49 p.m. UTC | #4
31/05/2023 16:07, Jerin Jacob:
> On Wed, May 31, 2023 at 7:31 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > 31/05/2023 15:21, Jerin Jacob:
> > > On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> > > >
> > > > From: Jerin Jacob <jerinj@marvell.com>
> > > >
> > > > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > > > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > > > the correct configuration option based on doxygen version.
> > >
> > > loongarch-compilation reported a build issue  at
> > > http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> > > https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> > > introduced in 0.62 version, so not sure how we can do version check
> > > without that.
> > >
> > > Another option is to just remove HTIML_TIMESTAMP from config file.
> > > Since 1.8.9 doxgen version,
> > > it is disabled by default.
> > >
> > > Thoughts?
> >
> > No need to disable if it is already disabled by default.
> > What was the default of the old HTML_TIMESTAMP?
> 
> Prior to doxygen Release_1_8_9_1-64-g3f2e8a306 it is enabled by default.

Then it would be better to keep HTML_TIMESTAMP until doxygen 1.9
and don't add TIMESTAMP for new versions.
  
Jerin Jacob May 31, 2023, 2:54 p.m. UTC | #5
On Wed, May 31, 2023 at 8:19 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 31/05/2023 16:07, Jerin Jacob:
> > On Wed, May 31, 2023 at 7:31 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > >
> > > 31/05/2023 15:21, Jerin Jacob:
> > > > On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> > > > >
> > > > > From: Jerin Jacob <jerinj@marvell.com>
> > > > >
> > > > > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > > > > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > > > > the correct configuration option based on doxygen version.
> > > >
> > > > loongarch-compilation reported a build issue  at
> > > > http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> > > > https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> > > > introduced in 0.62 version, so not sure how we can do version check
> > > > without that.
> > > >
> > > > Another option is to just remove HTIML_TIMESTAMP from config file.
> > > > Since 1.8.9 doxgen version,
> > > > it is disabled by default.
> > > >
> > > > Thoughts?
> > >
> > > No need to disable if it is already disabled by default.
> > > What was the default of the old HTML_TIMESTAMP?
> >
> > Prior to doxygen Release_1_8_9_1-64-g3f2e8a306 it is enabled by default.
>
> Then it would be better to keep HTML_TIMESTAMP until doxygen 1.9
> and don't add TIMESTAMP for new versions.

https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
introduced in 0.62 version. Thats is one issue to check doxgen version
in meson code to do something based
on version.



>
>
>
  
Thomas Monjalon May 31, 2023, 3:06 p.m. UTC | #6
31/05/2023 16:54, Jerin Jacob:
> On Wed, May 31, 2023 at 8:19 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > 31/05/2023 16:07, Jerin Jacob:
> > > On Wed, May 31, 2023 at 7:31 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > > >
> > > > 31/05/2023 15:21, Jerin Jacob:
> > > > > On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> > > > > >
> > > > > > From: Jerin Jacob <jerinj@marvell.com>
> > > > > >
> > > > > > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > > > > > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > > > > > the correct configuration option based on doxygen version.
> > > > >
> > > > > loongarch-compilation reported a build issue  at
> > > > > http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> > > > > https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> > > > > introduced in 0.62 version, so not sure how we can do version check
> > > > > without that.
> > > > >
> > > > > Another option is to just remove HTIML_TIMESTAMP from config file.
> > > > > Since 1.8.9 doxgen version,
> > > > > it is disabled by default.
> > > > >
> > > > > Thoughts?
> > > >
> > > > No need to disable if it is already disabled by default.
> > > > What was the default of the old HTML_TIMESTAMP?
> > >
> > > Prior to doxygen Release_1_8_9_1-64-g3f2e8a306 it is enabled by default.
> >
> > Then it would be better to keep HTML_TIMESTAMP until doxygen 1.9
> > and don't add TIMESTAMP for new versions.
> 
> https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> introduced in 0.62 version. Thats is one issue to check doxgen version
> in meson code to do something based
> on version.

It should be possible to check version without using this new Meson feature.
Look at what is done for "binutils_ok" as an example.
  
Bruce Richardson June 2, 2023, 8:40 a.m. UTC | #7
On Wed, May 31, 2023 at 04:49:04PM +0200, Thomas Monjalon wrote:
> 31/05/2023 16:07, Jerin Jacob:
> > On Wed, May 31, 2023 at 7:31 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > >
> > > 31/05/2023 15:21, Jerin Jacob:
> > > > On Wed, May 31, 2023 at 6:17 PM <jerinj@marvell.com> wrote:
> > > > >
> > > > > From: Jerin Jacob <jerinj@marvell.com>
> > > > >
> > > > > Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option
> > > > > changed to TIMESTAMP [2]. Fixed the following warning[1] by providing
> > > > > the correct configuration option based on doxygen version.
> > > >
> > > > loongarch-compilation reported a build issue  at
> > > > http://mails.dpdk.org/archives/test-report/2023-May/402940.html
> > > > https://mesonbuild.com/Reference-manual_returned_external_program.html#external_programversion
> > > > introduced in 0.62 version, so not sure how we can do version check
> > > > without that.
> > > >
> > > > Another option is to just remove HTIML_TIMESTAMP from config file.
> > > > Since 1.8.9 doxgen version,
> > > > it is disabled by default.
> > > >
> > > > Thoughts?
> > >
> > > No need to disable if it is already disabled by default.
> > > What was the default of the old HTML_TIMESTAMP?
> > 
> > Prior to doxygen Release_1_8_9_1-64-g3f2e8a306 it is enabled by default.
> 
> Then it would be better to keep HTML_TIMESTAMP until doxygen 1.9
> and don't add TIMESTAMP for new versions.
> 

Sorry for late arrival in the discussion.

I am not sure it's worth going to all that trouble. If the option is
disabled by default in all new versions of doxygen, then we don't have an
issue with the official DPDK docs on the website being any different if we
just drop the option from our config. All that would happen is that any
individual developer/user generating the docs with an older doxygen, will
get their HTML output timestampted in the footer.

Not a big deal, to my mind. Therefore I suggest just removing the option,
and being done with it. Once we put in the version check code, it's nigh on
impossible to remove it as it gets forgotten.

/Bruce
  

Patch

diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
index 7e68e43c64..f5da1f2291 100644
--- a/doc/api/doxy-api.conf.in
+++ b/doc/api/doxy-api.conf.in
@@ -112,7 +112,7 @@  GENERATE_DEPRECATEDLIST = YES
 VERBATIM_HEADERS        = NO
 ALPHABETICAL_INDEX      = NO
 
-HTML_TIMESTAMP          = NO
+@TS_PREFIX@TIMESTAMP   = NO
 HTML_DYNAMIC_SECTIONS   = YES
 HTML_EXTRA_STYLESHEET   = @TOPDIR@/doc/api/custom.css
 SEARCHENGINE            = YES
diff --git a/doc/api/meson.build b/doc/api/meson.build
index 2876a78a7e..7fc5b064cd 100644
--- a/doc/api/meson.build
+++ b/doc/api/meson.build
@@ -41,6 +41,12 @@  if get_option('werror')
     cdata.set('WARN_AS_ERROR', 'YES')
 endif
 
+if doxygen.version().version_compare('>=1.9.7')
+    cdata.set('TS_PREFIX', '')
+else
+    cdata.set('TS_PREFIX', 'HTML_')
+endif
+
 doxy_conf = configure_file(input: 'doxy-api.conf.in',
         output: 'doxy-api.conf',
         configuration: cdata)