commit 4c57c80dc87ee55acdf3017e9230ccfa2ea63d80 Author: MSVSphere Packaging Team Date: Fri Oct 25 16:29:28 2024 +0300 import libocxl-1.2.1-10.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2deff78 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libocxl-1.2.1.tar.gz diff --git a/.libocxl.metadata b/.libocxl.metadata new file mode 100644 index 0000000..308ba8c --- /dev/null +++ b/.libocxl.metadata @@ -0,0 +1 @@ +f8e896b47622dfef172cd078b0ff20139c30f21d SOURCES/libocxl-1.2.1.tar.gz diff --git a/SOURCES/libocxl-1.2.1-doxygen.patch b/SOURCES/libocxl-1.2.1-doxygen.patch new file mode 100644 index 0000000..a7cc9d5 --- /dev/null +++ b/SOURCES/libocxl-1.2.1-doxygen.patch @@ -0,0 +1,3330 @@ +diff --git a/Doxyfile-html b/Doxyfile-html +index fd23764..c85c3d7 100644 +--- a/Doxyfile-html ++++ b/Doxyfile-html +@@ -1,4 +1,4 @@ +-# Doxyfile 1.8.13 ++# Doxyfile 1.10.0 + + # This file describes the settings to be used by the documentation system + # doxygen (www.doxygen.org) for a project. +@@ -12,16 +12,26 @@ + # For lists, items can also be appended using: + # TAG += value [value, ...] + # Values that contain spaces should be placed between quotes (\" \"). ++# ++# Note: ++# ++# Use doxygen to compare the used configuration file with the template ++# configuration file: ++# doxygen -x [configFile] ++# Use doxygen to compare the used configuration file with the template ++# configuration file without replacing the environment variables or CMake type ++# replacement variables: ++# doxygen -x_noenv [configFile] + + #--------------------------------------------------------------------------- + # Project related configuration options + #--------------------------------------------------------------------------- + +-# This tag specifies the encoding used for all characters in the config file +-# that follow. The default is UTF-8 which is also the encoding used for all text +-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +-# for the list of possible encodings. ++# This tag specifies the encoding used for all characters in the configuration ++# file that follow. The default is UTF-8 which is also the encoding used for all ++# text before the first occurrence of this tag. Doxygen uses libiconv (or the ++# iconv built into libc) for the transcoding. See ++# https://www.gnu.org/software/libiconv/ for the list of possible encodings. + # The default value is: UTF-8. + + DOXYFILE_ENCODING = UTF-8 +@@ -53,6 +63,12 @@ PROJECT_BRIEF = + + PROJECT_LOGO = + ++# With the PROJECT_ICON tag one can specify an icon that is included in the tabs ++# when the HTML document is shown. Doxygen will copy the logo to the output ++# directory. ++ ++PROJECT_ICON = ++ + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path + # into which the generated documentation will be written. If a relative path is + # entered, it will be relative to the location where doxygen was started. If +@@ -60,16 +76,28 @@ PROJECT_LOGO = + + OUTPUT_DIRECTORY = docs + +-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +-# directories (in 2 levels) under the output directory of each output format and +-# will distribute the generated files over these directories. Enabling this ++# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 ++# sub-directories (in 2 levels) under the output directory of each output format ++# and will distribute the generated files over these directories. Enabling this + # option can be useful when feeding doxygen a huge amount of source files, where + # putting all generated files in the same directory would otherwise causes +-# performance problems for the file system. ++# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to ++# control the number of sub-directories. + # The default value is: NO. + + CREATE_SUBDIRS = NO + ++# Controls the number of sub-directories that will be created when ++# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every ++# level increment doubles the number of directories, resulting in 4096 ++# directories at level 8 which is the default and also the maximum value. The ++# sub-directories are organized in 2 levels, the first level always has a fixed ++# number of 16 directories. ++# Minimum value: 0, maximum value: 8, default value: 8. ++# This tag requires that the tag CREATE_SUBDIRS is set to YES. ++ ++CREATE_SUBDIRS_LEVEL = 8 ++ + # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII + # characters to appear in the names of generated files. If set to NO, non-ASCII + # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +@@ -81,14 +109,14 @@ ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all + # documentation generated by doxygen is written. Doxygen will use this + # information to generate all constant output in the proper language. +-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +-# Ukrainian and Vietnamese. ++# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, ++# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English ++# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, ++# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with ++# English messages), Korean, Korean-en (Korean with English messages), Latvian, ++# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, ++# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, ++# Swedish, Turkish, Ukrainian and Vietnamese. + # The default value is: English. + + OUTPUT_LANGUAGE = English +@@ -162,7 +190,8 @@ FULL_PATH_NAMES = NO + # will be relative from the directory where doxygen is started. + # This tag requires that the tag FULL_PATH_NAMES is set to YES. + +-STRIP_FROM_PATH = src src/include ++STRIP_FROM_PATH = src \ ++ src/include + + # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the + # path mentioned in the documentation of a class, which tells the reader which +@@ -189,6 +218,16 @@ SHORT_NAMES = NO + + JAVADOC_AUTOBRIEF = YES + ++# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line ++# such as ++# /*************** ++# as being the beginning of a Javadoc-style comment "banner". If set to NO, the ++# Javadoc-style will behave just like regular comments and it will not be ++# interpreted by doxygen. ++# The default value is: NO. ++ ++JAVADOC_BANNER = NO ++ + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first + # line (until the first dot) of a Qt-style comment as the brief description. If + # set to NO, the Qt-style will behave just like regular Qt-style comments (thus +@@ -209,6 +248,14 @@ QT_AUTOBRIEF = NO + + MULTILINE_CPP_IS_BRIEF = NO + ++# By default Python docstrings are displayed as preformatted text and doxygen's ++# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the ++# doxygen's special commands can be used and the contents of the docstring ++# documentation blocks is shown as doxygen documentation. ++# The default value is: YES. ++ ++PYTHON_DOCSTRING = YES ++ + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the + # documentation from any documented member that it re-implements. + # The default value is: YES. +@@ -232,11 +279,16 @@ TAB_SIZE = 4 + # the documentation. An alias has the form: + # name=value + # For example adding +-# "sideeffect=@par Side Effects:\n" ++# "sideeffect=@par Side Effects:^^" + # will allow you to put the command \sideeffect (or @sideeffect) in the + # documentation, which will result in a user-defined paragraph with heading +-# "Side Effects:". You can put \n's in the value part of an alias to insert +-# newlines. ++# "Side Effects:". Note that you cannot put \n's in the value part of an alias ++# to insert newlines (in the resulting output). You can put ^^ in the value part ++# of an alias to insert a newline as if a physical newline was in the original ++# file. When you need a literal { or } or , in the value part of an alias you ++# have to escape them by means of a backslash (\), this can lead to conflicts ++# with the commands \{ and \} for these it is advised to use the version @{ and ++# @} or use a double escape (\\{ and \\}) + + ALIASES = + +@@ -268,28 +320,40 @@ OPTIMIZE_FOR_FORTRAN = NO + + OPTIMIZE_OUTPUT_VHDL = NO + ++# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice ++# sources only. Doxygen will then generate output that is more tailored for that ++# language. For instance, namespaces will be presented as modules, types will be ++# separated into more groups, etc. ++# The default value is: NO. ++ ++OPTIMIZE_OUTPUT_SLICE = NO ++ + # Doxygen selects the parser to use depending on the extension of the files it + # parses. With this tag you can assign which parser to use for a given + # extension. Doxygen has a built-in mapping, but you can override or extend it + # using this tag. The format is ext=language, where ext is a file extension, and +-# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +-# Fortran. In the later case the parser tries to guess whether the code is fixed +-# or free formatted code, this is the default for Fortran type files), VHDL. For +-# instance to make doxygen treat .inc files as Fortran files (default is PHP), +-# and .f files as C (default is Fortran), use: inc=Fortran f=C. ++# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, ++# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, ++# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: ++# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser ++# tries to guess whether the code is fixed or free formatted code, this is the ++# default for Fortran type files). For instance to make doxygen treat .inc files ++# as Fortran files (default is PHP), and .f files as C (default is Fortran), ++# use: inc=Fortran f=C. + # + # Note: For files without extension you can use no_extension as a placeholder. + # + # Note that for custom extensions you also need to set FILE_PATTERNS otherwise +-# the files are not read by doxygen. ++# the files are not read by doxygen. When specifying no_extension you should add ++# * to the FILE_PATTERNS. ++# ++# Note see also the list of default file extension mappings. + + EXTENSION_MAPPING = + + # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments + # according to the Markdown format, which allows for more readable +-# documentation. See http://daringfireball.net/projects/markdown/ for details. ++# documentation. See https://daringfireball.net/projects/markdown/ for details. + # The output of markdown processing is further processed by doxygen, so you can + # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in + # case of backward compatibilities issues. +@@ -301,11 +365,22 @@ MARKDOWN_SUPPORT = YES + # to that level are automatically included in the table of contents, even if + # they do not have an id attribute. + # Note: This feature currently applies only to Markdown headings. +-# Minimum value: 0, maximum value: 99, default value: 0. ++# Minimum value: 0, maximum value: 99, default value: 5. + # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + + TOC_INCLUDE_HEADINGS = 0 + ++# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to ++# generate identifiers for the Markdown headings. Note: Every identifier is ++# unique. ++# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a ++# sequence number starting at 0 and GITHUB use the lower case version of title ++# with any whitespace replaced by '-' and punctuation characters removed. ++# The default value is: DOXYGEN. ++# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. ++ ++MARKDOWN_ID_STYLE = DOXYGEN ++ + # When enabled doxygen tries to link words that correspond to documented + # classes, or namespaces to their corresponding documentation. Such a link can + # be prevented in individual cases by putting a % sign in front of the word or +@@ -331,7 +406,7 @@ BUILTIN_STL_SUPPORT = NO + CPP_CLI_SUPPORT = NO + + # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen ++# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen + # will parse them like normal C++ but will assume all classes use public instead + # of private inheritance when no explicit protection keyword is present. + # The default value is: NO. +@@ -417,6 +492,27 @@ TYPEDEF_HIDES_STRUCT = YES + + LOOKUP_CACHE_SIZE = 0 + ++# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use ++# during processing. When set to 0 doxygen will based this on the number of ++# cores available in the system. You can set it explicitly to a value larger ++# than 0 to get more control over the balance between CPU load and processing ++# speed. At this moment only the input processing can be done using multiple ++# threads. Since this is still an experimental feature the default is set to 1, ++# which effectively disables parallel processing. Please report any issues you ++# encounter. Generating dot graphs in parallel is controlled by the ++# DOT_NUM_THREADS setting. ++# Minimum value: 0, maximum value: 32, default value: 1. ++ ++NUM_PROC_THREADS = 1 ++ ++# If the TIMESTAMP tag is set different from NO then each generated page will ++# contain the date or date and time when the page was generated. Setting this to ++# NO can help when comparing the output of multiple runs. ++# Possible values are: YES, NO, DATETIME and DATE. ++# The default value is: NO. ++ ++TIMESTAMP = NO ++ + #--------------------------------------------------------------------------- + # Build related configuration options + #--------------------------------------------------------------------------- +@@ -437,6 +533,12 @@ EXTRACT_ALL = YES + + EXTRACT_PRIVATE = NO + ++# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual ++# methods of a class will be included in the documentation. ++# The default value is: NO. ++ ++EXTRACT_PRIV_VIRTUAL = NO ++ + # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal + # scope will be included in the documentation. + # The default value is: NO. +@@ -474,6 +576,13 @@ EXTRACT_LOCAL_METHODS = NO + + EXTRACT_ANON_NSPACES = NO + ++# If this flag is set to YES, the name of an unnamed parameter in a declaration ++# will be determined by the corresponding definition. By default unnamed ++# parameters remain unnamed in the output. ++# The default value is: YES. ++ ++RESOLVE_UNNAMED_PARAMS = YES ++ + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all + # undocumented members inside documented classes or files. If set to NO these + # members will be included in the various overviews, but no documentation +@@ -485,14 +594,15 @@ HIDE_UNDOC_MEMBERS = NO + # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all + # undocumented classes that are normally visible in the class hierarchy. If set + # to NO, these classes will be included in the various overviews. This option +-# has no effect if EXTRACT_ALL is enabled. ++# will also hide undocumented C++ concepts if enabled. This option has no effect ++# if EXTRACT_ALL is enabled. + # The default value is: NO. + + HIDE_UNDOC_CLASSES = NO + + # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +-# (class|struct|union) declarations. If set to NO, these declarations will be +-# included in the documentation. ++# declarations. If set to NO, these declarations will be included in the ++# documentation. + # The default value is: NO. + + HIDE_FRIEND_COMPOUNDS = NO +@@ -511,12 +621,20 @@ HIDE_IN_BODY_DOCS = NO + + INTERNAL_DOCS = NO + +-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +-# names in lower-case letters. If set to YES, upper-case letters are also +-# allowed. This is useful if you have classes or files whose names only differ +-# in case and if your file system supports case sensitive file names. Windows +-# and Mac users are advised to set this option to NO. +-# The default value is: system dependent. ++# With the correct setting of option CASE_SENSE_NAMES doxygen will better be ++# able to match the capabilities of the underlying filesystem. In case the ++# filesystem is case sensitive (i.e. it supports files in the same directory ++# whose names only differ in casing), the option must be set to YES to properly ++# deal with such files in case they appear in the input. For filesystems that ++# are not case sensitive the option should be set to NO to properly deal with ++# output files written for symbols that only differ in casing, such as for two ++# classes, one named CLASS and the other named Class, and to also support ++# references to files without having to specify the exact matching casing. On ++# Windows (including Cygwin) and MacOS, users should typically set this option ++# to NO, whereas on Linux or other Unix flavors it should typically be set to ++# YES. ++# Possible values are: SYSTEM, NO and YES. ++# The default value is: SYSTEM. + + CASE_SENSE_NAMES = NO + +@@ -534,6 +652,12 @@ HIDE_SCOPE_NAMES = YES + + HIDE_COMPOUND_REFERENCE= NO + ++# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class ++# will show which file needs to be included to use the class. ++# The default value is: YES. ++ ++SHOW_HEADERFILE = YES ++ + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of + # the files that are included by a file in the documentation of that file. + # The default value is: YES. +@@ -691,7 +815,8 @@ FILE_VERSION_FILTER = + # output files in an output format independent way. To create the layout file + # that represents doxygen's defaults, run doxygen with the -l option. You can + # optionally specify a file name after the option, if omitted DoxygenLayout.xml +-# will be used as the name of the layout file. ++# will be used as the name of the layout file. See also section "Changing the ++# layout of pages" for information. + # + # Note that if you run doxygen from a directory containing a file called + # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +@@ -702,7 +827,7 @@ LAYOUT_FILE = + # The CITE_BIB_FILES tag can be used to specify one or more bib files containing + # the reference definitions. This must be a list of .bib files. The .bib + # extension is automatically appended if omitted. This requires the bibtex tool +-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. ++# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. + # For LaTeX the style of the bibliography can be controlled using + # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the + # search path. See also \cite for info how to create references. +@@ -737,23 +862,50 @@ WARNINGS = YES + WARN_IF_UNDOCUMENTED = YES + + # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +-# potential errors in the documentation, such as not documenting some parameters +-# in a documented function, or documenting parameters that don't exist or using +-# markup commands wrongly. ++# potential errors in the documentation, such as documenting some parameters in ++# a documented function twice, or documenting parameters that don't exist or ++# using markup commands wrongly. + # The default value is: YES. + + WARN_IF_DOC_ERROR = YES + ++# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete ++# function parameter documentation. If set to NO, doxygen will accept that some ++# parameters have no documentation without warning. ++# The default value is: YES. ++ ++WARN_IF_INCOMPLETE_DOC = YES ++ + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that + # are documented, but have no documentation for their parameters or return +-# value. If set to NO, doxygen will only warn about wrong or incomplete +-# parameter documentation, but not about the absence of documentation. ++# value. If set to NO, doxygen will only warn about wrong parameter ++# documentation, but not about the absence of documentation. If EXTRACT_ALL is ++# set to YES then this flag will automatically be disabled. See also ++# WARN_IF_INCOMPLETE_DOC + # The default value is: NO. + + WARN_NO_PARAMDOC = YES + ++# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about ++# undocumented enumeration values. If set to NO, doxygen will accept ++# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag ++# will automatically be disabled. ++# The default value is: NO. ++ ++WARN_IF_UNDOC_ENUM_VAL = NO ++ + # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +-# a warning is encountered. ++# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS ++# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but ++# at the end of the doxygen process doxygen will return with a non-zero status. ++# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves ++# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not ++# write the warning messages in between other messages but write them at the end ++# of a run, in case a WARN_LOGFILE is defined the warning messages will be ++# besides being in the defined file also be shown at the end of a run, unless ++# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case ++# the behavior will remain as with the setting FAIL_ON_WARNINGS. ++# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. + # The default value is: NO. + + WARN_AS_ERROR = NO +@@ -764,13 +916,27 @@ WARN_AS_ERROR = NO + # and the warning text. Optionally the format may contain $version, which will + # be replaced by the version of the file (if it could be obtained via + # FILE_VERSION_FILTER) ++# See also: WARN_LINE_FORMAT + # The default value is: $file:$line: $text. + + WARN_FORMAT = "$file:$line: $text" + ++# In the $text part of the WARN_FORMAT command it is possible that a reference ++# to a more specific place is given. To make it easier to jump to this place ++# (outside of doxygen) the user can define a custom "cut" / "paste" string. ++# Example: ++# WARN_LINE_FORMAT = "'vi $file +$line'" ++# See also: WARN_FORMAT ++# The default value is: at line $line of file $file. ++ ++WARN_LINE_FORMAT = "at line $line of file $file" ++ + # The WARN_LOGFILE tag can be used to specify a file to which warning and error + # messages should be written. If left blank the output is written to standard +-# error (stderr). ++# error (stderr). In case the file specified cannot be opened for writing the ++# warning and error messages are written to standard error. When as file - is ++# specified the warning and error messages are written to standard output ++# (stdout). + + WARN_LOGFILE = + +@@ -784,18 +950,33 @@ WARN_LOGFILE = + # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING + # Note: If this tag is empty the current directory is searched. + +-INPUT = README.md src/afu.c src/irq.c src/mmio.c src/setup.c src/include/libocxl.h +- ++INPUT = README.md \ ++ src/afu.c \ ++ src/irq.c \ ++ src/mmio.c \ ++ src/setup.c \ ++ src/include/libocxl.h + + # This tag can be used to specify the character encoding of the source files + # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses + # libiconv (or the iconv built into libc) for the transcoding. See the libiconv +-# documentation (see: http://www.gnu.org/software/libiconv) for the list of +-# possible encodings. ++# documentation (see: ++# https://www.gnu.org/software/libiconv/) for the list of possible encodings. ++# See also: INPUT_FILE_ENCODING + # The default value is: UTF-8. + + INPUT_ENCODING = UTF-8 + ++# This tag can be used to specify the character encoding of the source files ++# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify ++# character encoding on a per file pattern basis. Doxygen will compare the file ++# name with each pattern and apply the encoding instead of the default ++# INPUT_ENCODING) if there is a match. The character encodings are a list of the ++# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding ++# "INPUT_ENCODING" for further information on supported encodings. ++ ++INPUT_FILE_ENCODING = ++ + # If the value of the INPUT tag contains directories, you can use the + # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and + # *.h) to filter out the source-files in the directories. +@@ -804,11 +985,15 @@ INPUT_ENCODING = UTF-8 + # need to set EXTENSION_MAPPING for the extension otherwise the files are not + # read by doxygen. + # +-# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +-# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +-# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +-# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +-# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. ++# Note the list of default checked file patterns might differ from the list of ++# default file extension mappings. ++# ++# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, ++# *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, ++# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, ++# *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to ++# be provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, ++# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. + + FILE_PATTERNS = *.c \ + *.cc \ +@@ -890,10 +1075,7 @@ EXCLUDE_PATTERNS = + # (namespaces, classes, functions, etc.) that should be excluded from the + # output. The symbol name can be a fully qualified name, a word, or if the + # wildcard * is used, a substring. Examples: ANamespace, AClass, +-# AClass::ANamespace, ANamespace::*Test +-# +-# Note that the wildcards are matched against the file with absolute path, so to +-# exclude all test directories use the pattern */test/* ++# ANamespace::AClass, ANamespace::*Test + + EXCLUDE_SYMBOLS = + +@@ -938,6 +1120,11 @@ IMAGE_PATH = + # code is scanned, but not when the output code is generated. If lines are added + # or removed, the anchors will not be placed correctly. + # ++# Note that doxygen will use the data processed and written to standard output ++# for further processing, therefore nothing else, like debug statements or used ++# commands (so in case of a Windows batch file always use @echo OFF), should be ++# written to standard output. ++# + # Note that for custom extensions or not directly supported extensions you also + # need to set EXTENSION_MAPPING for the extension otherwise the files are not + # properly processed by doxygen. +@@ -979,6 +1166,15 @@ FILTER_SOURCE_PATTERNS = + + USE_MDFILE_AS_MAINPAGE = README.md + ++# The Fortran standard specifies that for fixed formatted Fortran code all ++# characters from position 72 are to be considered as comment. A common ++# extension is to allow longer lines before the automatic comment starts. The ++# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can ++# be processed before the automatic comment starts. ++# Minimum value: 7, maximum value: 10000, default value: 72. ++ ++FORTRAN_COMMENT_AFTER = 72 ++ + #--------------------------------------------------------------------------- + # Configuration options related to source browsing + #--------------------------------------------------------------------------- +@@ -993,7 +1189,8 @@ USE_MDFILE_AS_MAINPAGE = README.md + SOURCE_BROWSER = YES + + # Setting the INLINE_SOURCES tag to YES will include the body of functions, +-# classes and enums directly into the documentation. ++# multi-line macros, enums or list initialized variables directly into the ++# documentation. + # The default value is: NO. + + INLINE_SOURCES = NO +@@ -1006,7 +1203,7 @@ INLINE_SOURCES = NO + STRIP_CODE_COMMENTS = YES + + # If the REFERENCED_BY_RELATION tag is set to YES then for each documented +-# function all documented functions referencing it will be listed. ++# entity all documented functions referencing it will be listed. + # The default value is: NO. + + REFERENCED_BY_RELATION = NO +@@ -1038,12 +1235,12 @@ SOURCE_TOOLTIPS = YES + # If the USE_HTAGS tag is set to YES then the references to source code will + # point to the HTML generated by the htags(1) tool instead of doxygen built-in + # source browser. The htags tool is part of GNU's global source tagging system +-# (see http://www.gnu.org/software/global/global.html). You will need version ++# (see https://www.gnu.org/software/global/global.html). You will need version + # 4.8.6 or higher. + # + # To use it do the following: + # - Install the latest version of global +-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file ++# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file + # - Make sure the INPUT points to the root of the source tree + # - Run doxygen as normal + # +@@ -1076,10 +1273,11 @@ VERBATIM_HEADERS = YES + + ALPHABETICAL_INDEX = YES + +-# In case all classes in a project start with a common prefix, all classes will +-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +-# can be used to specify a prefix (or a list of prefixes) that should be ignored +-# while generating the index headers. ++# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) ++# that should be ignored while generating the index headers. The IGNORE_PREFIX ++# tag works for classes, function and member names. The entity will be placed in ++# the alphabetical list under the first letter of the entity name that remains ++# after removing the prefix. + # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + + IGNORE_PREFIX = +@@ -1158,7 +1356,12 @@ HTML_STYLESHEET = + # Doxygen will copy the style sheet files to the output directory. + # Note: The order of the extra style sheet files is of importance (e.g. the last + # style sheet in the list overrules the setting of the previous ones in the +-# list). For an example see the documentation. ++# list). ++# Note: Since the styling of scrollbars can currently not be overruled in ++# Webkit/Chromium, the styling will be left out of the default doxygen.css if ++# one or more extra stylesheets have been specified. So if scrollbar ++# customization is desired it has to be added explicitly. For an example see the ++# documentation. + # This tag requires that the tag GENERATE_HTML is set to YES. + + HTML_EXTRA_STYLESHEET = +@@ -1173,10 +1376,23 @@ HTML_EXTRA_STYLESHEET = + + HTML_EXTRA_FILES = + ++# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output ++# should be rendered with a dark or light theme. ++# Possible values are: LIGHT always generate light mode output, DARK always ++# generate dark mode output, AUTO_LIGHT automatically set the mode according to ++# the user preference, use light mode if no preference is set (the default), ++# AUTO_DARK automatically set the mode according to the user preference, use ++# dark mode if no preference is set and TOGGLE allow to user to switch between ++# light and dark mode via a button. ++# The default value is: AUTO_LIGHT. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_COLORSTYLE = AUTO_LIGHT ++ + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen + # will adjust the colors in the style sheet and background images according to +-# this color. Hue is specified as an angle on a colorwheel, see +-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value ++# this color. Hue is specified as an angle on a color-wheel, see ++# https://en.wikipedia.org/wiki/Hue for more information. For instance the value + # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 + # purple, and 360 is red again. + # Minimum value: 0, maximum value: 359, default value: 220. +@@ -1185,7 +1401,7 @@ HTML_EXTRA_FILES = + HTML_COLORSTYLE_HUE = 220 + + # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +-# in the HTML output. For a value of 0 the output will use grayscales only. A ++# in the HTML output. For a value of 0 the output will use gray-scales only. A + # value of 255 will produce the most vivid colors. + # Minimum value: 0, maximum value: 255, default value: 100. + # This tag requires that the tag GENERATE_HTML is set to YES. +@@ -1203,14 +1419,16 @@ HTML_COLORSTYLE_SAT = 100 + + HTML_COLORSTYLE_GAMMA = 80 + +-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +-# page will contain the date and time when the page was generated. Setting this +-# to YES can help to show when doxygen was last run and thus if the +-# documentation is up to date. +-# The default value is: NO. ++# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML ++# documentation will contain a main index with vertical navigation menus that ++# are dynamically created via JavaScript. If disabled, the navigation index will ++# consists of multiple levels of tabs that are statically embedded in every HTML ++# page. Disable this option to support browsers that do not have JavaScript, ++# like the Qt help browser. ++# The default value is: YES. + # This tag requires that the tag GENERATE_HTML is set to YES. + +-HTML_TIMESTAMP = NO ++HTML_DYNAMIC_MENUS = YES + + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML + # documentation will contain sections that can be hidden and shown after the +@@ -1220,6 +1438,33 @@ HTML_TIMESTAMP = NO + + HTML_DYNAMIC_SECTIONS = NO + ++# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be ++# dynamically folded and expanded in the generated HTML source code. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_CODE_FOLDING = YES ++ ++# If the HTML_COPY_CLIPBOARD tag is set to YES then doxygen will show an icon in ++# the top right corner of code and text fragments that allows the user to copy ++# its content to the clipboard. Note this only works if supported by the browser ++# and the web page is served via a secure context (see: ++# https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: ++# protocol. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_COPY_CLIPBOARD = YES ++ ++# Doxygen stores a couple of settings persistently in the browser (via e.g. ++# cookies). By default these settings apply to all HTML pages generated by ++# doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store ++# the settings under a project specific key, such that the user preferences will ++# be stored separately. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_PROJECT_COOKIE = ++ + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries + # shown in the various tree structured indices initially; the user can expand + # and collapse entries dynamically later on. Doxygen will expand the tree to +@@ -1235,13 +1480,14 @@ HTML_INDEX_NUM_ENTRIES = 100 + + # If the GENERATE_DOCSET tag is set to YES, additional index files will be + # generated that can be used as input for Apple's Xcode 3 integrated development +-# environment (see: http://developer.apple.com/tools/xcode/), introduced with +-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +-# Makefile in the HTML output directory. Running make will produce the docset in +-# that directory and running make install will install the docset in ++# environment (see: ++# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To ++# create a documentation set, doxygen will generate a Makefile in the HTML ++# output directory. Running make will produce the docset in that directory and ++# running make install will install the docset in + # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +-# for more information. ++# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy ++# genXcode/_index.html for more information. + # The default value is: NO. + # This tag requires that the tag GENERATE_HTML is set to YES. + +@@ -1255,6 +1501,13 @@ GENERATE_DOCSET = NO + + DOCSET_FEEDNAME = "Doxygen generated docs" + ++# This tag determines the URL of the docset feed. A documentation feed provides ++# an umbrella under which multiple documentation sets from a single provider ++# (such as a company or product suite) can be grouped. ++# This tag requires that the tag GENERATE_DOCSET is set to YES. ++ ++DOCSET_FEEDURL = ++ + # This tag specifies a string that should uniquely identify the documentation + # set bundle. This should be a reverse domain-name style string, e.g. + # com.mycompany.MyDocSet. Doxygen will append .docset to the name. +@@ -1280,8 +1533,12 @@ DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three + # additional HTML index files: index.hhp, index.hhc, and index.hhk. The + # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +-# Windows. ++# on Windows. In the beginning of 2021 Microsoft took the original page, with ++# a.o. the download links, offline the HTML help workshop was already many years ++# in maintenance mode). You can download the HTML help workshop from the web ++# archives at Installation executable (see: ++# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo ++# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). + # + # The HTML Help Workshop contains a compiler that can convert all HTML output + # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +@@ -1311,7 +1568,7 @@ CHM_FILE = + HHC_LOCATION = + + # The GENERATE_CHI flag controls if a separate .chi index file is generated +-# (YES) or that it should be included in the master .chm file (NO). ++# (YES) or that it should be included in the main .chm file (NO). + # The default value is: NO. + # This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +@@ -1338,6 +1595,16 @@ BINARY_TOC = NO + + TOC_EXPAND = NO + ++# The SITEMAP_URL tag is used to specify the full URL of the place where the ++# generated documentation will be placed on the server by the user during the ++# deployment of the documentation. The generated sitemap is called sitemap.xml ++# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL ++# is specified no sitemap is generated. For information about the sitemap ++# protocol see https://www.sitemaps.org ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++SITEMAP_URL = ++ + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and + # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that + # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +@@ -1356,7 +1623,8 @@ QCH_FILE = + + # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help + # Project output. For more information please see Qt Help Project / Namespace +-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). ++# (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). + # The default value is: org.doxygen.Project. + # This tag requires that the tag GENERATE_QHP is set to YES. + +@@ -1364,8 +1632,8 @@ QHP_NAMESPACE = org.doxygen.Project + + # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt + # Help Project output. For more information please see Qt Help Project / Virtual +-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +-# folders). ++# Folders (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). + # The default value is: doc. + # This tag requires that the tag GENERATE_QHP is set to YES. + +@@ -1373,30 +1641,30 @@ QHP_VIRTUAL_FOLDER = doc + + # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom + # filter to add. For more information please see Qt Help Project / Custom +-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +-# filters). ++# Filters (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_CUST_FILTER_NAME = + + # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the + # custom filter to add. For more information please see Qt Help Project / Custom +-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +-# filters). ++# Filters (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_CUST_FILTER_ATTRS = + + # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this + # project's filter section matches. Qt Help Project / Filter Attributes (see: +-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_SECT_FILTER_ATTRS = + +-# The QHG_LOCATION tag can be used to specify the location of Qt's +-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +-# generated .qhp file. ++# The QHG_LOCATION tag can be used to specify the location (absolute path ++# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to ++# run qhelpgenerator on the generated .qhp file. + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHG_LOCATION = +@@ -1439,16 +1707,28 @@ DISABLE_INDEX = NO + # to work a browser that supports JavaScript, DHTML, CSS and frames is required + # (i.e. any modern browser). Windows users are probably better off using the + # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +-# further fine-tune the look of the index. As an example, the default style +-# sheet generated by doxygen has an example that shows how to put an image at +-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +-# the same information as the tab index, you could consider setting +-# DISABLE_INDEX to YES when enabling this option. ++# further fine tune the look of the index (see "Fine-tuning the output"). As an ++# example, the default style sheet generated by doxygen has an example that ++# shows how to put an image at the root of the tree instead of the PROJECT_NAME. ++# Since the tree basically has the same information as the tab index, you could ++# consider setting DISABLE_INDEX to YES when enabling this option. + # The default value is: NO. + # This tag requires that the tag GENERATE_HTML is set to YES. + + GENERATE_TREEVIEW = NO + ++# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the ++# FULL_SIDEBAR option determines if the side bar is limited to only the treeview ++# area (value NO) or if it should extend to the full height of the window (value ++# YES). Setting this to YES gives a layout similar to ++# https://docs.readthedocs.io with more room for contents, but less room for the ++# project logo, title, and description. If either GENERATE_TREEVIEW or ++# DISABLE_INDEX is set to NO, this option has no effect. ++# The default value is: NO. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++FULL_SIDEBAR = NO ++ + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that + # doxygen will group on one line in the generated HTML documentation. + # +@@ -1473,6 +1753,24 @@ TREEVIEW_WIDTH = 250 + + EXT_LINKS_IN_WINDOW = NO + ++# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email ++# addresses. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++OBFUSCATE_EMAILS = YES ++ ++# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg ++# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see ++# https://inkscape.org) to generate formulas as SVG images instead of PNGs for ++# the HTML output. These images will generally look nicer at scaled resolutions. ++# Possible values are: png (the default) and svg (looks nicer but requires the ++# pdf2svg or inkscape tool). ++# The default value is: png. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_FORMULA_FORMAT = png ++ + # Use this tag to change the font size of LaTeX formulas included as images in + # the HTML documentation. When you change the font size after a successful + # doxygen run you need to manually remove any form_*.png images from the HTML +@@ -1482,19 +1780,14 @@ EXT_LINKS_IN_WINDOW = NO + + FORMULA_FONTSIZE = 10 + +-# Use the FORMULA_TRANPARENT tag to determine whether or not the images +-# generated for formulas are transparent PNGs. Transparent PNGs are not +-# supported properly for IE 6.0, but are supported on all modern browsers. +-# +-# Note that when changing this option you need to delete any form_*.png files in +-# the HTML output directory before the changes have effect. +-# The default value is: YES. +-# This tag requires that the tag GENERATE_HTML is set to YES. ++# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands ++# to create new LaTeX commands to be used in formulas as building blocks. See ++# the section "Including formulas" for details. + +-FORMULA_TRANSPARENT = YES ++FORMULA_MACROFILE = + + # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +-# http://www.mathjax.org) which uses client side Javascript for the rendering ++# https://www.mathjax.org) which uses client side JavaScript for the rendering + # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX + # installed or if you want to formulas look prettier in the HTML output. When + # enabled you may also need to install MathJax separately and configure the path +@@ -1504,11 +1797,29 @@ FORMULA_TRANSPARENT = YES + + USE_MATHJAX = NO + ++# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. ++# Note that the different versions of MathJax have different requirements with ++# regards to the different settings, so it is possible that also other MathJax ++# settings have to be changed when switching between the different MathJax ++# versions. ++# Possible values are: MathJax_2 and MathJax_3. ++# The default value is: MathJax_2. ++# This tag requires that the tag USE_MATHJAX is set to YES. ++ ++MATHJAX_VERSION = MathJax_2 ++ + # When MathJax is enabled you can set the default output format to be used for +-# the MathJax output. See the MathJax site (see:SOURCE_BRO +-# http://docs.mathjax.org/en/latest/output.html) for more details. ++# the MathJax output. For more details about the output format see MathJax ++# version 2 (see: ++# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 ++# (see: ++# http://docs.mathjax.org/en/latest/web/components/output.html). + # Possible values are: HTML-CSS (which is slower, but has the best +-# compatibility), NativeMML (i.e. MathML) and SVG. ++# compatibility. This is the name for Mathjax version 2, for MathJax version 3 ++# this will be translated into chtml), NativeMML (i.e. MathML. Only supported ++# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This ++# is the name for Mathjax version 3, for MathJax version 2 this will be ++# translated into HTML-CSS) and SVG. + # The default value is: HTML-CSS. + # This tag requires that the tag USE_MATHJAX is set to YES. + +@@ -1521,22 +1832,29 @@ MATHJAX_FORMAT = HTML-CSS + # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax + # Content Delivery Network so you can quickly see the result without installing + # MathJax. However, it is strongly recommended to install a local copy of +-# MathJax from http://www.mathjax.org before deployment. +-# The default value is: http://cdn.mathjax.org/mathjax/latest. ++# MathJax from https://www.mathjax.org before deployment. The default value is: ++# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 ++# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 + # This tag requires that the tag USE_MATHJAX is set to YES. + + MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example ++# for MathJax version 2 (see ++# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): + # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols ++# For example for MathJax version 3 (see ++# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): ++# MATHJAX_EXTENSIONS = ams + # This tag requires that the tag USE_MATHJAX is set to YES. + + MATHJAX_EXTENSIONS = + + # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces + # of code that will be used on startup of the MathJax code. See the MathJax site +-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an ++# (see: ++# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an + # example see the documentation. + # This tag requires that the tag USE_MATHJAX is set to YES. + +@@ -1564,7 +1882,7 @@ MATHJAX_CODEFILE = + SEARCHENGINE = YES + + # When the SERVER_BASED_SEARCH tag is enabled the search engine will be +-# implemented using a web server instead of a web client using Javascript. There ++# implemented using a web server instead of a web client using JavaScript. There + # are two flavors of web server based searching depending on the EXTERNAL_SEARCH + # setting. When disabled, doxygen will generate a PHP script for searching and + # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +@@ -1583,7 +1901,8 @@ SERVER_BASED_SEARCH = NO + # + # Doxygen ships with an example indexer (doxyindexer) and search engine + # (doxysearch.cgi) which are based on the open source search engine library +-# Xapian (see: http://xapian.org/). ++# Xapian (see: ++# https://xapian.org/). + # + # See the section "External Indexing and Searching" for details. + # The default value is: NO. +@@ -1596,8 +1915,9 @@ EXTERNAL_SEARCH = NO + # + # Doxygen ships with an example indexer (doxyindexer) and search engine + # (doxysearch.cgi) which are based on the open source search engine library +-# Xapian (see: http://xapian.org/). See the section "External Indexing and +-# Searching" for details. ++# Xapian (see: ++# https://xapian.org/). See the section "External Indexing and Searching" for ++# details. + # This tag requires that the tag SEARCHENGINE is set to YES. + + SEARCHENGINE_URL = +@@ -1648,21 +1968,35 @@ LATEX_OUTPUT = latex + # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be + # invoked. + # +-# Note that when enabling USE_PDFLATEX this option is only used for generating +-# bitmaps for formulas in the HTML output, but not in the Makefile that is +-# written to the output directory. +-# The default file is: latex. ++# Note that when not enabling USE_PDFLATEX the default is latex when enabling ++# USE_PDFLATEX the default is pdflatex and when in the later case latex is ++# chosen this is overwritten by pdflatex. For specific output languages the ++# default can have been set differently, this depends on the implementation of ++# the output language. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_CMD_NAME = latex + + # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate + # index for LaTeX. ++# Note: This tag is used in the Makefile / make.bat. ++# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file ++# (.tex). + # The default file is: makeindex. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + MAKEINDEX_CMD_NAME = makeindex + ++# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to ++# generate index for LaTeX. In case there is no backslash (\) as first character ++# it will be automatically added in the LaTeX code. ++# Note: This tag is used in the generated output file (.tex). ++# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. ++# The default value is: makeindex. ++# This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++LATEX_MAKEINDEX_CMD = makeindex ++ + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX + # documents. This may be useful for small projects and may help to save some + # trees in general. +@@ -1692,29 +2026,31 @@ PAPER_TYPE = a4 + + EXTRA_PACKAGES = + +-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the +-# generated LaTeX document. The header should contain everything until the first +-# chapter. If it is left blank doxygen will generate a standard header. See +-# section "Doxygen usage" for information on how to let doxygen write the +-# default header to a separate file. ++# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for ++# the generated LaTeX document. The header should contain everything until the ++# first chapter. If it is left blank doxygen will generate a standard header. It ++# is highly recommended to start with a default header using ++# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty ++# and then modify the file new_header.tex. See also section "Doxygen usage" for ++# information on how to generate the default header that doxygen normally uses. + # +-# Note: Only use a user-defined header if you know what you are doing! The +-# following commands have a special meaning inside the header: $title, +-# $datetime, $date, $doxygenversion, $projectname, $projectnumber, +-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty +-# string, for the replacement values of the other commands the user is referred +-# to HTML_HEADER. ++# Note: Only use a user-defined header if you know what you are doing! ++# Note: The header is subject to change so you typically have to regenerate the ++# default header when upgrading to a newer version of doxygen. The following ++# commands have a special meaning inside the header (and footer): For a ++# description of the possible markers and block names see the documentation. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_HEADER = + +-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the +-# generated LaTeX document. The footer should contain everything after the last +-# chapter. If it is left blank doxygen will generate a standard footer. See ++# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for ++# the generated LaTeX document. The footer should contain everything after the ++# last chapter. If it is left blank doxygen will generate a standard footer. See + # LATEX_HEADER for more information on how to generate a default footer and what +-# special commands can be used inside the footer. +-# +-# Note: Only use a user-defined footer if you know what you are doing! ++# special commands can be used inside the footer. See also section "Doxygen ++# usage" for information on how to generate the default footer that doxygen ++# normally uses. Note: Only use a user-defined footer if you know what you are ++# doing! + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_FOOTER = +@@ -1747,18 +2083,26 @@ LATEX_EXTRA_FILES = + + PDF_HYPERLINKS = YES + +-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate +-# the PDF file directly from the LaTeX files. Set this option to YES, to get a +-# higher quality PDF documentation. ++# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as ++# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX ++# files. Set this option to YES, to get a higher quality PDF documentation. ++# ++# See also section LATEX_CMD_NAME for selecting the engine. + # The default value is: YES. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + USE_PDFLATEX = YES + +-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode +-# command to the generated LaTeX files. This will instruct LaTeX to keep running +-# if errors occur, instead of asking the user for help. This option is also used +-# when generating formulas in HTML. ++# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. ++# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch ++# mode nothing is printed on the terminal, errors are scrolled as if is ++# hit at every error; missing files that TeX tries to input or request from ++# keyboard input (\read on a not open input stream) cause the job to abort, ++# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, ++# but there is no possibility of user interaction just like in batch mode, ++# SCROLL In scroll mode, TeX will stop only for missing files to input or if ++# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at ++# each error, asking for user intervention. + # The default value is: NO. + # This tag requires that the tag GENERATE_LATEX is set to YES. + +@@ -1771,31 +2115,21 @@ LATEX_BATCHMODE = NO + + LATEX_HIDE_INDICES = NO + +-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source +-# code with syntax highlighting in the LaTeX output. +-# +-# Note that which sources are shown also depends on other settings such as +-# SOURCE_BROWSER. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_LATEX is set to YES. +- +-LATEX_SOURCE_CODE = NO +- + # The LATEX_BIB_STYLE tag can be used to specify the style to use for the + # bibliography, e.g. plainnat, or ieeetr. See +-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. ++# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. + # The default value is: plain. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_BIB_STYLE = plain + +-# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +-# page will contain the date and time when the page was generated. Setting this +-# to NO can help when comparing the output of multiple runs. +-# The default value is: NO. ++# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) ++# path from which the emoji images will be read. If a relative path is entered, ++# it will be relative to the LATEX_OUTPUT directory. If left blank the ++# LATEX_OUTPUT directory will be used. + # This tag requires that the tag GENERATE_LATEX is set to YES. + +-LATEX_TIMESTAMP = NO ++LATEX_EMOJI_DIRECTORY = + + #--------------------------------------------------------------------------- + # Configuration options related to the RTF output +@@ -1836,9 +2170,9 @@ COMPACT_RTF = NO + + RTF_HYPERLINKS = NO + +-# Load stylesheet definitions from file. Syntax is similar to doxygen's config +-# file, i.e. a series of assignments. You only have to provide replacements, +-# missing definitions are set to their default value. ++# Load stylesheet definitions from file. Syntax is similar to doxygen's ++# configuration file, i.e. a series of assignments. You only have to provide ++# replacements, missing definitions are set to their default value. + # + # See also section "Doxygen usage" for information on how to generate the + # default style sheet that doxygen normally uses. +@@ -1847,22 +2181,12 @@ RTF_HYPERLINKS = NO + RTF_STYLESHEET_FILE = + + # Set optional variables used in the generation of an RTF document. Syntax is +-# similar to doxygen's config file. A template extensions file can be generated +-# using doxygen -e rtf extensionFile. ++# similar to doxygen's configuration file. A template extensions file can be ++# generated using doxygen -e rtf extensionFile. + # This tag requires that the tag GENERATE_RTF is set to YES. + + RTF_EXTENSIONS_FILE = + +-# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code +-# with syntax highlighting in the RTF output. +-# +-# Note that which sources are shown also depends on other settings such as +-# SOURCE_BROWSER. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_RTF is set to YES. +- +-RTF_SOURCE_CODE = NO +- + #--------------------------------------------------------------------------- + # Configuration options related to the man page output + #--------------------------------------------------------------------------- +@@ -1934,6 +2258,13 @@ XML_OUTPUT = xml + + XML_PROGRAMLISTING = YES + ++# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include ++# namespace members in file scope as well, matching the HTML output. ++# The default value is: NO. ++# This tag requires that the tag GENERATE_XML is set to YES. ++ ++XML_NS_MEMB_FILE_SCOPE = NO ++ + #--------------------------------------------------------------------------- + # Configuration options related to the DOCBOOK output + #--------------------------------------------------------------------------- +@@ -1952,27 +2283,44 @@ GENERATE_DOCBOOK = NO + + DOCBOOK_OUTPUT = docbook + +-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the +-# program listings (including syntax highlighting and cross-referencing +-# information) to the DOCBOOK output. Note that enabling this will significantly +-# increase the size of the DOCBOOK output. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_DOCBOOK is set to YES. +- +-DOCBOOK_PROGRAMLISTING = NO +- + #--------------------------------------------------------------------------- + # Configuration options for the AutoGen Definitions output + #--------------------------------------------------------------------------- + + # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +-# AutoGen Definitions (see http://autogen.sf.net) file that captures the +-# structure of the code including all documentation. Note that this feature is +-# still experimental and incomplete at the moment. ++# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures ++# the structure of the code including all documentation. Note that this feature ++# is still experimental and incomplete at the moment. + # The default value is: NO. + + GENERATE_AUTOGEN_DEF = NO + ++#--------------------------------------------------------------------------- ++# Configuration options related to Sqlite3 output ++#--------------------------------------------------------------------------- ++ ++# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 ++# database with symbols found by doxygen stored in tables. ++# The default value is: NO. ++ ++GENERATE_SQLITE3 = NO ++ ++# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be ++# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put ++# in front of it. ++# The default directory is: sqlite3. ++# This tag requires that the tag GENERATE_SQLITE3 is set to YES. ++ ++SQLITE3_OUTPUT = sqlite3 ++ ++# The SQLITE3_RECREATE_DB tag is set to YES, the existing doxygen_sqlite3.db ++# database file will be recreated with each doxygen run. If set to NO, doxygen ++# will warn if a database file is already found and not modify it. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_SQLITE3 is set to YES. ++ ++SQLITE3_RECREATE_DB = YES ++ + #--------------------------------------------------------------------------- + # Configuration options related to the Perl module output + #--------------------------------------------------------------------------- +@@ -2047,7 +2395,8 @@ SEARCH_INCLUDES = YES + + # The INCLUDE_PATH tag can be used to specify one or more directories that + # contain include files that are not input files but should be processed by the +-# preprocessor. ++# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of ++# RECURSIVE has no effect here. + # This tag requires that the tag SEARCH_INCLUDES is set to YES. + + INCLUDE_PATH = +@@ -2068,7 +2417,9 @@ INCLUDE_FILE_PATTERNS = + # recursively expanded use the := operator instead of the = operator. + # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +-PREDEFINED = _ARCH_PPC64 _DOXYGEN_ LIBOCXL_WARN_UNUSED= ++PREDEFINED = _ARCH_PPC64 \ ++ _DOXYGEN_ \ ++ LIBOCXL_WARN_UNUSED= + + # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this + # tag can be used to specify a list of macro names that should be expanded. The +@@ -2114,15 +2465,15 @@ TAGFILES = + + GENERATE_TAGFILE = + +-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +-# the class index. If set to NO, only the inherited external classes will be +-# listed. ++# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces ++# will be listed in the class and namespace index. If set to NO, only the ++# inherited external classes will be listed. + # The default value is: NO. + + ALLEXTERNALS = NO + + # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +-# in the modules index. If set to NO, only the current project's groups will be ++# in the topic index. If set to NO, only the current project's groups will be + # listed. + # The default value is: YES. + +@@ -2136,25 +2487,9 @@ EXTERNAL_GROUPS = YES + EXTERNAL_PAGES = YES + + #--------------------------------------------------------------------------- +-# Configuration options related to the dot tool ++# Configuration options related to diagram generator tools + #--------------------------------------------------------------------------- + +-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram +-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to +-# NO turns the diagrams off. Note that this option also works with HAVE_DOT +-# disabled, but it is recommended to install and use dot, since it yields more +-# powerful graphs. +-# The default value is: YES. +- +-CLASS_DIAGRAMS = YES +- +-# You can include diagrams made with dia in doxygen documentation. Doxygen will +-# then run dia to produce the diagram and insert it in the documentation. The +-# DIA_PATH tag allows you to specify the directory where the dia binary resides. +-# If left empty dia is assumed to be found in the default search path. +- +-DIA_PATH = +- + # If set to YES the inheritance and collaboration graphs will hide inheritance + # and usage relations if the target is undocumented or is not a class. + # The default value is: YES. +@@ -2163,7 +2498,7 @@ HIDE_UNDOC_RELATIONS = YES + + # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is + # available from the path. This tool is part of Graphviz (see: +-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent ++# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent + # Bell Labs. The other options in this section have no effect if this option is + # set to NO + # The default value is: NO. +@@ -2180,49 +2515,77 @@ HAVE_DOT = NO + + DOT_NUM_THREADS = 0 + +-# When you want a differently looking font in the dot files that doxygen +-# generates you can specify the font name using DOT_FONTNAME. You need to make +-# sure dot is able to find the font, which can be done by putting it in a +-# standard location or by setting the DOTFONTPATH environment variable or by +-# setting DOT_FONTPATH to the directory containing the font. +-# The default value is: Helvetica. ++# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of ++# subgraphs. When you want a differently looking font in the dot files that ++# doxygen generates you can specify fontname, fontcolor and fontsize attributes. ++# For details please see Node, ++# Edge and Graph Attributes specification You need to make sure dot is able ++# to find the font, which can be done by putting it in a standard location or by ++# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the ++# directory containing the font. Default graphviz fontsize is 14. ++# The default value is: fontname=Helvetica,fontsize=10. ++# This tag requires that the tag HAVE_DOT is set to YES. ++ ++DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" ++ ++# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can ++# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about ++# arrows shapes. ++# The default value is: labelfontname=Helvetica,labelfontsize=10. + # This tag requires that the tag HAVE_DOT is set to YES. + +-DOT_FONTNAME = Helvetica ++DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" + +-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of +-# dot graphs. +-# Minimum value: 4, maximum value: 24, default value: 10. ++# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes ++# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification ++# The default value is: shape=box,height=0.2,width=0.4. + # This tag requires that the tag HAVE_DOT is set to YES. + +-DOT_FONTSIZE = 10 ++DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +-# By default doxygen will tell dot to use the default font as specified with +-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set +-# the path where dot can find it using this tag. ++# You can set the path where dot can find font specified with fontname in ++# DOT_COMMON_ATTR and others dot attributes. + # This tag requires that the tag HAVE_DOT is set to YES. + + DOT_FONTPATH = + +-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for +-# each documented class showing the direct and indirect inheritance relations. +-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. ++# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will ++# generate a graph for each documented class showing the direct and indirect ++# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and ++# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case ++# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the ++# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. ++# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance ++# relations will be shown as texts / links. Explicit enabling an inheritance ++# graph or choosing a different representation for an inheritance graph of a ++# specific class, can be accomplished by means of the command \inheritancegraph. ++# Disabling an inheritance graph can be accomplished by means of the command ++# \hideinheritancegraph. ++# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. + # The default value is: YES. +-# This tag requires that the tag HAVE_DOT is set to YES. + + CLASS_GRAPH = YES + + # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a + # graph for each documented class showing the direct and indirect implementation + # dependencies (inheritance, containment, and class references variables) of the +-# class with other documented classes. ++# class with other documented classes. Explicit enabling a collaboration graph, ++# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the ++# command \collaborationgraph. Disabling a collaboration graph can be ++# accomplished by means of the command \hidecollaborationgraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + COLLABORATION_GRAPH = YES + + # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for +-# groups, showing the direct groups dependencies. ++# groups, showing the direct groups dependencies. Explicit enabling a group ++# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means ++# of the command \groupgraph. Disabling a directory graph can be accomplished by ++# means of the command \hidegroupgraph. See also the chapter Grouping in the ++# manual. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2245,10 +2608,32 @@ UML_LOOK = NO + # but if the number exceeds 15, the total amount of fields shown is limited to + # 10. + # Minimum value: 0, maximum value: 100, default value: 10. +-# This tag requires that the tag HAVE_DOT is set to YES. ++# This tag requires that the tag UML_LOOK is set to YES. + + UML_LIMIT_NUM_FIELDS = 10 + ++# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and ++# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS ++# tag is set to YES, doxygen will add type and arguments for attributes and ++# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen ++# will not generate fields with class member information in the UML graphs. The ++# class diagrams will look similar to the default class diagrams but using UML ++# notation for the relationships. ++# Possible values are: NO, YES and NONE. ++# The default value is: NO. ++# This tag requires that the tag UML_LOOK is set to YES. ++ ++DOT_UML_DETAILS = NO ++ ++# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters ++# to display on a single line. If the actual line length exceeds this threshold ++# significantly it will be wrapped across multiple lines. Some heuristics are ++# applied to avoid ugly line breaks. ++# Minimum value: 0, maximum value: 1000, default value: 17. ++# This tag requires that the tag HAVE_DOT is set to YES. ++ ++DOT_WRAP_THRESHOLD = 17 ++ + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and + # collaboration graphs will show the relations between templates and their + # instances. +@@ -2260,7 +2645,9 @@ TEMPLATE_RELATIONS = NO + # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to + # YES then doxygen will generate a graph for each documented file showing the + # direct and indirect include dependencies of the file with other documented +-# files. ++# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, ++# can be accomplished by means of the command \includegraph. Disabling an ++# include graph can be accomplished by means of the command \hideincludegraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2269,7 +2656,10 @@ INCLUDE_GRAPH = YES + # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are + # set to YES then doxygen will generate a graph for each documented file showing + # the direct and indirect include dependencies of the file with other documented +-# files. ++# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set ++# to NO, can be accomplished by means of the command \includedbygraph. Disabling ++# an included by graph can be accomplished by means of the command ++# \hideincludedbygraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2309,16 +2699,26 @@ GRAPHICAL_HIERARCHY = YES + # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the + # dependencies a directory has on other directories in a graphical way. The + # dependency relations are determined by the #include relations between the +-# files in the directories. ++# files in the directories. Explicit enabling a directory graph, when ++# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command ++# \directorygraph. Disabling a directory graph can be accomplished by means of ++# the command \hidedirectorygraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + DIRECTORY_GRAPH = YES + ++# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels ++# of child directories generated in directory dependency graphs by dot. ++# Minimum value: 1, maximum value: 25, default value: 1. ++# This tag requires that the tag DIRECTORY_GRAPH is set to YES. ++ ++DIR_GRAPH_MAX_DEPTH = 1 ++ + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images + # generated by dot. For an explanation of the image formats see the section + # output formats in the documentation of the dot tool (Graphviz (see: +-# http://www.graphviz.org/)). ++# https://www.graphviz.org/)). + # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order + # to make the SVG files visible in IE 9+ (other browsers do not have this + # requirement). +@@ -2355,11 +2755,12 @@ DOT_PATH = + + DOTFILE_DIRS = + +-# The MSCFILE_DIRS tag can be used to specify one or more directories that +-# contain msc files that are included in the documentation (see the \mscfile +-# command). ++# You can include diagrams made with dia in doxygen documentation. Doxygen will ++# then run dia to produce the diagram and insert it in the documentation. The ++# DIA_PATH tag allows you to specify the directory where the dia binary resides. ++# If left empty dia is assumed to be found in the default search path. + +-MSCFILE_DIRS = ++DIA_PATH = + + # The DIAFILE_DIRS tag can be used to specify one or more directories that + # contain dia files that are included in the documentation (see the \diafile +@@ -2368,10 +2769,10 @@ MSCFILE_DIRS = + DIAFILE_DIRS = + + # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +-# path where java can find the plantuml.jar file. If left blank, it is assumed +-# PlantUML is not used or called during a preprocessing step. Doxygen will +-# generate a warning when it encounters a \startuml command in this case and +-# will not generate output for the diagram. ++# path where java can find the plantuml.jar file or to the filename of jar file ++# to be used. If left blank, it is assumed PlantUML is not used or called during ++# a preprocessing step. Doxygen will generate a warning when it encounters a ++# \startuml command in this case and will not generate output for the diagram. + + PLANTUML_JAR_PATH = + +@@ -2409,18 +2810,6 @@ DOT_GRAPH_MAX_NODES = 50 + + MAX_DOT_GRAPH_DEPTH = 0 + +-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +-# background. This is disabled by default, because dot on Windows does not seem +-# to support this out of the box. +-# +-# Warning: Depending on the platform used, enabling this option may lead to +-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +-# read). +-# The default value is: NO. +-# This tag requires that the tag HAVE_DOT is set to YES. +- +-DOT_TRANSPARENT = NO +- + # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output + # files in one run (i.e. multiple -o and -T options on the command line). This + # makes dot run faster, but since only newer versions of dot (>1.8.10) support +@@ -2433,14 +2822,34 @@ DOT_MULTI_TARGETS = NO + # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page + # explaining the meaning of the various boxes and arrows in the dot generated + # graphs. ++# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal ++# graphical representation for inheritance and collaboration diagrams is used. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + GENERATE_LEGEND = YES + +-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot ++# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate + # files that are used to generate the various graphs. ++# ++# Note: This setting is not only used for dot files but also for msc temporary ++# files. + # The default value is: YES. +-# This tag requires that the tag HAVE_DOT is set to YES. + + DOT_CLEANUP = YES ++ ++# You can define message sequence charts within doxygen comments using the \msc ++# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will ++# use a built-in version of mscgen tool to produce the charts. Alternatively, ++# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, ++# specifying prog as the value, doxygen will call the tool as prog -T ++# -o . The external tool should support ++# output file formats "png", "eps", "svg", and "ismap". ++ ++MSCGEN_TOOL = ++ ++# The MSCFILE_DIRS tag can be used to specify one or more directories that ++# contain msc files that are included in the documentation (see the \mscfile ++# command). ++ ++MSCFILE_DIRS = +diff --git a/Doxyfile-man b/Doxyfile-man +index f3c33c8..f087108 100644 +--- a/Doxyfile-man ++++ b/Doxyfile-man +@@ -1,4 +1,4 @@ +-# Doxyfile 1.8.13 ++# Doxyfile 1.10.0 + + # This file describes the settings to be used by the documentation system + # doxygen (www.doxygen.org) for a project. +@@ -12,16 +12,26 @@ + # For lists, items can also be appended using: + # TAG += value [value, ...] + # Values that contain spaces should be placed between quotes (\" \"). ++# ++# Note: ++# ++# Use doxygen to compare the used configuration file with the template ++# configuration file: ++# doxygen -x [configFile] ++# Use doxygen to compare the used configuration file with the template ++# configuration file without replacing the environment variables or CMake type ++# replacement variables: ++# doxygen -x_noenv [configFile] + + #--------------------------------------------------------------------------- + # Project related configuration options + #--------------------------------------------------------------------------- + +-# This tag specifies the encoding used for all characters in the config file +-# that follow. The default is UTF-8 which is also the encoding used for all text +-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +-# for the list of possible encodings. ++# This tag specifies the encoding used for all characters in the configuration ++# file that follow. The default is UTF-8 which is also the encoding used for all ++# text before the first occurrence of this tag. Doxygen uses libiconv (or the ++# iconv built into libc) for the transcoding. See ++# https://www.gnu.org/software/libiconv/ for the list of possible encodings. + # The default value is: UTF-8. + + DOXYFILE_ENCODING = UTF-8 +@@ -53,6 +63,12 @@ PROJECT_BRIEF = + + PROJECT_LOGO = + ++# With the PROJECT_ICON tag one can specify an icon that is included in the tabs ++# when the HTML document is shown. Doxygen will copy the logo to the output ++# directory. ++ ++PROJECT_ICON = ++ + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path + # into which the generated documentation will be written. If a relative path is + # entered, it will be relative to the location where doxygen was started. If +@@ -60,16 +76,28 @@ PROJECT_LOGO = + + OUTPUT_DIRECTORY = docs + +-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +-# directories (in 2 levels) under the output directory of each output format and +-# will distribute the generated files over these directories. Enabling this ++# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 ++# sub-directories (in 2 levels) under the output directory of each output format ++# and will distribute the generated files over these directories. Enabling this + # option can be useful when feeding doxygen a huge amount of source files, where + # putting all generated files in the same directory would otherwise causes +-# performance problems for the file system. ++# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to ++# control the number of sub-directories. + # The default value is: NO. + + CREATE_SUBDIRS = NO + ++# Controls the number of sub-directories that will be created when ++# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every ++# level increment doubles the number of directories, resulting in 4096 ++# directories at level 8 which is the default and also the maximum value. The ++# sub-directories are organized in 2 levels, the first level always has a fixed ++# number of 16 directories. ++# Minimum value: 0, maximum value: 8, default value: 8. ++# This tag requires that the tag CREATE_SUBDIRS is set to YES. ++ ++CREATE_SUBDIRS_LEVEL = 8 ++ + # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII + # characters to appear in the names of generated files. If set to NO, non-ASCII + # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +@@ -81,14 +109,14 @@ ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all + # documentation generated by doxygen is written. Doxygen will use this + # information to generate all constant output in the proper language. +-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +-# Ukrainian and Vietnamese. ++# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, ++# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English ++# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, ++# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with ++# English messages), Korean, Korean-en (Korean with English messages), Latvian, ++# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, ++# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, ++# Swedish, Turkish, Ukrainian and Vietnamese. + # The default value is: English. + + OUTPUT_LANGUAGE = English +@@ -162,7 +190,8 @@ FULL_PATH_NAMES = NO + # will be relative from the directory where doxygen is started. + # This tag requires that the tag FULL_PATH_NAMES is set to YES. + +-STRIP_FROM_PATH = src src/include ++STRIP_FROM_PATH = src \ ++ src/include + + # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the + # path mentioned in the documentation of a class, which tells the reader which +@@ -189,6 +218,16 @@ SHORT_NAMES = NO + + JAVADOC_AUTOBRIEF = YES + ++# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line ++# such as ++# /*************** ++# as being the beginning of a Javadoc-style comment "banner". If set to NO, the ++# Javadoc-style will behave just like regular comments and it will not be ++# interpreted by doxygen. ++# The default value is: NO. ++ ++JAVADOC_BANNER = NO ++ + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first + # line (until the first dot) of a Qt-style comment as the brief description. If + # set to NO, the Qt-style will behave just like regular Qt-style comments (thus +@@ -209,6 +248,14 @@ QT_AUTOBRIEF = NO + + MULTILINE_CPP_IS_BRIEF = NO + ++# By default Python docstrings are displayed as preformatted text and doxygen's ++# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the ++# doxygen's special commands can be used and the contents of the docstring ++# documentation blocks is shown as doxygen documentation. ++# The default value is: YES. ++ ++PYTHON_DOCSTRING = YES ++ + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the + # documentation from any documented member that it re-implements. + # The default value is: YES. +@@ -232,11 +279,16 @@ TAB_SIZE = 4 + # the documentation. An alias has the form: + # name=value + # For example adding +-# "sideeffect=@par Side Effects:\n" ++# "sideeffect=@par Side Effects:^^" + # will allow you to put the command \sideeffect (or @sideeffect) in the + # documentation, which will result in a user-defined paragraph with heading +-# "Side Effects:". You can put \n's in the value part of an alias to insert +-# newlines. ++# "Side Effects:". Note that you cannot put \n's in the value part of an alias ++# to insert newlines (in the resulting output). You can put ^^ in the value part ++# of an alias to insert a newline as if a physical newline was in the original ++# file. When you need a literal { or } or , in the value part of an alias you ++# have to escape them by means of a backslash (\), this can lead to conflicts ++# with the commands \{ and \} for these it is advised to use the version @{ and ++# @} or use a double escape (\\{ and \\}) + + ALIASES = + +@@ -268,28 +320,40 @@ OPTIMIZE_FOR_FORTRAN = NO + + OPTIMIZE_OUTPUT_VHDL = NO + ++# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice ++# sources only. Doxygen will then generate output that is more tailored for that ++# language. For instance, namespaces will be presented as modules, types will be ++# separated into more groups, etc. ++# The default value is: NO. ++ ++OPTIMIZE_OUTPUT_SLICE = NO ++ + # Doxygen selects the parser to use depending on the extension of the files it + # parses. With this tag you can assign which parser to use for a given + # extension. Doxygen has a built-in mapping, but you can override or extend it + # using this tag. The format is ext=language, where ext is a file extension, and +-# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +-# Fortran. In the later case the parser tries to guess whether the code is fixed +-# or free formatted code, this is the default for Fortran type files), VHDL. For +-# instance to make doxygen treat .inc files as Fortran files (default is PHP), +-# and .f files as C (default is Fortran), use: inc=Fortran f=C. ++# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, ++# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, ++# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: ++# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser ++# tries to guess whether the code is fixed or free formatted code, this is the ++# default for Fortran type files). For instance to make doxygen treat .inc files ++# as Fortran files (default is PHP), and .f files as C (default is Fortran), ++# use: inc=Fortran f=C. + # + # Note: For files without extension you can use no_extension as a placeholder. + # + # Note that for custom extensions you also need to set FILE_PATTERNS otherwise +-# the files are not read by doxygen. ++# the files are not read by doxygen. When specifying no_extension you should add ++# * to the FILE_PATTERNS. ++# ++# Note see also the list of default file extension mappings. + + EXTENSION_MAPPING = + + # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments + # according to the Markdown format, which allows for more readable +-# documentation. See http://daringfireball.net/projects/markdown/ for details. ++# documentation. See https://daringfireball.net/projects/markdown/ for details. + # The output of markdown processing is further processed by doxygen, so you can + # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in + # case of backward compatibilities issues. +@@ -301,11 +365,22 @@ MARKDOWN_SUPPORT = YES + # to that level are automatically included in the table of contents, even if + # they do not have an id attribute. + # Note: This feature currently applies only to Markdown headings. +-# Minimum value: 0, maximum value: 99, default value: 0. ++# Minimum value: 0, maximum value: 99, default value: 5. + # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + + TOC_INCLUDE_HEADINGS = 0 + ++# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to ++# generate identifiers for the Markdown headings. Note: Every identifier is ++# unique. ++# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a ++# sequence number starting at 0 and GITHUB use the lower case version of title ++# with any whitespace replaced by '-' and punctuation characters removed. ++# The default value is: DOXYGEN. ++# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. ++ ++MARKDOWN_ID_STYLE = DOXYGEN ++ + # When enabled doxygen tries to link words that correspond to documented + # classes, or namespaces to their corresponding documentation. Such a link can + # be prevented in individual cases by putting a % sign in front of the word or +@@ -331,7 +406,7 @@ BUILTIN_STL_SUPPORT = NO + CPP_CLI_SUPPORT = NO + + # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen ++# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen + # will parse them like normal C++ but will assume all classes use public instead + # of private inheritance when no explicit protection keyword is present. + # The default value is: NO. +@@ -417,6 +492,27 @@ TYPEDEF_HIDES_STRUCT = NO + + LOOKUP_CACHE_SIZE = 0 + ++# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use ++# during processing. When set to 0 doxygen will based this on the number of ++# cores available in the system. You can set it explicitly to a value larger ++# than 0 to get more control over the balance between CPU load and processing ++# speed. At this moment only the input processing can be done using multiple ++# threads. Since this is still an experimental feature the default is set to 1, ++# which effectively disables parallel processing. Please report any issues you ++# encounter. Generating dot graphs in parallel is controlled by the ++# DOT_NUM_THREADS setting. ++# Minimum value: 0, maximum value: 32, default value: 1. ++ ++NUM_PROC_THREADS = 1 ++ ++# If the TIMESTAMP tag is set different from NO then each generated page will ++# contain the date or date and time when the page was generated. Setting this to ++# NO can help when comparing the output of multiple runs. ++# Possible values are: YES, NO, DATETIME and DATE. ++# The default value is: NO. ++ ++TIMESTAMP = NO ++ + #--------------------------------------------------------------------------- + # Build related configuration options + #--------------------------------------------------------------------------- +@@ -437,6 +533,12 @@ EXTRACT_ALL = YES + + EXTRACT_PRIVATE = NO + ++# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual ++# methods of a class will be included in the documentation. ++# The default value is: NO. ++ ++EXTRACT_PRIV_VIRTUAL = NO ++ + # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal + # scope will be included in the documentation. + # The default value is: NO. +@@ -474,6 +576,13 @@ EXTRACT_LOCAL_METHODS = NO + + EXTRACT_ANON_NSPACES = NO + ++# If this flag is set to YES, the name of an unnamed parameter in a declaration ++# will be determined by the corresponding definition. By default unnamed ++# parameters remain unnamed in the output. ++# The default value is: YES. ++ ++RESOLVE_UNNAMED_PARAMS = YES ++ + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all + # undocumented members inside documented classes or files. If set to NO these + # members will be included in the various overviews, but no documentation +@@ -485,14 +594,15 @@ HIDE_UNDOC_MEMBERS = YES + # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all + # undocumented classes that are normally visible in the class hierarchy. If set + # to NO, these classes will be included in the various overviews. This option +-# has no effect if EXTRACT_ALL is enabled. ++# will also hide undocumented C++ concepts if enabled. This option has no effect ++# if EXTRACT_ALL is enabled. + # The default value is: NO. + + HIDE_UNDOC_CLASSES = NO + + # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +-# (class|struct|union) declarations. If set to NO, these declarations will be +-# included in the documentation. ++# declarations. If set to NO, these declarations will be included in the ++# documentation. + # The default value is: NO. + + HIDE_FRIEND_COMPOUNDS = NO +@@ -511,12 +621,20 @@ HIDE_IN_BODY_DOCS = NO + + INTERNAL_DOCS = NO + +-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +-# names in lower-case letters. If set to YES, upper-case letters are also +-# allowed. This is useful if you have classes or files whose names only differ +-# in case and if your file system supports case sensitive file names. Windows +-# and Mac users are advised to set this option to NO. +-# The default value is: system dependent. ++# With the correct setting of option CASE_SENSE_NAMES doxygen will better be ++# able to match the capabilities of the underlying filesystem. In case the ++# filesystem is case sensitive (i.e. it supports files in the same directory ++# whose names only differ in casing), the option must be set to YES to properly ++# deal with such files in case they appear in the input. For filesystems that ++# are not case sensitive the option should be set to NO to properly deal with ++# output files written for symbols that only differ in casing, such as for two ++# classes, one named CLASS and the other named Class, and to also support ++# references to files without having to specify the exact matching casing. On ++# Windows (including Cygwin) and MacOS, users should typically set this option ++# to NO, whereas on Linux or other Unix flavors it should typically be set to ++# YES. ++# Possible values are: SYSTEM, NO and YES. ++# The default value is: SYSTEM. + + CASE_SENSE_NAMES = NO + +@@ -534,6 +652,12 @@ HIDE_SCOPE_NAMES = YES + + HIDE_COMPOUND_REFERENCE= NO + ++# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class ++# will show which file needs to be included to use the class. ++# The default value is: YES. ++ ++SHOW_HEADERFILE = YES ++ + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of + # the files that are included by a file in the documentation of that file. + # The default value is: YES. +@@ -691,7 +815,8 @@ FILE_VERSION_FILTER = + # output files in an output format independent way. To create the layout file + # that represents doxygen's defaults, run doxygen with the -l option. You can + # optionally specify a file name after the option, if omitted DoxygenLayout.xml +-# will be used as the name of the layout file. ++# will be used as the name of the layout file. See also section "Changing the ++# layout of pages" for information. + # + # Note that if you run doxygen from a directory containing a file called + # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +@@ -702,7 +827,7 @@ LAYOUT_FILE = + # The CITE_BIB_FILES tag can be used to specify one or more bib files containing + # the reference definitions. This must be a list of .bib files. The .bib + # extension is automatically appended if omitted. This requires the bibtex tool +-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. ++# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. + # For LaTeX the style of the bibliography can be controlled using + # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the + # search path. See also \cite for info how to create references. +@@ -737,23 +862,50 @@ WARNINGS = YES + WARN_IF_UNDOCUMENTED = YES + + # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +-# potential errors in the documentation, such as not documenting some parameters +-# in a documented function, or documenting parameters that don't exist or using +-# markup commands wrongly. ++# potential errors in the documentation, such as documenting some parameters in ++# a documented function twice, or documenting parameters that don't exist or ++# using markup commands wrongly. + # The default value is: YES. + + WARN_IF_DOC_ERROR = YES + ++# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete ++# function parameter documentation. If set to NO, doxygen will accept that some ++# parameters have no documentation without warning. ++# The default value is: YES. ++ ++WARN_IF_INCOMPLETE_DOC = YES ++ + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that + # are documented, but have no documentation for their parameters or return +-# value. If set to NO, doxygen will only warn about wrong or incomplete +-# parameter documentation, but not about the absence of documentation. ++# value. If set to NO, doxygen will only warn about wrong parameter ++# documentation, but not about the absence of documentation. If EXTRACT_ALL is ++# set to YES then this flag will automatically be disabled. See also ++# WARN_IF_INCOMPLETE_DOC + # The default value is: NO. + + WARN_NO_PARAMDOC = YES + ++# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about ++# undocumented enumeration values. If set to NO, doxygen will accept ++# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag ++# will automatically be disabled. ++# The default value is: NO. ++ ++WARN_IF_UNDOC_ENUM_VAL = NO ++ + # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +-# a warning is encountered. ++# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS ++# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but ++# at the end of the doxygen process doxygen will return with a non-zero status. ++# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves ++# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not ++# write the warning messages in between other messages but write them at the end ++# of a run, in case a WARN_LOGFILE is defined the warning messages will be ++# besides being in the defined file also be shown at the end of a run, unless ++# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case ++# the behavior will remain as with the setting FAIL_ON_WARNINGS. ++# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. + # The default value is: NO. + + WARN_AS_ERROR = NO +@@ -764,13 +916,27 @@ WARN_AS_ERROR = NO + # and the warning text. Optionally the format may contain $version, which will + # be replaced by the version of the file (if it could be obtained via + # FILE_VERSION_FILTER) ++# See also: WARN_LINE_FORMAT + # The default value is: $file:$line: $text. + + WARN_FORMAT = "$file:$line: $text" + ++# In the $text part of the WARN_FORMAT command it is possible that a reference ++# to a more specific place is given. To make it easier to jump to this place ++# (outside of doxygen) the user can define a custom "cut" / "paste" string. ++# Example: ++# WARN_LINE_FORMAT = "'vi $file +$line'" ++# See also: WARN_FORMAT ++# The default value is: at line $line of file $file. ++ ++WARN_LINE_FORMAT = "at line $line of file $file" ++ + # The WARN_LOGFILE tag can be used to specify a file to which warning and error + # messages should be written. If left blank the output is written to standard +-# error (stderr). ++# error (stderr). In case the file specified cannot be opened for writing the ++# warning and error messages are written to standard error. When as file - is ++# specified the warning and error messages are written to standard output ++# (stdout). + + WARN_LOGFILE = + +@@ -784,17 +950,32 @@ WARN_LOGFILE = + # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING + # Note: If this tag is empty the current directory is searched. + +-INPUT = src/afu.c src/irq.c src/mmio.c src/setup.c src/include/libocxl.h ++INPUT = src/afu.c \ ++ src/irq.c \ ++ src/mmio.c \ ++ src/setup.c \ ++ src/include/libocxl.h + + # This tag can be used to specify the character encoding of the source files + # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses + # libiconv (or the iconv built into libc) for the transcoding. See the libiconv +-# documentation (see: http://www.gnu.org/software/libiconv) for the list of +-# possible encodings. ++# documentation (see: ++# https://www.gnu.org/software/libiconv/) for the list of possible encodings. ++# See also: INPUT_FILE_ENCODING + # The default value is: UTF-8. + + INPUT_ENCODING = UTF-8 + ++# This tag can be used to specify the character encoding of the source files ++# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify ++# character encoding on a per file pattern basis. Doxygen will compare the file ++# name with each pattern and apply the encoding instead of the default ++# INPUT_ENCODING) if there is a match. The character encodings are a list of the ++# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding ++# "INPUT_ENCODING" for further information on supported encodings. ++ ++INPUT_FILE_ENCODING = ++ + # If the value of the INPUT tag contains directories, you can use the + # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and + # *.h) to filter out the source-files in the directories. +@@ -803,11 +984,15 @@ INPUT_ENCODING = UTF-8 + # need to set EXTENSION_MAPPING for the extension otherwise the files are not + # read by doxygen. + # +-# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +-# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +-# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +-# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +-# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. ++# Note the list of default checked file patterns might differ from the list of ++# default file extension mappings. ++# ++# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, ++# *.cpp, *.cppm, *.ccm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, ++# *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, ++# *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to ++# be provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, ++# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. + + FILE_PATTERNS = *.c \ + *.cc \ +@@ -889,10 +1074,7 @@ EXCLUDE_PATTERNS = + # (namespaces, classes, functions, etc.) that should be excluded from the + # output. The symbol name can be a fully qualified name, a word, or if the + # wildcard * is used, a substring. Examples: ANamespace, AClass, +-# AClass::ANamespace, ANamespace::*Test +-# +-# Note that the wildcards are matched against the file with absolute path, so to +-# exclude all test directories use the pattern */test/* ++# ANamespace::AClass, ANamespace::*Test + + EXCLUDE_SYMBOLS = + +@@ -937,6 +1119,11 @@ IMAGE_PATH = + # code is scanned, but not when the output code is generated. If lines are added + # or removed, the anchors will not be placed correctly. + # ++# Note that doxygen will use the data processed and written to standard output ++# for further processing, therefore nothing else, like debug statements or used ++# commands (so in case of a Windows batch file always use @echo OFF), should be ++# written to standard output. ++# + # Note that for custom extensions or not directly supported extensions you also + # need to set EXTENSION_MAPPING for the extension otherwise the files are not + # properly processed by doxygen. +@@ -978,6 +1165,15 @@ FILTER_SOURCE_PATTERNS = + + USE_MDFILE_AS_MAINPAGE = + ++# The Fortran standard specifies that for fixed formatted Fortran code all ++# characters from position 72 are to be considered as comment. A common ++# extension is to allow longer lines before the automatic comment starts. The ++# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can ++# be processed before the automatic comment starts. ++# Minimum value: 7, maximum value: 10000, default value: 72. ++ ++FORTRAN_COMMENT_AFTER = 72 ++ + #--------------------------------------------------------------------------- + # Configuration options related to source browsing + #--------------------------------------------------------------------------- +@@ -992,7 +1188,8 @@ USE_MDFILE_AS_MAINPAGE = + SOURCE_BROWSER = NO + + # Setting the INLINE_SOURCES tag to YES will include the body of functions, +-# classes and enums directly into the documentation. ++# multi-line macros, enums or list initialized variables directly into the ++# documentation. + # The default value is: NO. + + INLINE_SOURCES = NO +@@ -1005,7 +1202,7 @@ INLINE_SOURCES = NO + STRIP_CODE_COMMENTS = YES + + # If the REFERENCED_BY_RELATION tag is set to YES then for each documented +-# function all documented functions referencing it will be listed. ++# entity all documented functions referencing it will be listed. + # The default value is: NO. + + REFERENCED_BY_RELATION = NO +@@ -1037,12 +1234,12 @@ SOURCE_TOOLTIPS = YES + # If the USE_HTAGS tag is set to YES then the references to source code will + # point to the HTML generated by the htags(1) tool instead of doxygen built-in + # source browser. The htags tool is part of GNU's global source tagging system +-# (see http://www.gnu.org/software/global/global.html). You will need version ++# (see https://www.gnu.org/software/global/global.html). You will need version + # 4.8.6 or higher. + # + # To use it do the following: + # - Install the latest version of global +-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file ++# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file + # - Make sure the INPUT points to the root of the source tree + # - Run doxygen as normal + # +@@ -1075,10 +1272,11 @@ VERBATIM_HEADERS = YES + + ALPHABETICAL_INDEX = YES + +-# In case all classes in a project start with a common prefix, all classes will +-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +-# can be used to specify a prefix (or a list of prefixes) that should be ignored +-# while generating the index headers. ++# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) ++# that should be ignored while generating the index headers. The IGNORE_PREFIX ++# tag works for classes, function and member names. The entity will be placed in ++# the alphabetical list under the first letter of the entity name that remains ++# after removing the prefix. + # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + + IGNORE_PREFIX = +@@ -1157,7 +1355,12 @@ HTML_STYLESHEET = + # Doxygen will copy the style sheet files to the output directory. + # Note: The order of the extra style sheet files is of importance (e.g. the last + # style sheet in the list overrules the setting of the previous ones in the +-# list). For an example see the documentation. ++# list). ++# Note: Since the styling of scrollbars can currently not be overruled in ++# Webkit/Chromium, the styling will be left out of the default doxygen.css if ++# one or more extra stylesheets have been specified. So if scrollbar ++# customization is desired it has to be added explicitly. For an example see the ++# documentation. + # This tag requires that the tag GENERATE_HTML is set to YES. + + HTML_EXTRA_STYLESHEET = +@@ -1172,10 +1375,23 @@ HTML_EXTRA_STYLESHEET = + + HTML_EXTRA_FILES = + ++# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output ++# should be rendered with a dark or light theme. ++# Possible values are: LIGHT always generate light mode output, DARK always ++# generate dark mode output, AUTO_LIGHT automatically set the mode according to ++# the user preference, use light mode if no preference is set (the default), ++# AUTO_DARK automatically set the mode according to the user preference, use ++# dark mode if no preference is set and TOGGLE allow to user to switch between ++# light and dark mode via a button. ++# The default value is: AUTO_LIGHT. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_COLORSTYLE = AUTO_LIGHT ++ + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen + # will adjust the colors in the style sheet and background images according to +-# this color. Hue is specified as an angle on a colorwheel, see +-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value ++# this color. Hue is specified as an angle on a color-wheel, see ++# https://en.wikipedia.org/wiki/Hue for more information. For instance the value + # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 + # purple, and 360 is red again. + # Minimum value: 0, maximum value: 359, default value: 220. +@@ -1184,7 +1400,7 @@ HTML_EXTRA_FILES = + HTML_COLORSTYLE_HUE = 220 + + # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +-# in the HTML output. For a value of 0 the output will use grayscales only. A ++# in the HTML output. For a value of 0 the output will use gray-scales only. A + # value of 255 will produce the most vivid colors. + # Minimum value: 0, maximum value: 255, default value: 100. + # This tag requires that the tag GENERATE_HTML is set to YES. +@@ -1202,14 +1418,16 @@ HTML_COLORSTYLE_SAT = 100 + + HTML_COLORSTYLE_GAMMA = 80 + +-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +-# page will contain the date and time when the page was generated. Setting this +-# to YES can help to show when doxygen was last run and thus if the +-# documentation is up to date. +-# The default value is: NO. ++# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML ++# documentation will contain a main index with vertical navigation menus that ++# are dynamically created via JavaScript. If disabled, the navigation index will ++# consists of multiple levels of tabs that are statically embedded in every HTML ++# page. Disable this option to support browsers that do not have JavaScript, ++# like the Qt help browser. ++# The default value is: YES. + # This tag requires that the tag GENERATE_HTML is set to YES. + +-HTML_TIMESTAMP = NO ++HTML_DYNAMIC_MENUS = YES + + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML + # documentation will contain sections that can be hidden and shown after the +@@ -1219,6 +1437,33 @@ HTML_TIMESTAMP = NO + + HTML_DYNAMIC_SECTIONS = NO + ++# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be ++# dynamically folded and expanded in the generated HTML source code. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_CODE_FOLDING = YES ++ ++# If the HTML_COPY_CLIPBOARD tag is set to YES then doxygen will show an icon in ++# the top right corner of code and text fragments that allows the user to copy ++# its content to the clipboard. Note this only works if supported by the browser ++# and the web page is served via a secure context (see: ++# https://www.w3.org/TR/secure-contexts/), i.e. using the https: or file: ++# protocol. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_COPY_CLIPBOARD = YES ++ ++# Doxygen stores a couple of settings persistently in the browser (via e.g. ++# cookies). By default these settings apply to all HTML pages generated by ++# doxygen across all projects. The HTML_PROJECT_COOKIE tag can be used to store ++# the settings under a project specific key, such that the user preferences will ++# be stored separately. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_PROJECT_COOKIE = ++ + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries + # shown in the various tree structured indices initially; the user can expand + # and collapse entries dynamically later on. Doxygen will expand the tree to +@@ -1234,13 +1479,14 @@ HTML_INDEX_NUM_ENTRIES = 100 + + # If the GENERATE_DOCSET tag is set to YES, additional index files will be + # generated that can be used as input for Apple's Xcode 3 integrated development +-# environment (see: http://developer.apple.com/tools/xcode/), introduced with +-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +-# Makefile in the HTML output directory. Running make will produce the docset in +-# that directory and running make install will install the docset in ++# environment (see: ++# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To ++# create a documentation set, doxygen will generate a Makefile in the HTML ++# output directory. Running make will produce the docset in that directory and ++# running make install will install the docset in + # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +-# for more information. ++# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy ++# genXcode/_index.html for more information. + # The default value is: NO. + # This tag requires that the tag GENERATE_HTML is set to YES. + +@@ -1254,6 +1500,13 @@ GENERATE_DOCSET = NO + + DOCSET_FEEDNAME = "Doxygen generated docs" + ++# This tag determines the URL of the docset feed. A documentation feed provides ++# an umbrella under which multiple documentation sets from a single provider ++# (such as a company or product suite) can be grouped. ++# This tag requires that the tag GENERATE_DOCSET is set to YES. ++ ++DOCSET_FEEDURL = ++ + # This tag specifies a string that should uniquely identify the documentation + # set bundle. This should be a reverse domain-name style string, e.g. + # com.mycompany.MyDocSet. Doxygen will append .docset to the name. +@@ -1279,8 +1532,12 @@ DOCSET_PUBLISHER_NAME = Publisher + # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three + # additional HTML index files: index.hhp, index.hhc, and index.hhk. The + # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +-# Windows. ++# on Windows. In the beginning of 2021 Microsoft took the original page, with ++# a.o. the download links, offline the HTML help workshop was already many years ++# in maintenance mode). You can download the HTML help workshop from the web ++# archives at Installation executable (see: ++# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo ++# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). + # + # The HTML Help Workshop contains a compiler that can convert all HTML output + # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +@@ -1310,7 +1567,7 @@ CHM_FILE = + HHC_LOCATION = + + # The GENERATE_CHI flag controls if a separate .chi index file is generated +-# (YES) or that it should be included in the master .chm file (NO). ++# (YES) or that it should be included in the main .chm file (NO). + # The default value is: NO. + # This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +@@ -1337,6 +1594,16 @@ BINARY_TOC = NO + + TOC_EXPAND = NO + ++# The SITEMAP_URL tag is used to specify the full URL of the place where the ++# generated documentation will be placed on the server by the user during the ++# deployment of the documentation. The generated sitemap is called sitemap.xml ++# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL ++# is specified no sitemap is generated. For information about the sitemap ++# protocol see https://www.sitemaps.org ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++SITEMAP_URL = ++ + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and + # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that + # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +@@ -1355,7 +1622,8 @@ QCH_FILE = + + # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help + # Project output. For more information please see Qt Help Project / Namespace +-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). ++# (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). + # The default value is: org.doxygen.Project. + # This tag requires that the tag GENERATE_QHP is set to YES. + +@@ -1363,8 +1631,8 @@ QHP_NAMESPACE = org.doxygen.Project + + # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt + # Help Project output. For more information please see Qt Help Project / Virtual +-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +-# folders). ++# Folders (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). + # The default value is: doc. + # This tag requires that the tag GENERATE_QHP is set to YES. + +@@ -1372,30 +1640,30 @@ QHP_VIRTUAL_FOLDER = doc + + # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom + # filter to add. For more information please see Qt Help Project / Custom +-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +-# filters). ++# Filters (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_CUST_FILTER_NAME = + + # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the + # custom filter to add. For more information please see Qt Help Project / Custom +-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +-# filters). ++# Filters (see: ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_CUST_FILTER_ATTRS = + + # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this + # project's filter section matches. Qt Help Project / Filter Attributes (see: +-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). ++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHP_SECT_FILTER_ATTRS = + +-# The QHG_LOCATION tag can be used to specify the location of Qt's +-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +-# generated .qhp file. ++# The QHG_LOCATION tag can be used to specify the location (absolute path ++# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to ++# run qhelpgenerator on the generated .qhp file. + # This tag requires that the tag GENERATE_QHP is set to YES. + + QHG_LOCATION = +@@ -1438,16 +1706,28 @@ DISABLE_INDEX = NO + # to work a browser that supports JavaScript, DHTML, CSS and frames is required + # (i.e. any modern browser). Windows users are probably better off using the + # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +-# further fine-tune the look of the index. As an example, the default style +-# sheet generated by doxygen has an example that shows how to put an image at +-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +-# the same information as the tab index, you could consider setting +-# DISABLE_INDEX to YES when enabling this option. ++# further fine tune the look of the index (see "Fine-tuning the output"). As an ++# example, the default style sheet generated by doxygen has an example that ++# shows how to put an image at the root of the tree instead of the PROJECT_NAME. ++# Since the tree basically has the same information as the tab index, you could ++# consider setting DISABLE_INDEX to YES when enabling this option. + # The default value is: NO. + # This tag requires that the tag GENERATE_HTML is set to YES. + + GENERATE_TREEVIEW = NO + ++# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the ++# FULL_SIDEBAR option determines if the side bar is limited to only the treeview ++# area (value NO) or if it should extend to the full height of the window (value ++# YES). Setting this to YES gives a layout similar to ++# https://docs.readthedocs.io with more room for contents, but less room for the ++# project logo, title, and description. If either GENERATE_TREEVIEW or ++# DISABLE_INDEX is set to NO, this option has no effect. ++# The default value is: NO. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++FULL_SIDEBAR = NO ++ + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that + # doxygen will group on one line in the generated HTML documentation. + # +@@ -1472,6 +1752,24 @@ TREEVIEW_WIDTH = 250 + + EXT_LINKS_IN_WINDOW = NO + ++# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email ++# addresses. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++OBFUSCATE_EMAILS = YES ++ ++# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg ++# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see ++# https://inkscape.org) to generate formulas as SVG images instead of PNGs for ++# the HTML output. These images will generally look nicer at scaled resolutions. ++# Possible values are: png (the default) and svg (looks nicer but requires the ++# pdf2svg or inkscape tool). ++# The default value is: png. ++# This tag requires that the tag GENERATE_HTML is set to YES. ++ ++HTML_FORMULA_FORMAT = png ++ + # Use this tag to change the font size of LaTeX formulas included as images in + # the HTML documentation. When you change the font size after a successful + # doxygen run you need to manually remove any form_*.png images from the HTML +@@ -1481,19 +1779,14 @@ EXT_LINKS_IN_WINDOW = NO + + FORMULA_FONTSIZE = 10 + +-# Use the FORMULA_TRANPARENT tag to determine whether or not the images +-# generated for formulas are transparent PNGs. Transparent PNGs are not +-# supported properly for IE 6.0, but are supported on all modern browsers. +-# +-# Note that when changing this option you need to delete any form_*.png files in +-# the HTML output directory before the changes have effect. +-# The default value is: YES. +-# This tag requires that the tag GENERATE_HTML is set to YES. ++# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands ++# to create new LaTeX commands to be used in formulas as building blocks. See ++# the section "Including formulas" for details. + +-FORMULA_TRANSPARENT = YES ++FORMULA_MACROFILE = + + # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +-# http://www.mathjax.org) which uses client side Javascript for the rendering ++# https://www.mathjax.org) which uses client side JavaScript for the rendering + # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX + # installed or if you want to formulas look prettier in the HTML output. When + # enabled you may also need to install MathJax separately and configure the path +@@ -1503,11 +1796,29 @@ FORMULA_TRANSPARENT = YES + + USE_MATHJAX = NO + ++# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. ++# Note that the different versions of MathJax have different requirements with ++# regards to the different settings, so it is possible that also other MathJax ++# settings have to be changed when switching between the different MathJax ++# versions. ++# Possible values are: MathJax_2 and MathJax_3. ++# The default value is: MathJax_2. ++# This tag requires that the tag USE_MATHJAX is set to YES. ++ ++MATHJAX_VERSION = MathJax_2 ++ + # When MathJax is enabled you can set the default output format to be used for +-# the MathJax output. See the MathJax site (see: +-# http://docs.mathjax.org/en/latest/output.html) for more details. ++# the MathJax output. For more details about the output format see MathJax ++# version 2 (see: ++# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 ++# (see: ++# http://docs.mathjax.org/en/latest/web/components/output.html). + # Possible values are: HTML-CSS (which is slower, but has the best +-# compatibility), NativeMML (i.e. MathML) and SVG. ++# compatibility. This is the name for Mathjax version 2, for MathJax version 3 ++# this will be translated into chtml), NativeMML (i.e. MathML. Only supported ++# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This ++# is the name for Mathjax version 3, for MathJax version 2 this will be ++# translated into HTML-CSS) and SVG. + # The default value is: HTML-CSS. + # This tag requires that the tag USE_MATHJAX is set to YES. + +@@ -1520,22 +1831,29 @@ MATHJAX_FORMAT = HTML-CSS + # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax + # Content Delivery Network so you can quickly see the result without installing + # MathJax. However, it is strongly recommended to install a local copy of +-# MathJax from http://www.mathjax.org before deployment. +-# The default value is: http://cdn.mathjax.org/mathjax/latest. ++# MathJax from https://www.mathjax.org before deployment. The default value is: ++# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 ++# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 + # This tag requires that the tag USE_MATHJAX is set to YES. + + MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example ++# for MathJax version 2 (see ++# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): + # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols ++# For example for MathJax version 3 (see ++# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): ++# MATHJAX_EXTENSIONS = ams + # This tag requires that the tag USE_MATHJAX is set to YES. + + MATHJAX_EXTENSIONS = + + # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces + # of code that will be used on startup of the MathJax code. See the MathJax site +-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an ++# (see: ++# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an + # example see the documentation. + # This tag requires that the tag USE_MATHJAX is set to YES. + +@@ -1563,7 +1881,7 @@ MATHJAX_CODEFILE = + SEARCHENGINE = YES + + # When the SERVER_BASED_SEARCH tag is enabled the search engine will be +-# implemented using a web server instead of a web client using Javascript. There ++# implemented using a web server instead of a web client using JavaScript. There + # are two flavors of web server based searching depending on the EXTERNAL_SEARCH + # setting. When disabled, doxygen will generate a PHP script for searching and + # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +@@ -1582,7 +1900,8 @@ SERVER_BASED_SEARCH = NO + # + # Doxygen ships with an example indexer (doxyindexer) and search engine + # (doxysearch.cgi) which are based on the open source search engine library +-# Xapian (see: http://xapian.org/). ++# Xapian (see: ++# https://xapian.org/). + # + # See the section "External Indexing and Searching" for details. + # The default value is: NO. +@@ -1595,8 +1914,9 @@ EXTERNAL_SEARCH = NO + # + # Doxygen ships with an example indexer (doxyindexer) and search engine + # (doxysearch.cgi) which are based on the open source search engine library +-# Xapian (see: http://xapian.org/). See the section "External Indexing and +-# Searching" for details. ++# Xapian (see: ++# https://xapian.org/). See the section "External Indexing and Searching" for ++# details. + # This tag requires that the tag SEARCHENGINE is set to YES. + + SEARCHENGINE_URL = +@@ -1647,21 +1967,35 @@ LATEX_OUTPUT = latex + # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be + # invoked. + # +-# Note that when enabling USE_PDFLATEX this option is only used for generating +-# bitmaps for formulas in the HTML output, but not in the Makefile that is +-# written to the output directory. +-# The default file is: latex. ++# Note that when not enabling USE_PDFLATEX the default is latex when enabling ++# USE_PDFLATEX the default is pdflatex and when in the later case latex is ++# chosen this is overwritten by pdflatex. For specific output languages the ++# default can have been set differently, this depends on the implementation of ++# the output language. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_CMD_NAME = latex + + # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate + # index for LaTeX. ++# Note: This tag is used in the Makefile / make.bat. ++# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file ++# (.tex). + # The default file is: makeindex. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + MAKEINDEX_CMD_NAME = makeindex + ++# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to ++# generate index for LaTeX. In case there is no backslash (\) as first character ++# it will be automatically added in the LaTeX code. ++# Note: This tag is used in the generated output file (.tex). ++# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. ++# The default value is: makeindex. ++# This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++LATEX_MAKEINDEX_CMD = makeindex ++ + # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX + # documents. This may be useful for small projects and may help to save some + # trees in general. +@@ -1691,29 +2025,31 @@ PAPER_TYPE = a4 + + EXTRA_PACKAGES = + +-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the +-# generated LaTeX document. The header should contain everything until the first +-# chapter. If it is left blank doxygen will generate a standard header. See +-# section "Doxygen usage" for information on how to let doxygen write the +-# default header to a separate file. ++# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for ++# the generated LaTeX document. The header should contain everything until the ++# first chapter. If it is left blank doxygen will generate a standard header. It ++# is highly recommended to start with a default header using ++# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty ++# and then modify the file new_header.tex. See also section "Doxygen usage" for ++# information on how to generate the default header that doxygen normally uses. + # +-# Note: Only use a user-defined header if you know what you are doing! The +-# following commands have a special meaning inside the header: $title, +-# $datetime, $date, $doxygenversion, $projectname, $projectnumber, +-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty +-# string, for the replacement values of the other commands the user is referred +-# to HTML_HEADER. ++# Note: Only use a user-defined header if you know what you are doing! ++# Note: The header is subject to change so you typically have to regenerate the ++# default header when upgrading to a newer version of doxygen. The following ++# commands have a special meaning inside the header (and footer): For a ++# description of the possible markers and block names see the documentation. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_HEADER = + +-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the +-# generated LaTeX document. The footer should contain everything after the last +-# chapter. If it is left blank doxygen will generate a standard footer. See ++# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for ++# the generated LaTeX document. The footer should contain everything after the ++# last chapter. If it is left blank doxygen will generate a standard footer. See + # LATEX_HEADER for more information on how to generate a default footer and what +-# special commands can be used inside the footer. +-# +-# Note: Only use a user-defined footer if you know what you are doing! ++# special commands can be used inside the footer. See also section "Doxygen ++# usage" for information on how to generate the default footer that doxygen ++# normally uses. Note: Only use a user-defined footer if you know what you are ++# doing! + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_FOOTER = +@@ -1746,18 +2082,26 @@ LATEX_EXTRA_FILES = + + PDF_HYPERLINKS = YES + +-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate +-# the PDF file directly from the LaTeX files. Set this option to YES, to get a +-# higher quality PDF documentation. ++# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as ++# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX ++# files. Set this option to YES, to get a higher quality PDF documentation. ++# ++# See also section LATEX_CMD_NAME for selecting the engine. + # The default value is: YES. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + USE_PDFLATEX = YES + +-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode +-# command to the generated LaTeX files. This will instruct LaTeX to keep running +-# if errors occur, instead of asking the user for help. This option is also used +-# when generating formulas in HTML. ++# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. ++# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch ++# mode nothing is printed on the terminal, errors are scrolled as if is ++# hit at every error; missing files that TeX tries to input or request from ++# keyboard input (\read on a not open input stream) cause the job to abort, ++# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, ++# but there is no possibility of user interaction just like in batch mode, ++# SCROLL In scroll mode, TeX will stop only for missing files to input or if ++# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at ++# each error, asking for user intervention. + # The default value is: NO. + # This tag requires that the tag GENERATE_LATEX is set to YES. + +@@ -1770,31 +2114,21 @@ LATEX_BATCHMODE = NO + + LATEX_HIDE_INDICES = NO + +-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source +-# code with syntax highlighting in the LaTeX output. +-# +-# Note that which sources are shown also depends on other settings such as +-# SOURCE_BROWSER. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_LATEX is set to YES. +- +-LATEX_SOURCE_CODE = NO +- + # The LATEX_BIB_STYLE tag can be used to specify the style to use for the + # bibliography, e.g. plainnat, or ieeetr. See +-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. ++# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. + # The default value is: plain. + # This tag requires that the tag GENERATE_LATEX is set to YES. + + LATEX_BIB_STYLE = plain + +-# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +-# page will contain the date and time when the page was generated. Setting this +-# to NO can help when comparing the output of multiple runs. +-# The default value is: NO. ++# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) ++# path from which the emoji images will be read. If a relative path is entered, ++# it will be relative to the LATEX_OUTPUT directory. If left blank the ++# LATEX_OUTPUT directory will be used. + # This tag requires that the tag GENERATE_LATEX is set to YES. + +-LATEX_TIMESTAMP = NO ++LATEX_EMOJI_DIRECTORY = + + #--------------------------------------------------------------------------- + # Configuration options related to the RTF output +@@ -1835,9 +2169,9 @@ COMPACT_RTF = NO + + RTF_HYPERLINKS = NO + +-# Load stylesheet definitions from file. Syntax is similar to doxygen's config +-# file, i.e. a series of assignments. You only have to provide replacements, +-# missing definitions are set to their default value. ++# Load stylesheet definitions from file. Syntax is similar to doxygen's ++# configuration file, i.e. a series of assignments. You only have to provide ++# replacements, missing definitions are set to their default value. + # + # See also section "Doxygen usage" for information on how to generate the + # default style sheet that doxygen normally uses. +@@ -1846,22 +2180,12 @@ RTF_HYPERLINKS = NO + RTF_STYLESHEET_FILE = + + # Set optional variables used in the generation of an RTF document. Syntax is +-# similar to doxygen's config file. A template extensions file can be generated +-# using doxygen -e rtf extensionFile. ++# similar to doxygen's configuration file. A template extensions file can be ++# generated using doxygen -e rtf extensionFile. + # This tag requires that the tag GENERATE_RTF is set to YES. + + RTF_EXTENSIONS_FILE = + +-# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code +-# with syntax highlighting in the RTF output. +-# +-# Note that which sources are shown also depends on other settings such as +-# SOURCE_BROWSER. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_RTF is set to YES. +- +-RTF_SOURCE_CODE = NO +- + #--------------------------------------------------------------------------- + # Configuration options related to the man page output + #--------------------------------------------------------------------------- +@@ -1933,6 +2257,13 @@ XML_OUTPUT = xml + + XML_PROGRAMLISTING = YES + ++# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include ++# namespace members in file scope as well, matching the HTML output. ++# The default value is: NO. ++# This tag requires that the tag GENERATE_XML is set to YES. ++ ++XML_NS_MEMB_FILE_SCOPE = NO ++ + #--------------------------------------------------------------------------- + # Configuration options related to the DOCBOOK output + #--------------------------------------------------------------------------- +@@ -1951,27 +2282,44 @@ GENERATE_DOCBOOK = NO + + DOCBOOK_OUTPUT = docbook + +-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the +-# program listings (including syntax highlighting and cross-referencing +-# information) to the DOCBOOK output. Note that enabling this will significantly +-# increase the size of the DOCBOOK output. +-# The default value is: NO. +-# This tag requires that the tag GENERATE_DOCBOOK is set to YES. +- +-DOCBOOK_PROGRAMLISTING = NO +- + #--------------------------------------------------------------------------- + # Configuration options for the AutoGen Definitions output + #--------------------------------------------------------------------------- + + # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +-# AutoGen Definitions (see http://autogen.sf.net) file that captures the +-# structure of the code including all documentation. Note that this feature is +-# still experimental and incomplete at the moment. ++# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures ++# the structure of the code including all documentation. Note that this feature ++# is still experimental and incomplete at the moment. + # The default value is: NO. + + GENERATE_AUTOGEN_DEF = NO + ++#--------------------------------------------------------------------------- ++# Configuration options related to Sqlite3 output ++#--------------------------------------------------------------------------- ++ ++# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 ++# database with symbols found by doxygen stored in tables. ++# The default value is: NO. ++ ++GENERATE_SQLITE3 = NO ++ ++# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be ++# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put ++# in front of it. ++# The default directory is: sqlite3. ++# This tag requires that the tag GENERATE_SQLITE3 is set to YES. ++ ++SQLITE3_OUTPUT = sqlite3 ++ ++# The SQLITE3_RECREATE_DB tag is set to YES, the existing doxygen_sqlite3.db ++# database file will be recreated with each doxygen run. If set to NO, doxygen ++# will warn if a database file is already found and not modify it. ++# The default value is: YES. ++# This tag requires that the tag GENERATE_SQLITE3 is set to YES. ++ ++SQLITE3_RECREATE_DB = YES ++ + #--------------------------------------------------------------------------- + # Configuration options related to the Perl module output + #--------------------------------------------------------------------------- +@@ -2046,7 +2394,8 @@ SEARCH_INCLUDES = YES + + # The INCLUDE_PATH tag can be used to specify one or more directories that + # contain include files that are not input files but should be processed by the +-# preprocessor. ++# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of ++# RECURSIVE has no effect here. + # This tag requires that the tag SEARCH_INCLUDES is set to YES. + + INCLUDE_PATH = +@@ -2067,7 +2416,9 @@ INCLUDE_FILE_PATTERNS = + # recursively expanded use the := operator instead of the = operator. + # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +-PREDEFINED = _ARCH_PPC64 _DOXYGEN_ LIBOCXL_WARN_UNUSED= ++PREDEFINED = _ARCH_PPC64 \ ++ _DOXYGEN_ \ ++ LIBOCXL_WARN_UNUSED= + + # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this + # tag can be used to specify a list of macro names that should be expanded. The +@@ -2113,15 +2464,15 @@ TAGFILES = + + GENERATE_TAGFILE = + +-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +-# the class index. If set to NO, only the inherited external classes will be +-# listed. ++# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces ++# will be listed in the class and namespace index. If set to NO, only the ++# inherited external classes will be listed. + # The default value is: NO. + + ALLEXTERNALS = NO + + # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +-# in the modules index. If set to NO, only the current project's groups will be ++# in the topic index. If set to NO, only the current project's groups will be + # listed. + # The default value is: YES. + +@@ -2135,25 +2486,9 @@ EXTERNAL_GROUPS = YES + EXTERNAL_PAGES = YES + + #--------------------------------------------------------------------------- +-# Configuration options related to the dot tool ++# Configuration options related to diagram generator tools + #--------------------------------------------------------------------------- + +-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram +-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to +-# NO turns the diagrams off. Note that this option also works with HAVE_DOT +-# disabled, but it is recommended to install and use dot, since it yields more +-# powerful graphs. +-# The default value is: YES. +- +-CLASS_DIAGRAMS = YES +- +-# You can include diagrams made with dia in doxygen documentation. Doxygen will +-# then run dia to produce the diagram and insert it in the documentation. The +-# DIA_PATH tag allows you to specify the directory where the dia binary resides. +-# If left empty dia is assumed to be found in the default search path. +- +-DIA_PATH = +- + # If set to YES the inheritance and collaboration graphs will hide inheritance + # and usage relations if the target is undocumented or is not a class. + # The default value is: YES. +@@ -2162,7 +2497,7 @@ HIDE_UNDOC_RELATIONS = YES + + # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is + # available from the path. This tool is part of Graphviz (see: +-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent ++# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent + # Bell Labs. The other options in this section have no effect if this option is + # set to NO + # The default value is: NO. +@@ -2179,49 +2514,77 @@ HAVE_DOT = NO + + DOT_NUM_THREADS = 0 + +-# When you want a differently looking font in the dot files that doxygen +-# generates you can specify the font name using DOT_FONTNAME. You need to make +-# sure dot is able to find the font, which can be done by putting it in a +-# standard location or by setting the DOTFONTPATH environment variable or by +-# setting DOT_FONTPATH to the directory containing the font. +-# The default value is: Helvetica. ++# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of ++# subgraphs. When you want a differently looking font in the dot files that ++# doxygen generates you can specify fontname, fontcolor and fontsize attributes. ++# For details please see Node, ++# Edge and Graph Attributes specification You need to make sure dot is able ++# to find the font, which can be done by putting it in a standard location or by ++# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the ++# directory containing the font. Default graphviz fontsize is 14. ++# The default value is: fontname=Helvetica,fontsize=10. ++# This tag requires that the tag HAVE_DOT is set to YES. ++ ++DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" ++ ++# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can ++# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about ++# arrows shapes. ++# The default value is: labelfontname=Helvetica,labelfontsize=10. + # This tag requires that the tag HAVE_DOT is set to YES. + +-DOT_FONTNAME = Helvetica ++DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" + +-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of +-# dot graphs. +-# Minimum value: 4, maximum value: 24, default value: 10. ++# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes ++# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification ++# The default value is: shape=box,height=0.2,width=0.4. + # This tag requires that the tag HAVE_DOT is set to YES. + +-DOT_FONTSIZE = 10 ++DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +-# By default doxygen will tell dot to use the default font as specified with +-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set +-# the path where dot can find it using this tag. ++# You can set the path where dot can find font specified with fontname in ++# DOT_COMMON_ATTR and others dot attributes. + # This tag requires that the tag HAVE_DOT is set to YES. + + DOT_FONTPATH = + +-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for +-# each documented class showing the direct and indirect inheritance relations. +-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. ++# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will ++# generate a graph for each documented class showing the direct and indirect ++# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and ++# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case ++# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the ++# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. ++# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance ++# relations will be shown as texts / links. Explicit enabling an inheritance ++# graph or choosing a different representation for an inheritance graph of a ++# specific class, can be accomplished by means of the command \inheritancegraph. ++# Disabling an inheritance graph can be accomplished by means of the command ++# \hideinheritancegraph. ++# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. + # The default value is: YES. +-# This tag requires that the tag HAVE_DOT is set to YES. + + CLASS_GRAPH = YES + + # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a + # graph for each documented class showing the direct and indirect implementation + # dependencies (inheritance, containment, and class references variables) of the +-# class with other documented classes. ++# class with other documented classes. Explicit enabling a collaboration graph, ++# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the ++# command \collaborationgraph. Disabling a collaboration graph can be ++# accomplished by means of the command \hidecollaborationgraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + COLLABORATION_GRAPH = YES + + # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for +-# groups, showing the direct groups dependencies. ++# groups, showing the direct groups dependencies. Explicit enabling a group ++# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means ++# of the command \groupgraph. Disabling a directory graph can be accomplished by ++# means of the command \hidegroupgraph. See also the chapter Grouping in the ++# manual. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2244,10 +2607,32 @@ UML_LOOK = NO + # but if the number exceeds 15, the total amount of fields shown is limited to + # 10. + # Minimum value: 0, maximum value: 100, default value: 10. +-# This tag requires that the tag HAVE_DOT is set to YES. ++# This tag requires that the tag UML_LOOK is set to YES. + + UML_LIMIT_NUM_FIELDS = 10 + ++# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and ++# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS ++# tag is set to YES, doxygen will add type and arguments for attributes and ++# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen ++# will not generate fields with class member information in the UML graphs. The ++# class diagrams will look similar to the default class diagrams but using UML ++# notation for the relationships. ++# Possible values are: NO, YES and NONE. ++# The default value is: NO. ++# This tag requires that the tag UML_LOOK is set to YES. ++ ++DOT_UML_DETAILS = NO ++ ++# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters ++# to display on a single line. If the actual line length exceeds this threshold ++# significantly it will be wrapped across multiple lines. Some heuristics are ++# applied to avoid ugly line breaks. ++# Minimum value: 0, maximum value: 1000, default value: 17. ++# This tag requires that the tag HAVE_DOT is set to YES. ++ ++DOT_WRAP_THRESHOLD = 17 ++ + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and + # collaboration graphs will show the relations between templates and their + # instances. +@@ -2259,7 +2644,9 @@ TEMPLATE_RELATIONS = NO + # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to + # YES then doxygen will generate a graph for each documented file showing the + # direct and indirect include dependencies of the file with other documented +-# files. ++# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, ++# can be accomplished by means of the command \includegraph. Disabling an ++# include graph can be accomplished by means of the command \hideincludegraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2268,7 +2655,10 @@ INCLUDE_GRAPH = YES + # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are + # set to YES then doxygen will generate a graph for each documented file showing + # the direct and indirect include dependencies of the file with other documented +-# files. ++# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set ++# to NO, can be accomplished by means of the command \includedbygraph. Disabling ++# an included by graph can be accomplished by means of the command ++# \hideincludedbygraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + +@@ -2308,16 +2698,26 @@ GRAPHICAL_HIERARCHY = YES + # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the + # dependencies a directory has on other directories in a graphical way. The + # dependency relations are determined by the #include relations between the +-# files in the directories. ++# files in the directories. Explicit enabling a directory graph, when ++# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command ++# \directorygraph. Disabling a directory graph can be accomplished by means of ++# the command \hidedirectorygraph. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + DIRECTORY_GRAPH = YES + ++# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels ++# of child directories generated in directory dependency graphs by dot. ++# Minimum value: 1, maximum value: 25, default value: 1. ++# This tag requires that the tag DIRECTORY_GRAPH is set to YES. ++ ++DIR_GRAPH_MAX_DEPTH = 1 ++ + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images + # generated by dot. For an explanation of the image formats see the section + # output formats in the documentation of the dot tool (Graphviz (see: +-# http://www.graphviz.org/)). ++# https://www.graphviz.org/)). + # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order + # to make the SVG files visible in IE 9+ (other browsers do not have this + # requirement). +@@ -2354,11 +2754,12 @@ DOT_PATH = + + DOTFILE_DIRS = + +-# The MSCFILE_DIRS tag can be used to specify one or more directories that +-# contain msc files that are included in the documentation (see the \mscfile +-# command). ++# You can include diagrams made with dia in doxygen documentation. Doxygen will ++# then run dia to produce the diagram and insert it in the documentation. The ++# DIA_PATH tag allows you to specify the directory where the dia binary resides. ++# If left empty dia is assumed to be found in the default search path. + +-MSCFILE_DIRS = ++DIA_PATH = + + # The DIAFILE_DIRS tag can be used to specify one or more directories that + # contain dia files that are included in the documentation (see the \diafile +@@ -2367,10 +2768,10 @@ MSCFILE_DIRS = + DIAFILE_DIRS = + + # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +-# path where java can find the plantuml.jar file. If left blank, it is assumed +-# PlantUML is not used or called during a preprocessing step. Doxygen will +-# generate a warning when it encounters a \startuml command in this case and +-# will not generate output for the diagram. ++# path where java can find the plantuml.jar file or to the filename of jar file ++# to be used. If left blank, it is assumed PlantUML is not used or called during ++# a preprocessing step. Doxygen will generate a warning when it encounters a ++# \startuml command in this case and will not generate output for the diagram. + + PLANTUML_JAR_PATH = + +@@ -2408,18 +2809,6 @@ DOT_GRAPH_MAX_NODES = 50 + + MAX_DOT_GRAPH_DEPTH = 0 + +-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +-# background. This is disabled by default, because dot on Windows does not seem +-# to support this out of the box. +-# +-# Warning: Depending on the platform used, enabling this option may lead to +-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +-# read). +-# The default value is: NO. +-# This tag requires that the tag HAVE_DOT is set to YES. +- +-DOT_TRANSPARENT = NO +- + # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output + # files in one run (i.e. multiple -o and -T options on the command line). This + # makes dot run faster, but since only newer versions of dot (>1.8.10) support +@@ -2432,14 +2821,34 @@ DOT_MULTI_TARGETS = NO + # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page + # explaining the meaning of the various boxes and arrows in the dot generated + # graphs. ++# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal ++# graphical representation for inheritance and collaboration diagrams is used. + # The default value is: YES. + # This tag requires that the tag HAVE_DOT is set to YES. + + GENERATE_LEGEND = YES + +-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot ++# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate + # files that are used to generate the various graphs. ++# ++# Note: This setting is not only used for dot files but also for msc temporary ++# files. + # The default value is: YES. +-# This tag requires that the tag HAVE_DOT is set to YES. + + DOT_CLEANUP = YES ++ ++# You can define message sequence charts within doxygen comments using the \msc ++# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will ++# use a built-in version of mscgen tool to produce the charts. Alternatively, ++# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, ++# specifying prog as the value, doxygen will call the tool as prog -T ++# -o . The external tool should support ++# output file formats "png", "eps", "svg", and "ismap". ++ ++MSCGEN_TOOL = ++ ++# The MSCFILE_DIRS tag can be used to specify one or more directories that ++# contain msc files that are included in the documentation (see the \mscfile ++# command). ++ ++MSCFILE_DIRS = diff --git a/SPECS/libocxl.spec b/SPECS/libocxl.spec new file mode 100644 index 0000000..9ceb581 --- /dev/null +++ b/SPECS/libocxl.spec @@ -0,0 +1,146 @@ +Name: libocxl +Version: 1.2.1 +Release: 10%{?dist} +Summary: Allows to implement a user-space driver for an OpenCAPI accelerator + +License: Apache-2.0 +URL: https://github.com/OpenCAPI/libocxl +Source0: https://github.com/OpenCAPI/libocxl/archive/%{version}/%{name}-%{version}.tar.gz +# https://github.com/OpenCAPI/libocxl/pull/52 +Patch0: libocxl-1.2.1-doxygen.patch + +ExclusiveArch: ppc64le + +BuildRequires: gcc +BuildRequires: doxygen +BuildRequires: make +BuildRequires: perl(English) +# for tests +BuildRequires: fuse-devel + +%description +Access library which allows to implement a user-space +driver for an OpenCAPI accelerator. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Recommends: %{name}-docs + +%package docs +Summary: Documentation files for %{name} +BuildArch: noarch + +%description devel +The *-devel package contains header file and man pages for +developing applications that use %{name}. + +%description docs +The *-docs package contains doxygen pages for +developing applications that use %{name}. + + +%prep +%autosetup -p1 + +%build +%set_build_flags +%make_build + +%install +%make_install PREFIX=%{_prefix} + +%check +%undefine _auto_set_build_flags +make testobj/unittests V=1 + + +%files +%license COPYING +%doc README.md +%{_libdir}/libocxl.so.* + +%files devel +%{_includedir}/* +%{_libdir}/libocxl.so +%{_mandir}/man3/* + +%files docs +%{_pkgdocdir} + + +%changelog +* Tue Jul 02 2024 Dan Horák - 1.2.1-10 +- update for recent doxygen + +* Mon Jun 24 2024 Troy Dawson - 1.2.1-9 +- Bump release for June 2024 mass rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.2.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.2.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.2.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.2.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 1.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 1.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 16 2021 Dan Horák - 1.2.1-1 +- updated to 1.2.1 + +* Tue May 11 2021 Timm Bäder - 1.1.0-8 +- Use %%make_build macro + +* Tue Jan 26 2021 Fedora Release Engineering - 1.1.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.1.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jun 25 2020 Michel Normand 1.1.0-5 +- Add remove_2_backslashes_in_shell_call.patch + Add remove_eng_inc_in_version_pl.patch + to avoid f33 build failure + +* Wed Jan 29 2020 Fedora Release Engineering - 1.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Aug 31 2018 michel normand 1.1.0-1 +- updated to 1.1.0 + Requires Linux headers >= 4.18 to compile + Add support for POWER9 wake_host_thread/wait + (requires a compiler with GNU extensions for inline assembler) + Generate warnings on ignored return values + Use opaque structs rather than void pointers for ocxl handles + (this should be transparent to callers) + Verified GCC 4-8 & Clang 3.6.2-6.0.1 produce correct machine code + for OpenCAPI, and whitelisted them + Verify & enforce that we compile with strict ANSI C (2011) + +* Fri Jul 13 2018 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 07 2018 Dan Horák - 1.0.0-1 +- updated to 1.0.0 final + +* Tue Apr 10 2018 michel normand 1.0.0-0.1 +- new package and spec file of libocxl from upstream + url: https://github.com/OpenCAPI/libocxl