[Openvpn-devel,v2] doxygen: add make target and use relative paths

Message ID 1510135312-16578-1-git-send-email-steffan.karger@fox-it.com
State Superseded
Headers show
Series [Openvpn-devel,v2] doxygen: add make target and use relative paths | expand

Commit Message

Steffan Karger Nov. 7, 2017, 11:01 p.m. UTC
Add a make target, such that 'make doxygen' works (both for in-tree and
out-of-tree builds).

While doing so, instead of genering docs with full path names (e.g.
/home/steffan/dev/openvpn/src/openvpn/crypto.h), use a relative path wrt
the project root (e.g. src/openvpn/crypto.h) in the generated
documentation.  This makes the generated doxygen easier to read.

Signed-off-by: Steffan Karger <steffan.karger@fox-it.com>
---
v2:
 - merge patches 1/2 and 2/2 from the v1 set
 - use abs_top_srcdir (instead of top_srcdir)

 Makefile.am                     |   5 +-
 configure.ac                    |   1 +
 doc/Makefile.am                 |   2 +
 doc/doxygen/openvpn.doxyfile    | 279 ----------------------------------------
 doc/doxygen/openvpn.doxyfile.in | 279 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 286 insertions(+), 280 deletions(-)
 delete mode 100644 doc/doxygen/openvpn.doxyfile
 create mode 100644 doc/doxygen/openvpn.doxyfile.in

Comments

Ilya Shipitsin Nov. 7, 2017, 11:21 p.m. UTC | #1
2017-11-08 15:01 GMT+05:00 Steffan Karger <steffan.karger@fox-it.com>:

> Add a make target, such that 'make doxygen' works (both for in-tree and
> out-of-tree builds).
>


should we add both variants of 'make doxygen' to travis-ci matrix ?


>
> While doing so, instead of genering docs with full path names (e.g.
> /home/steffan/dev/openvpn/src/openvpn/crypto.h), use a relative path wrt
> the project root (e.g. src/openvpn/crypto.h) in the generated
> documentation.  This makes the generated doxygen easier to read.
>
> Signed-off-by: Steffan Karger <steffan.karger@fox-it.com>
> ---
> v2:
>  - merge patches 1/2 and 2/2 from the v1 set
>  - use abs_top_srcdir (instead of top_srcdir)
>
>  Makefile.am                     |   5 +-
>  configure.ac                    |   1 +
>  doc/Makefile.am                 |   2 +
>  doc/doxygen/openvpn.doxyfile    | 279 ------------------------------
> ----------
>  doc/doxygen/openvpn.doxyfile.in | 279 ++++++++++++++++++++++++++++++
> ++++++++++
>  5 files changed, 286 insertions(+), 280 deletions(-)
>  delete mode 100644 doc/doxygen/openvpn.doxyfile
>  create mode 100644 doc/doxygen/openvpn.doxyfile.in
>
> diff --git a/Makefile.am b/Makefile.am
> index 87af724..34632c4 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -46,7 +46,7 @@ EXTRA_DIST = \
>         contrib \
>         debug
>
> -.PHONY: config-version.h
> +.PHONY: config-version.h doxygen
>
>  if GIT_CHECKOUT
>  BUILT_SOURCES = \
> @@ -96,3 +96,6 @@ config-version.h:
>         else \
>                 rm -f config-version.h.tmp; \
>         fi
> +
> +doxygen: doc/doxygen/openvpn.doxyfile
> +       doxygen doc/doxygen/openvpn.doxyfile
> diff --git a/configure.ac b/configure.ac
> index 45aa501..eca83e6 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1420,6 +1420,7 @@ AC_CONFIG_FILES([
>         distro/rpm/Makefile
>         distro/rpm/openvpn.spec
>         distro/systemd/Makefile
> +       doc/doxygen/openvpn.doxyfile
>         include/Makefile
>         src/Makefile
>         src/compat/Makefile
> diff --git a/doc/Makefile.am b/doc/Makefile.am
> index dedd1fa..f9e7f4a 100644
> --- a/doc/Makefile.am
> +++ b/doc/Makefile.am
> @@ -14,6 +14,8 @@ MAINTAINERCLEANFILES = \
>
>  CLEANFILES = openvpn.8.html
>
> +SUBDIRS = doxygen
> +
>  dist_doc_DATA = \
>         management-notes.txt
>
> diff --git a/doc/doxygen/openvpn.doxyfile b/doc/doxygen/openvpn.doxyfile
> deleted file mode 100644
> index a7d9728..0000000
> --- a/doc/doxygen/openvpn.doxyfile
> +++ /dev/null
> @@ -1,279 +0,0 @@
> -# Doxyfile 1.5.5
> -
> -#----------------------------------------------------------
> -----------------
> -# Project related configuration options
> -#----------------------------------------------------------
> -----------------
> -DOXYFILE_ENCODING      = UTF-8
> -PROJECT_NAME           = "OpenVPN"
> -PROJECT_NUMBER         =
> -OUTPUT_DIRECTORY       = doxygen
> -CREATE_SUBDIRS         = NO
> -OUTPUT_LANGUAGE        = English
> -BRIEF_MEMBER_DESC      = YES
> -REPEAT_BRIEF           = YES
> -ABBREVIATE_BRIEF       = "The $name class" \
> -                         "The $name widget" \
> -                         "The $name file" \
> -                         is \
> -                         provides \
> -                         specifies \
> -                         contains \
> -                         represents \
> -                         a \
> -                         an \
> -                         the
> -ALWAYS_DETAILED_SEC    = NO
> -INLINE_INHERITED_MEMB  = NO
> -FULL_PATH_NAMES        = YES
> -STRIP_FROM_PATH        = ""
> -STRIP_FROM_INC_PATH    =
> -SHORT_NAMES            = NO
> -JAVADOC_AUTOBRIEF      = YES # NO
> -QT_AUTOBRIEF           = NO
> -MULTILINE_CPP_IS_BRIEF = NO
> -DETAILS_AT_TOP         = NO
> -INHERIT_DOCS           = YES
> -SEPARATE_MEMBER_PAGES  = NO
> -TAB_SIZE               = 8
> -ALIASES                =
> -OPTIMIZE_OUTPUT_FOR_C  = YES
> -OPTIMIZE_OUTPUT_JAVA   = NO
> -OPTIMIZE_FOR_FORTRAN   = NO
> -OPTIMIZE_OUTPUT_VHDL   = NO
> -BUILTIN_STL_SUPPORT    = NO
> -CPP_CLI_SUPPORT        = NO
> -SIP_SUPPORT            = NO
> -DISTRIBUTE_GROUP_DOC   = NO
> -SUBGROUPING            = YES
> -TYPEDEF_HIDES_STRUCT   = NO
> -#----------------------------------------------------------
> -----------------
> -# Build related configuration options
> -#----------------------------------------------------------
> -----------------
> -EXTRACT_ALL            = YES
> -EXTRACT_PRIVATE        = YES
> -EXTRACT_STATIC         = YES
> -EXTRACT_LOCAL_CLASSES  = YES
> -EXTRACT_LOCAL_METHODS  = YES
> -EXTRACT_ANON_NSPACES   = YES
> -HIDE_UNDOC_MEMBERS     = NO
> -HIDE_UNDOC_CLASSES     = NO
> -HIDE_FRIEND_COMPOUNDS  = NO
> -HIDE_IN_BODY_DOCS      = NO
> -INTERNAL_DOCS          = NO
> -CASE_SENSE_NAMES       = NO
> -HIDE_SCOPE_NAMES       = NO
> -SHOW_INCLUDE_FILES     = YES
> -INLINE_INFO            = YES
> -SORT_MEMBER_DOCS       = YES
> -SORT_BRIEF_DOCS        = NO
> -SORT_GROUP_NAMES       = NO
> -SORT_BY_SCOPE_NAME     = NO
> -GENERATE_TODOLIST      = YES
> -GENERATE_TESTLIST      = YES
> -GENERATE_BUGLIST       = YES
> -GENERATE_DEPRECATEDLIST= YES
> -ENABLED_SECTIONS       =
> -MAX_INITIALIZER_LINES  = 30
> -SHOW_USED_FILES        = YES
> -SHOW_DIRECTORIES       = NO
> -FILE_VERSION_FILTER    =
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to warning and progress messages
> -#----------------------------------------------------------
> -----------------
> -QUIET                  = NO
> -WARNINGS               = YES
> -WARN_IF_UNDOCUMENTED   = YES
> -WARN_IF_DOC_ERROR      = YES
> -WARN_NO_PARAMDOC       = NO
> -WARN_FORMAT            = "$file:$line: $text"
> -WARN_LOGFILE           =
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the input files
> -#----------------------------------------------------------
> -----------------
> -INPUT                  = .
> -INPUT_ENCODING         = UTF-8
> -FILE_PATTERNS          = *.c \
> -                         *.cc \
> -                         *.cxx \
> -                         *.cpp \
> -                         *.c++ \
> -                         *.d \
> -                         *.java \
> -                         *.ii \
> -                         *.ixx \
> -                         *.ipp \
> -                         *.i++ \
> -                         *.inl \
> -                         *.h \
> -                         *.hh \
> -                         *.hxx \
> -                         *.hpp \
> -                         *.h++ \
> -                         *.idl \
> -                         *.odl \
> -                         *.cs \
> -                         *.php \
> -                         *.php3 \
> -                         *.inc \
> -                         *.m \
> -                         *.mm \
> -                         *.dox \
> -                         *.py \
> -                         *.f90 \
> -                         *.f \
> -                         *.vhd \
> -                         *.vhdl
> -RECURSIVE              = YES
> -EXCLUDE                =
> -EXCLUDE_SYMLINKS       = NO
> -EXCLUDE_PATTERNS       =
> -EXCLUDE_SYMBOLS        =
> -EXAMPLE_PATH           =
> -EXAMPLE_PATTERNS       = *
> -EXAMPLE_RECURSIVE      = NO
> -IMAGE_PATH             =
> -INPUT_FILTER           =
> -FILTER_PATTERNS        =
> -FILTER_SOURCE_FILES    = NO
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to source browsing
> -#----------------------------------------------------------
> -----------------
> -SOURCE_BROWSER         = YES
> -INLINE_SOURCES         = NO
> -STRIP_CODE_COMMENTS    = YES
> -REFERENCED_BY_RELATION = YES
> -REFERENCES_RELATION    = YES
> -REFERENCES_LINK_SOURCE = YES
> -USE_HTAGS              = NO
> -VERBATIM_HEADERS       = YES
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the alphabetical class index
> -#----------------------------------------------------------
> -----------------
> -ALPHABETICAL_INDEX     = NO
> -COLS_IN_ALPHA_INDEX    = 5
> -IGNORE_PREFIX          =
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the HTML output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_HTML          = YES
> -HTML_OUTPUT            = html
> -HTML_FILE_EXTENSION    = .html
> -HTML_HEADER            =
> -HTML_FOOTER            =
> -HTML_STYLESHEET        =
> -HTML_ALIGN_MEMBERS     = YES
> -GENERATE_HTMLHELP      = NO
> -GENERATE_DOCSET        = NO
> -DOCSET_FEEDNAME        = "Doxygen generated docs"
> -DOCSET_BUNDLE_ID       = org.doxygen.Project
> -HTML_DYNAMIC_SECTIONS  = NO
> -CHM_FILE               =
> -HHC_LOCATION           =
> -GENERATE_CHI           = NO
> -BINARY_TOC             = NO
> -TOC_EXPAND             = NO
> -DISABLE_INDEX          = NO
> -ENUM_VALUES_PER_LINE   = 4
> -GENERATE_TREEVIEW      = NO
> -TREEVIEW_WIDTH         = 250
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the LaTeX output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_LATEX         = YES
> -LATEX_OUTPUT           = latex
> -LATEX_CMD_NAME         = latex
> -MAKEINDEX_CMD_NAME     = makeindex
> -COMPACT_LATEX          = YES # NO
> -PAPER_TYPE             = a4wide
> -EXTRA_PACKAGES         =
> -LATEX_HEADER           =
> -PDF_HYPERLINKS         = YES
> -USE_PDFLATEX           = YES
> -LATEX_BATCHMODE        = NO
> -LATEX_HIDE_INDICES     = NO
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the RTF output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_RTF           = NO
> -RTF_OUTPUT             = rtf
> -COMPACT_RTF            = NO
> -RTF_HYPERLINKS         = NO
> -RTF_STYLESHEET_FILE    =
> -RTF_EXTENSIONS_FILE    =
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the man page output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_MAN           = NO
> -MAN_OUTPUT             = man
> -MAN_EXTENSION          = .3
> -MAN_LINKS              = NO
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the XML output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_XML           = NO
> -XML_OUTPUT             = xml
> -XML_SCHEMA             =
> -XML_DTD                =
> -XML_PROGRAMLISTING     = YES
> -#----------------------------------------------------------
> -----------------
> -# configuration options for the AutoGen Definitions output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_AUTOGEN_DEF   = NO
> -#----------------------------------------------------------
> -----------------
> -# configuration options related to the Perl module output
> -#----------------------------------------------------------
> -----------------
> -GENERATE_PERLMOD       = NO
> -PERLMOD_LATEX          = NO
> -PERLMOD_PRETTY         = YES
> -PERLMOD_MAKEVAR_PREFIX =
> -#----------------------------------------------------------
> -----------------
> -# Configuration options related to the preprocessor
> -#----------------------------------------------------------
> -----------------
> -ENABLE_PREPROCESSING   = YES
> -MACRO_EXPANSION        = NO
> -EXPAND_ONLY_PREDEF     = NO
> -SEARCH_INCLUDES        = YES
> -INCLUDE_PATH           =
> -INCLUDE_FILE_PATTERNS  =
> -PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP
> P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN
> ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY
> -EXPAND_AS_DEFINED      =
> -SKIP_FUNCTION_MACROS   = YES
> -#----------------------------------------------------------
> -----------------
> -# Configuration::additions related to external references
> -#----------------------------------------------------------
> -----------------
> -TAGFILES               =
> -GENERATE_TAGFILE       =
> -ALLEXTERNALS           = NO
> -EXTERNAL_GROUPS        = YES
> -PERL_PATH              = /usr/bin/perl
> -#----------------------------------------------------------
> -----------------
> -# Configuration options related to the dot tool
> -#----------------------------------------------------------
> -----------------
> -CLASS_DIAGRAMS         = NO
> -MSCGEN_PATH            =
> -HIDE_UNDOC_RELATIONS   = YES
> -HAVE_DOT               = YES
> -CLASS_GRAPH            = YES
> -COLLABORATION_GRAPH    = YES
> -GROUP_GRAPHS           = YES
> -UML_LOOK               = NO
> -TEMPLATE_RELATIONS     = NO
> -INCLUDE_GRAPH          = YES
> -INCLUDED_BY_GRAPH      = YES
> -CALL_GRAPH             = NO # YES
> -CALLER_GRAPH           = NO # YES
> -GRAPHICAL_HIERARCHY    = YES
> -DIRECTORY_GRAPH        = YES
> -DOT_IMAGE_FORMAT       = png
> -DOT_PATH               = "/usr/bin/dot"
> -DOTFILE_DIRS           =
> -DOT_GRAPH_MAX_NODES    = 50
> -MAX_DOT_GRAPH_DEPTH    = 1000
> -DOT_TRANSPARENT        = YES
> -DOT_MULTI_TARGETS      = NO
> -GENERATE_LEGEND        = YES
> -DOT_CLEANUP            = YES
> -#----------------------------------------------------------
> -----------------
> -# Configuration::additions related to the search engine
> -#----------------------------------------------------------
> -----------------
> -SEARCHENGINE           = NO
> diff --git a/doc/doxygen/openvpn.doxyfile.in b/doc/doxygen/openvpn.
> doxyfile.in
> new file mode 100644
> index 0000000..e1cdc3b
> --- /dev/null
> +++ b/doc/doxygen/openvpn.doxyfile.in
> @@ -0,0 +1,279 @@
> +# Doxyfile 1.5.5
> +
> +#----------------------------------------------------------
> -----------------
> +# Project related configuration options
> +#----------------------------------------------------------
> -----------------
> +DOXYFILE_ENCODING      = UTF-8
> +PROJECT_NAME           = "OpenVPN"
> +PROJECT_NUMBER         =
> +OUTPUT_DIRECTORY       = doxygen
> +CREATE_SUBDIRS         = NO
> +OUTPUT_LANGUAGE        = English
> +BRIEF_MEMBER_DESC      = YES
> +REPEAT_BRIEF           = YES
> +ABBREVIATE_BRIEF       = "The $name class" \
> +                         "The $name widget" \
> +                         "The $name file" \
> +                         is \
> +                         provides \
> +                         specifies \
> +                         contains \
> +                         represents \
> +                         a \
> +                         an \
> +                         the
> +ALWAYS_DETAILED_SEC    = NO
> +INLINE_INHERITED_MEMB  = NO
> +FULL_PATH_NAMES        = YES
> +STRIP_FROM_PATH        = @abs_top_srcdir@
> +STRIP_FROM_INC_PATH    =
> +SHORT_NAMES            = NO
> +JAVADOC_AUTOBRIEF      = YES # NO
> +QT_AUTOBRIEF           = NO
> +MULTILINE_CPP_IS_BRIEF = NO
> +DETAILS_AT_TOP         = NO
> +INHERIT_DOCS           = YES
> +SEPARATE_MEMBER_PAGES  = NO
> +TAB_SIZE               = 8
> +ALIASES                =
> +OPTIMIZE_OUTPUT_FOR_C  = YES
> +OPTIMIZE_OUTPUT_JAVA   = NO
> +OPTIMIZE_FOR_FORTRAN   = NO
> +OPTIMIZE_OUTPUT_VHDL   = NO
> +BUILTIN_STL_SUPPORT    = NO
> +CPP_CLI_SUPPORT        = NO
> +SIP_SUPPORT            = NO
> +DISTRIBUTE_GROUP_DOC   = NO
> +SUBGROUPING            = YES
> +TYPEDEF_HIDES_STRUCT   = NO
> +#----------------------------------------------------------
> -----------------
> +# Build related configuration options
> +#----------------------------------------------------------
> -----------------
> +EXTRACT_ALL            = YES
> +EXTRACT_PRIVATE        = YES
> +EXTRACT_STATIC         = YES
> +EXTRACT_LOCAL_CLASSES  = YES
> +EXTRACT_LOCAL_METHODS  = YES
> +EXTRACT_ANON_NSPACES   = YES
> +HIDE_UNDOC_MEMBERS     = NO
> +HIDE_UNDOC_CLASSES     = NO
> +HIDE_FRIEND_COMPOUNDS  = NO
> +HIDE_IN_BODY_DOCS      = NO
> +INTERNAL_DOCS          = NO
> +CASE_SENSE_NAMES       = NO
> +HIDE_SCOPE_NAMES       = NO
> +SHOW_INCLUDE_FILES     = YES
> +INLINE_INFO            = YES
> +SORT_MEMBER_DOCS       = YES
> +SORT_BRIEF_DOCS        = NO
> +SORT_GROUP_NAMES       = NO
> +SORT_BY_SCOPE_NAME     = NO
> +GENERATE_TODOLIST      = YES
> +GENERATE_TESTLIST      = YES
> +GENERATE_BUGLIST       = YES
> +GENERATE_DEPRECATEDLIST= YES
> +ENABLED_SECTIONS       =
> +MAX_INITIALIZER_LINES  = 30
> +SHOW_USED_FILES        = YES
> +SHOW_DIRECTORIES       = NO
> +FILE_VERSION_FILTER    =
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to warning and progress messages
> +#----------------------------------------------------------
> -----------------
> +QUIET                  = NO
> +WARNINGS               = YES
> +WARN_IF_UNDOCUMENTED   = YES
> +WARN_IF_DOC_ERROR      = YES
> +WARN_NO_PARAMDOC       = NO
> +WARN_FORMAT            = "$file:$line: $text"
> +WARN_LOGFILE           =
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the input files
> +#----------------------------------------------------------
> -----------------
> +INPUT                  = @abs_top_srcdir@
> +INPUT_ENCODING         = UTF-8
> +FILE_PATTERNS          = *.c \
> +                         *.cc \
> +                         *.cxx \
> +                         *.cpp \
> +                         *.c++ \
> +                         *.d \
> +                         *.java \
> +                         *.ii \
> +                         *.ixx \
> +                         *.ipp \
> +                         *.i++ \
> +                         *.inl \
> +                         *.h \
> +                         *.hh \
> +                         *.hxx \
> +                         *.hpp \
> +                         *.h++ \
> +                         *.idl \
> +                         *.odl \
> +                         *.cs \
> +                         *.php \
> +                         *.php3 \
> +                         *.inc \
> +                         *.m \
> +                         *.mm \
> +                         *.dox \
> +                         *.py \
> +                         *.f90 \
> +                         *.f \
> +                         *.vhd \
> +                         *.vhdl
> +RECURSIVE              = YES
> +EXCLUDE                =
> +EXCLUDE_SYMLINKS       = NO
> +EXCLUDE_PATTERNS       =
> +EXCLUDE_SYMBOLS        =
> +EXAMPLE_PATH           =
> +EXAMPLE_PATTERNS       = *
> +EXAMPLE_RECURSIVE      = NO
> +IMAGE_PATH             =
> +INPUT_FILTER           =
> +FILTER_PATTERNS        =
> +FILTER_SOURCE_FILES    = NO
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to source browsing
> +#----------------------------------------------------------
> -----------------
> +SOURCE_BROWSER         = YES
> +INLINE_SOURCES         = NO
> +STRIP_CODE_COMMENTS    = YES
> +REFERENCED_BY_RELATION = YES
> +REFERENCES_RELATION    = YES
> +REFERENCES_LINK_SOURCE = YES
> +USE_HTAGS              = NO
> +VERBATIM_HEADERS       = YES
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the alphabetical class index
> +#----------------------------------------------------------
> -----------------
> +ALPHABETICAL_INDEX     = NO
> +COLS_IN_ALPHA_INDEX    = 5
> +IGNORE_PREFIX          =
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the HTML output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_HTML          = YES
> +HTML_OUTPUT            = html
> +HTML_FILE_EXTENSION    = .html
> +HTML_HEADER            =
> +HTML_FOOTER            =
> +HTML_STYLESHEET        =
> +HTML_ALIGN_MEMBERS     = YES
> +GENERATE_HTMLHELP      = NO
> +GENERATE_DOCSET        = NO
> +DOCSET_FEEDNAME        = "Doxygen generated docs"
> +DOCSET_BUNDLE_ID       = org.doxygen.Project
> +HTML_DYNAMIC_SECTIONS  = NO
> +CHM_FILE               =
> +HHC_LOCATION           =
> +GENERATE_CHI           = NO
> +BINARY_TOC             = NO
> +TOC_EXPAND             = NO
> +DISABLE_INDEX          = NO
> +ENUM_VALUES_PER_LINE   = 4
> +GENERATE_TREEVIEW      = NO
> +TREEVIEW_WIDTH         = 250
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the LaTeX output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_LATEX         = YES
> +LATEX_OUTPUT           = latex
> +LATEX_CMD_NAME         = latex
> +MAKEINDEX_CMD_NAME     = makeindex
> +COMPACT_LATEX          = YES # NO
> +PAPER_TYPE             = a4wide
> +EXTRA_PACKAGES         =
> +LATEX_HEADER           =
> +PDF_HYPERLINKS         = YES
> +USE_PDFLATEX           = YES
> +LATEX_BATCHMODE        = NO
> +LATEX_HIDE_INDICES     = NO
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the RTF output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_RTF           = NO
> +RTF_OUTPUT             = rtf
> +COMPACT_RTF            = NO
> +RTF_HYPERLINKS         = NO
> +RTF_STYLESHEET_FILE    =
> +RTF_EXTENSIONS_FILE    =
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the man page output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_MAN           = NO
> +MAN_OUTPUT             = man
> +MAN_EXTENSION          = .3
> +MAN_LINKS              = NO
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the XML output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_XML           = NO
> +XML_OUTPUT             = xml
> +XML_SCHEMA             =
> +XML_DTD                =
> +XML_PROGRAMLISTING     = YES
> +#----------------------------------------------------------
> -----------------
> +# configuration options for the AutoGen Definitions output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_AUTOGEN_DEF   = NO
> +#----------------------------------------------------------
> -----------------
> +# configuration options related to the Perl module output
> +#----------------------------------------------------------
> -----------------
> +GENERATE_PERLMOD       = NO
> +PERLMOD_LATEX          = NO
> +PERLMOD_PRETTY         = YES
> +PERLMOD_MAKEVAR_PREFIX =
> +#----------------------------------------------------------
> -----------------
> +# Configuration options related to the preprocessor
> +#----------------------------------------------------------
> -----------------
> +ENABLE_PREPROCESSING   = YES
> +MACRO_EXPANSION        = NO
> +EXPAND_ONLY_PREDEF     = NO
> +SEARCH_INCLUDES        = YES
> +INCLUDE_PATH           =
> +INCLUDE_FILE_PATTERNS  =
> +PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP
> P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN
> ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY
> +EXPAND_AS_DEFINED      =
> +SKIP_FUNCTION_MACROS   = YES
> +#----------------------------------------------------------
> -----------------
> +# Configuration::additions related to external references
> +#----------------------------------------------------------
> -----------------
> +TAGFILES               =
> +GENERATE_TAGFILE       =
> +ALLEXTERNALS           = NO
> +EXTERNAL_GROUPS        = YES
> +PERL_PATH              = /usr/bin/perl
> +#----------------------------------------------------------
> -----------------
> +# Configuration options related to the dot tool
> +#----------------------------------------------------------
> -----------------
> +CLASS_DIAGRAMS         = NO
> +MSCGEN_PATH            =
> +HIDE_UNDOC_RELATIONS   = YES
> +HAVE_DOT               = YES
> +CLASS_GRAPH            = YES
> +COLLABORATION_GRAPH    = YES
> +GROUP_GRAPHS           = YES
> +UML_LOOK               = NO
> +TEMPLATE_RELATIONS     = NO
> +INCLUDE_GRAPH          = YES
> +INCLUDED_BY_GRAPH      = YES
> +CALL_GRAPH             = NO # YES
> +CALLER_GRAPH           = NO # YES
> +GRAPHICAL_HIERARCHY    = YES
> +DIRECTORY_GRAPH        = YES
> +DOT_IMAGE_FORMAT       = png
> +DOT_PATH               = "/usr/bin/dot"
> +DOTFILE_DIRS           =
> +DOT_GRAPH_MAX_NODES    = 50
> +MAX_DOT_GRAPH_DEPTH    = 1000
> +DOT_TRANSPARENT        = YES
> +DOT_MULTI_TARGETS      = NO
> +GENERATE_LEGEND        = YES
> +DOT_CLEANUP            = YES
> +#----------------------------------------------------------
> -----------------
> +# Configuration::additions related to the search engine
> +#----------------------------------------------------------
> -----------------
> +SEARCHENGINE           = NO
> --
> 2.7.4
>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
>
<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-11-08 15:01 GMT+05:00 Steffan Karger <span dir="ltr">&lt;<a href="mailto:steffan.karger@fox-it.com" target="_blank">steffan.karger@fox-it.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Add a make target, such that &#39;make doxygen&#39; works (both for in-tree and<br>
out-of-tree builds).<br></blockquote><div><br><br></div><div>should we add both variants of &#39;make doxygen&#39; to travis-ci matrix ?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
While doing so, instead of genering docs with full path names (e.g.<br>
/home/steffan/dev/openvpn/src/<wbr>openvpn/crypto.h), use a relative path wrt<br>
the project root (e.g. src/openvpn/crypto.h) in the generated<br>
documentation.  This makes the generated doxygen easier to read.<br>
<br>
Signed-off-by: Steffan Karger &lt;<a href="mailto:steffan.karger@fox-it.com">steffan.karger@fox-it.com</a>&gt;<br>
---<br>
v2:<br>
 - merge patches 1/2 and 2/2 from the v1 set<br>
 - use abs_top_srcdir (instead of top_srcdir)<br>
<br>
 Makefile.am                     |   5 +-<br>
 <a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a>                    |   1 +<br>
 doc/Makefile.am                 |   2 +<br>
 doc/doxygen/openvpn.doxyfile    | 279 ------------------------------<wbr>----------<br>
 doc/doxygen/<a href="http://openvpn.doxyfile.in" rel="noreferrer" target="_blank">openvpn.doxyfile.<wbr>in</a> | 279 ++++++++++++++++++++++++++++++<wbr>++++++++++<br>
 5 files changed, 286 insertions(+), 280 deletions(-)<br>
 delete mode 100644 doc/doxygen/openvpn.doxyfile<br>
 create mode 100644 doc/doxygen/<a href="http://openvpn.doxyfile.in" rel="noreferrer" target="_blank">openvpn.doxyfile.<wbr>in</a><br>
<br>
diff --git a/Makefile.am b/Makefile.am<br>
index 87af724..34632c4 100644<br>
--- a/Makefile.am<br>
+++ b/Makefile.am<br>
@@ -46,7 +46,7 @@ EXTRA_DIST = \<br>
        contrib \<br>
        debug<br>
<br>
-.PHONY: config-version.h<br>
+.PHONY: config-version.h doxygen<br>
<br>
 if GIT_CHECKOUT<br>
 BUILT_SOURCES = \<br>
@@ -96,3 +96,6 @@ config-version.h:<br>
        else \<br>
                rm -f config-version.h.tmp; \<br>
        fi<br>
+<br>
+doxygen: doc/doxygen/openvpn.doxyfile<br>
+       doxygen doc/doxygen/openvpn.doxyfile<br>
diff --git a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a> b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
index 45aa501..eca83e6 100644<br>
--- a/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
+++ b/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.ac</a><br>
@@ -1420,6 +1420,7 @@ AC_CONFIG_FILES([<br>
        distro/rpm/Makefile<br>
        distro/rpm/openvpn.spec<br>
        distro/systemd/Makefile<br>
+       doc/doxygen/openvpn.doxyfile<br>
        include/Makefile<br>
        src/Makefile<br>
        src/compat/Makefile<br>
diff --git a/doc/Makefile.am b/doc/Makefile.am<br>
index dedd1fa..f9e7f4a 100644<br>
--- a/doc/Makefile.am<br>
+++ b/doc/Makefile.am<br>
@@ -14,6 +14,8 @@ MAINTAINERCLEANFILES = \<br>
<br>
 CLEANFILES = openvpn.8.html<br>
<br>
+SUBDIRS = doxygen<br>
+<br>
 dist_doc_DATA = \<br>
        management-notes.txt<br>
<br>
diff --git a/doc/doxygen/openvpn.doxyfile b/doc/doxygen/openvpn.doxyfile<br>
deleted file mode 100644<br>
index a7d9728..0000000<br>
--- a/doc/doxygen/openvpn.doxyfile<br>
+++ /dev/null<br>
@@ -1,279 +0,0 @@<br>
-# Doxyfile 1.5.5<br>
-<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Project related configuration options<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-DOXYFILE_ENCODING      = UTF-8<br>
-PROJECT_NAME           = &quot;OpenVPN&quot;<br>
-PROJECT_NUMBER         =<br>
-OUTPUT_DIRECTORY       = doxygen<br>
-CREATE_SUBDIRS         = NO<br>
-OUTPUT_LANGUAGE        = English<br>
-BRIEF_MEMBER_DESC      = YES<br>
-REPEAT_BRIEF           = YES<br>
-ABBREVIATE_BRIEF       = &quot;The $name class&quot; \<br>
-                         &quot;The $name widget&quot; \<br>
-                         &quot;The $name file&quot; \<br>
-                         is \<br>
-                         provides \<br>
-                         specifies \<br>
-                         contains \<br>
-                         represents \<br>
-                         a \<br>
-                         an \<br>
-                         the<br>
-ALWAYS_DETAILED_SEC    = NO<br>
-INLINE_INHERITED_MEMB  = NO<br>
-FULL_PATH_NAMES        = YES<br>
-STRIP_FROM_PATH        = &quot;&quot;<br>
-STRIP_FROM_INC_PATH    =<br>
-SHORT_NAMES            = NO<br>
-JAVADOC_AUTOBRIEF      = YES # NO<br>
-QT_AUTOBRIEF           = NO<br>
-MULTILINE_CPP_IS_BRIEF = NO<br>
-DETAILS_AT_TOP         = NO<br>
-INHERIT_DOCS           = YES<br>
-SEPARATE_MEMBER_PAGES  = NO<br>
-TAB_SIZE               = 8<br>
-ALIASES                =<br>
-OPTIMIZE_OUTPUT_FOR_C  = YES<br>
-OPTIMIZE_OUTPUT_JAVA   = NO<br>
-OPTIMIZE_FOR_FORTRAN   = NO<br>
-OPTIMIZE_OUTPUT_VHDL   = NO<br>
-BUILTIN_STL_SUPPORT    = NO<br>
-CPP_CLI_SUPPORT        = NO<br>
-SIP_SUPPORT            = NO<br>
-DISTRIBUTE_GROUP_DOC   = NO<br>
-SUBGROUPING            = YES<br>
-TYPEDEF_HIDES_STRUCT   = NO<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Build related configuration options<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-EXTRACT_ALL            = YES<br>
-EXTRACT_PRIVATE        = YES<br>
-EXTRACT_STATIC         = YES<br>
-EXTRACT_LOCAL_CLASSES  = YES<br>
-EXTRACT_LOCAL_METHODS  = YES<br>
-EXTRACT_ANON_NSPACES   = YES<br>
-HIDE_UNDOC_MEMBERS     = NO<br>
-HIDE_UNDOC_CLASSES     = NO<br>
-HIDE_FRIEND_COMPOUNDS  = NO<br>
-HIDE_IN_BODY_DOCS      = NO<br>
-INTERNAL_DOCS          = NO<br>
-CASE_SENSE_NAMES       = NO<br>
-HIDE_SCOPE_NAMES       = NO<br>
-SHOW_INCLUDE_FILES     = YES<br>
-INLINE_INFO            = YES<br>
-SORT_MEMBER_DOCS       = YES<br>
-SORT_BRIEF_DOCS        = NO<br>
-SORT_GROUP_NAMES       = NO<br>
-SORT_BY_SCOPE_NAME     = NO<br>
-GENERATE_TODOLIST      = YES<br>
-GENERATE_TESTLIST      = YES<br>
-GENERATE_BUGLIST       = YES<br>
-GENERATE_DEPRECATEDLIST= YES<br>
-ENABLED_SECTIONS       =<br>
-MAX_INITIALIZER_LINES  = 30<br>
-SHOW_USED_FILES        = YES<br>
-SHOW_DIRECTORIES       = NO<br>
-FILE_VERSION_FILTER    =<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to warning and progress messages<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-QUIET                  = NO<br>
-WARNINGS               = YES<br>
-WARN_IF_UNDOCUMENTED   = YES<br>
-WARN_IF_DOC_ERROR      = YES<br>
-WARN_NO_PARAMDOC       = NO<br>
-WARN_FORMAT            = &quot;$file:$line: $text&quot;<br>
-WARN_LOGFILE           =<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the input files<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-INPUT                  = .<br>
-INPUT_ENCODING         = UTF-8<br>
-FILE_PATTERNS          = *.c \<br>
-                         *.cc \<br>
-                         *.cxx \<br>
-                         *.cpp \<br>
-                         *.c++ \<br>
-                         *.d \<br>
-                         *.java \<br>
-                         *.ii \<br>
-                         *.ixx \<br>
-                         *.ipp \<br>
-                         *.i++ \<br>
-                         *.inl \<br>
-                         *.h \<br>
-                         *.hh \<br>
-                         *.hxx \<br>
-                         *.hpp \<br>
-                         *.h++ \<br>
-                         *.idl \<br>
-                         *.odl \<br>
-                         *.cs \<br>
-                         *.php \<br>
-                         *.php3 \<br>
-                         *.inc \<br>
-                         *.m \<br>
-                         *.mm \<br>
-                         *.dox \<br>
-                         *.py \<br>
-                         *.f90 \<br>
-                         *.f \<br>
-                         *.vhd \<br>
-                         *.vhdl<br>
-RECURSIVE              = YES<br>
-EXCLUDE                =<br>
-EXCLUDE_SYMLINKS       = NO<br>
-EXCLUDE_PATTERNS       =<br>
-EXCLUDE_SYMBOLS        =<br>
-EXAMPLE_PATH           =<br>
-EXAMPLE_PATTERNS       = *<br>
-EXAMPLE_RECURSIVE      = NO<br>
-IMAGE_PATH             =<br>
-INPUT_FILTER           =<br>
-FILTER_PATTERNS        =<br>
-FILTER_SOURCE_FILES    = NO<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to source browsing<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-SOURCE_BROWSER         = YES<br>
-INLINE_SOURCES         = NO<br>
-STRIP_CODE_COMMENTS    = YES<br>
-REFERENCED_BY_RELATION = YES<br>
-REFERENCES_RELATION    = YES<br>
-REFERENCES_LINK_SOURCE = YES<br>
-USE_HTAGS              = NO<br>
-VERBATIM_HEADERS       = YES<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the alphabetical class index<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-ALPHABETICAL_INDEX     = NO<br>
-COLS_IN_ALPHA_INDEX    = 5<br>
-IGNORE_PREFIX          =<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the HTML output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_HTML          = YES<br>
-HTML_OUTPUT            = html<br>
-HTML_FILE_EXTENSION    = .html<br>
-HTML_HEADER            =<br>
-HTML_FOOTER            =<br>
-HTML_STYLESHEET        =<br>
-HTML_ALIGN_MEMBERS     = YES<br>
-GENERATE_HTMLHELP      = NO<br>
-GENERATE_DOCSET        = NO<br>
-DOCSET_FEEDNAME        = &quot;Doxygen generated docs&quot;<br>
-DOCSET_BUNDLE_ID       = org.doxygen.Project<br>
-HTML_DYNAMIC_SECTIONS  = NO<br>
-CHM_FILE               =<br>
-HHC_LOCATION           =<br>
-GENERATE_CHI           = NO<br>
-BINARY_TOC             = NO<br>
-TOC_EXPAND             = NO<br>
-DISABLE_INDEX          = NO<br>
-ENUM_VALUES_PER_LINE   = 4<br>
-GENERATE_TREEVIEW      = NO<br>
-TREEVIEW_WIDTH         = 250<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the LaTeX output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_LATEX         = YES<br>
-LATEX_OUTPUT           = latex<br>
-LATEX_CMD_NAME         = latex<br>
-MAKEINDEX_CMD_NAME     = makeindex<br>
-COMPACT_LATEX          = YES # NO<br>
-PAPER_TYPE             = a4wide<br>
-EXTRA_PACKAGES         =<br>
-LATEX_HEADER           =<br>
-PDF_HYPERLINKS         = YES<br>
-USE_PDFLATEX           = YES<br>
-LATEX_BATCHMODE        = NO<br>
-LATEX_HIDE_INDICES     = NO<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the RTF output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_RTF           = NO<br>
-RTF_OUTPUT             = rtf<br>
-COMPACT_RTF            = NO<br>
-RTF_HYPERLINKS         = NO<br>
-RTF_STYLESHEET_FILE    =<br>
-RTF_EXTENSIONS_FILE    =<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the man page output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_MAN           = NO<br>
-MAN_OUTPUT             = man<br>
-MAN_EXTENSION          = .3<br>
-MAN_LINKS              = NO<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the XML output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_XML           = NO<br>
-XML_OUTPUT             = xml<br>
-XML_SCHEMA             =<br>
-XML_DTD                =<br>
-XML_PROGRAMLISTING     = YES<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options for the AutoGen Definitions output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_AUTOGEN_DEF   = NO<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# configuration options related to the Perl module output<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-GENERATE_PERLMOD       = NO<br>
-PERLMOD_LATEX          = NO<br>
-PERLMOD_PRETTY         = YES<br>
-PERLMOD_MAKEVAR_PREFIX =<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Configuration options related to the preprocessor<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-ENABLE_PREPROCESSING   = YES<br>
-MACRO_EXPANSION        = NO<br>
-EXPAND_ONLY_PREDEF     = NO<br>
-SEARCH_INCLUDES        = YES<br>
-INCLUDE_PATH           =<br>
-INCLUDE_FILE_PATTERNS  =<br>
-PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY<br>
-EXPAND_AS_DEFINED      =<br>
-SKIP_FUNCTION_MACROS   = YES<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Configuration::additions related to external references<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-TAGFILES               =<br>
-GENERATE_TAGFILE       =<br>
-ALLEXTERNALS           = NO<br>
-EXTERNAL_GROUPS        = YES<br>
-PERL_PATH              = /usr/bin/perl<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Configuration options related to the dot tool<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-CLASS_DIAGRAMS         = NO<br>
-MSCGEN_PATH            =<br>
-HIDE_UNDOC_RELATIONS   = YES<br>
-HAVE_DOT               = YES<br>
-CLASS_GRAPH            = YES<br>
-COLLABORATION_GRAPH    = YES<br>
-GROUP_GRAPHS           = YES<br>
-UML_LOOK               = NO<br>
-TEMPLATE_RELATIONS     = NO<br>
-INCLUDE_GRAPH          = YES<br>
-INCLUDED_BY_GRAPH      = YES<br>
-CALL_GRAPH             = NO # YES<br>
-CALLER_GRAPH           = NO # YES<br>
-GRAPHICAL_HIERARCHY    = YES<br>
-DIRECTORY_GRAPH        = YES<br>
-DOT_IMAGE_FORMAT       = png<br>
-DOT_PATH               = &quot;/usr/bin/dot&quot;<br>
-DOTFILE_DIRS           =<br>
-DOT_GRAPH_MAX_NODES    = 50<br>
-MAX_DOT_GRAPH_DEPTH    = 1000<br>
-DOT_TRANSPARENT        = YES<br>
-DOT_MULTI_TARGETS      = NO<br>
-GENERATE_LEGEND        = YES<br>
-DOT_CLEANUP            = YES<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-# Configuration::additions related to the search engine<br>
-#----------------------------<wbr>------------------------------<wbr>-----------------<br>
-SEARCHENGINE           = NO<br>
diff --git a/doc/doxygen/<a href="http://openvpn.doxyfile.in" rel="noreferrer" target="_blank">openvpn.<wbr>doxyfile.in</a> b/doc/doxygen/<a href="http://openvpn.doxyfile.in" rel="noreferrer" target="_blank">openvpn.<wbr>doxyfile.in</a><br>
new file mode 100644<br>
index 0000000..e1cdc3b<br>
--- /dev/null<br>
+++ b/doc/doxygen/<a href="http://openvpn.doxyfile.in" rel="noreferrer" target="_blank">openvpn.<wbr>doxyfile.in</a><br>
@@ -0,0 +1,279 @@<br>
+# Doxyfile 1.5.5<br>
+<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Project related configuration options<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+DOXYFILE_ENCODING      = UTF-8<br>
+PROJECT_NAME           = &quot;OpenVPN&quot;<br>
+PROJECT_NUMBER         =<br>
+OUTPUT_DIRECTORY       = doxygen<br>
+CREATE_SUBDIRS         = NO<br>
+OUTPUT_LANGUAGE        = English<br>
+BRIEF_MEMBER_DESC      = YES<br>
+REPEAT_BRIEF           = YES<br>
+ABBREVIATE_BRIEF       = &quot;The $name class&quot; \<br>
+                         &quot;The $name widget&quot; \<br>
+                         &quot;The $name file&quot; \<br>
+                         is \<br>
+                         provides \<br>
+                         specifies \<br>
+                         contains \<br>
+                         represents \<br>
+                         a \<br>
+                         an \<br>
+                         the<br>
+ALWAYS_DETAILED_SEC    = NO<br>
+INLINE_INHERITED_MEMB  = NO<br>
+FULL_PATH_NAMES        = YES<br>
+STRIP_FROM_PATH        = @abs_top_srcdir@<br>
+STRIP_FROM_INC_PATH    =<br>
+SHORT_NAMES            = NO<br>
+JAVADOC_AUTOBRIEF      = YES # NO<br>
+QT_AUTOBRIEF           = NO<br>
+MULTILINE_CPP_IS_BRIEF = NO<br>
+DETAILS_AT_TOP         = NO<br>
+INHERIT_DOCS           = YES<br>
+SEPARATE_MEMBER_PAGES  = NO<br>
+TAB_SIZE               = 8<br>
+ALIASES                =<br>
+OPTIMIZE_OUTPUT_FOR_C  = YES<br>
+OPTIMIZE_OUTPUT_JAVA   = NO<br>
+OPTIMIZE_FOR_FORTRAN   = NO<br>
+OPTIMIZE_OUTPUT_VHDL   = NO<br>
+BUILTIN_STL_SUPPORT    = NO<br>
+CPP_CLI_SUPPORT        = NO<br>
+SIP_SUPPORT            = NO<br>
+DISTRIBUTE_GROUP_DOC   = NO<br>
+SUBGROUPING            = YES<br>
+TYPEDEF_HIDES_STRUCT   = NO<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Build related configuration options<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+EXTRACT_ALL            = YES<br>
+EXTRACT_PRIVATE        = YES<br>
+EXTRACT_STATIC         = YES<br>
+EXTRACT_LOCAL_CLASSES  = YES<br>
+EXTRACT_LOCAL_METHODS  = YES<br>
+EXTRACT_ANON_NSPACES   = YES<br>
+HIDE_UNDOC_MEMBERS     = NO<br>
+HIDE_UNDOC_CLASSES     = NO<br>
+HIDE_FRIEND_COMPOUNDS  = NO<br>
+HIDE_IN_BODY_DOCS      = NO<br>
+INTERNAL_DOCS          = NO<br>
+CASE_SENSE_NAMES       = NO<br>
+HIDE_SCOPE_NAMES       = NO<br>
+SHOW_INCLUDE_FILES     = YES<br>
+INLINE_INFO            = YES<br>
+SORT_MEMBER_DOCS       = YES<br>
+SORT_BRIEF_DOCS        = NO<br>
+SORT_GROUP_NAMES       = NO<br>
+SORT_BY_SCOPE_NAME     = NO<br>
+GENERATE_TODOLIST      = YES<br>
+GENERATE_TESTLIST      = YES<br>
+GENERATE_BUGLIST       = YES<br>
+GENERATE_DEPRECATEDLIST= YES<br>
+ENABLED_SECTIONS       =<br>
+MAX_INITIALIZER_LINES  = 30<br>
+SHOW_USED_FILES        = YES<br>
+SHOW_DIRECTORIES       = NO<br>
+FILE_VERSION_FILTER    =<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to warning and progress messages<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+QUIET                  = NO<br>
+WARNINGS               = YES<br>
+WARN_IF_UNDOCUMENTED   = YES<br>
+WARN_IF_DOC_ERROR      = YES<br>
+WARN_NO_PARAMDOC       = NO<br>
+WARN_FORMAT            = &quot;$file:$line: $text&quot;<br>
+WARN_LOGFILE           =<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the input files<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+INPUT                  = @abs_top_srcdir@<br>
+INPUT_ENCODING         = UTF-8<br>
+FILE_PATTERNS          = *.c \<br>
+                         *.cc \<br>
+                         *.cxx \<br>
+                         *.cpp \<br>
+                         *.c++ \<br>
+                         *.d \<br>
+                         *.java \<br>
+                         *.ii \<br>
+                         *.ixx \<br>
+                         *.ipp \<br>
+                         *.i++ \<br>
+                         *.inl \<br>
+                         *.h \<br>
+                         *.hh \<br>
+                         *.hxx \<br>
+                         *.hpp \<br>
+                         *.h++ \<br>
+                         *.idl \<br>
+                         *.odl \<br>
+                         *.cs \<br>
+                         *.php \<br>
+                         *.php3 \<br>
+                         *.inc \<br>
+                         *.m \<br>
+                         *.mm \<br>
+                         *.dox \<br>
+                         *.py \<br>
+                         *.f90 \<br>
+                         *.f \<br>
+                         *.vhd \<br>
+                         *.vhdl<br>
+RECURSIVE              = YES<br>
+EXCLUDE                =<br>
+EXCLUDE_SYMLINKS       = NO<br>
+EXCLUDE_PATTERNS       =<br>
+EXCLUDE_SYMBOLS        =<br>
+EXAMPLE_PATH           =<br>
+EXAMPLE_PATTERNS       = *<br>
+EXAMPLE_RECURSIVE      = NO<br>
+IMAGE_PATH             =<br>
+INPUT_FILTER           =<br>
+FILTER_PATTERNS        =<br>
+FILTER_SOURCE_FILES    = NO<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to source browsing<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+SOURCE_BROWSER         = YES<br>
+INLINE_SOURCES         = NO<br>
+STRIP_CODE_COMMENTS    = YES<br>
+REFERENCED_BY_RELATION = YES<br>
+REFERENCES_RELATION    = YES<br>
+REFERENCES_LINK_SOURCE = YES<br>
+USE_HTAGS              = NO<br>
+VERBATIM_HEADERS       = YES<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the alphabetical class index<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+ALPHABETICAL_INDEX     = NO<br>
+COLS_IN_ALPHA_INDEX    = 5<br>
+IGNORE_PREFIX          =<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the HTML output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_HTML          = YES<br>
+HTML_OUTPUT            = html<br>
+HTML_FILE_EXTENSION    = .html<br>
+HTML_HEADER            =<br>
+HTML_FOOTER            =<br>
+HTML_STYLESHEET        =<br>
+HTML_ALIGN_MEMBERS     = YES<br>
+GENERATE_HTMLHELP      = NO<br>
+GENERATE_DOCSET        = NO<br>
+DOCSET_FEEDNAME        = &quot;Doxygen generated docs&quot;<br>
+DOCSET_BUNDLE_ID       = org.doxygen.Project<br>
+HTML_DYNAMIC_SECTIONS  = NO<br>
+CHM_FILE               =<br>
+HHC_LOCATION           =<br>
+GENERATE_CHI           = NO<br>
+BINARY_TOC             = NO<br>
+TOC_EXPAND             = NO<br>
+DISABLE_INDEX          = NO<br>
+ENUM_VALUES_PER_LINE   = 4<br>
+GENERATE_TREEVIEW      = NO<br>
+TREEVIEW_WIDTH         = 250<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the LaTeX output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_LATEX         = YES<br>
+LATEX_OUTPUT           = latex<br>
+LATEX_CMD_NAME         = latex<br>
+MAKEINDEX_CMD_NAME     = makeindex<br>
+COMPACT_LATEX          = YES # NO<br>
+PAPER_TYPE             = a4wide<br>
+EXTRA_PACKAGES         =<br>
+LATEX_HEADER           =<br>
+PDF_HYPERLINKS         = YES<br>
+USE_PDFLATEX           = YES<br>
+LATEX_BATCHMODE        = NO<br>
+LATEX_HIDE_INDICES     = NO<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the RTF output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_RTF           = NO<br>
+RTF_OUTPUT             = rtf<br>
+COMPACT_RTF            = NO<br>
+RTF_HYPERLINKS         = NO<br>
+RTF_STYLESHEET_FILE    =<br>
+RTF_EXTENSIONS_FILE    =<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the man page output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_MAN           = NO<br>
+MAN_OUTPUT             = man<br>
+MAN_EXTENSION          = .3<br>
+MAN_LINKS              = NO<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the XML output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_XML           = NO<br>
+XML_OUTPUT             = xml<br>
+XML_SCHEMA             =<br>
+XML_DTD                =<br>
+XML_PROGRAMLISTING     = YES<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options for the AutoGen Definitions output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_AUTOGEN_DEF   = NO<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# configuration options related to the Perl module output<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+GENERATE_PERLMOD       = NO<br>
+PERLMOD_LATEX          = NO<br>
+PERLMOD_PRETTY         = YES<br>
+PERLMOD_MAKEVAR_PREFIX =<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Configuration options related to the preprocessor<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+ENABLE_PREPROCESSING   = YES<br>
+MACRO_EXPANSION        = NO<br>
+EXPAND_ONLY_PREDEF     = NO<br>
+SEARCH_INCLUDES        = YES<br>
+INCLUDE_PATH           =<br>
+INCLUDE_FILE_PATTERNS  =<br>
+PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY<br>
+EXPAND_AS_DEFINED      =<br>
+SKIP_FUNCTION_MACROS   = YES<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Configuration::additions related to external references<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+TAGFILES               =<br>
+GENERATE_TAGFILE       =<br>
+ALLEXTERNALS           = NO<br>
+EXTERNAL_GROUPS        = YES<br>
+PERL_PATH              = /usr/bin/perl<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Configuration options related to the dot tool<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+CLASS_DIAGRAMS         = NO<br>
+MSCGEN_PATH            =<br>
+HIDE_UNDOC_RELATIONS   = YES<br>
+HAVE_DOT               = YES<br>
+CLASS_GRAPH            = YES<br>
+COLLABORATION_GRAPH    = YES<br>
+GROUP_GRAPHS           = YES<br>
+UML_LOOK               = NO<br>
+TEMPLATE_RELATIONS     = NO<br>
+INCLUDE_GRAPH          = YES<br>
+INCLUDED_BY_GRAPH      = YES<br>
+CALL_GRAPH             = NO # YES<br>
+CALLER_GRAPH           = NO # YES<br>
+GRAPHICAL_HIERARCHY    = YES<br>
+DIRECTORY_GRAPH        = YES<br>
+DOT_IMAGE_FORMAT       = png<br>
+DOT_PATH               = &quot;/usr/bin/dot&quot;<br>
+DOTFILE_DIRS           =<br>
+DOT_GRAPH_MAX_NODES    = 50<br>
+MAX_DOT_GRAPH_DEPTH    = 1000<br>
+DOT_TRANSPARENT        = YES<br>
+DOT_MULTI_TARGETS      = NO<br>
+GENERATE_LEGEND        = YES<br>
+DOT_CLEANUP            = YES<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+# Configuration::additions related to the search engine<br>
+#----------------------------<wbr>------------------------------<wbr>-----------------<br>
+SEARCHENGINE           = NO<br>
<span class="gmail-HOEnZb"><font color="#888888">--<br>
2.7.4<br>
<br>
<br>
------------------------------<wbr>------------------------------<wbr>------------------<br>
Check out the vibrant tech community on one of the world&#39;s most<br>
engaging tech sites, Slashdot.org! <a href="http://sdm.link/slashdot" rel="noreferrer" target="_blank">http://sdm.link/slashdot</a><br>
______________________________<wbr>_________________<br>
Openvpn-devel mailing list<br>
<a href="mailto:Openvpn-devel@lists.sourceforge.net">Openvpn-devel@lists.<wbr>sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/openvpn-devel" rel="noreferrer" target="_blank">https://lists.sourceforge.net/<wbr>lists/listinfo/openvpn-devel</a><br>
</font></span></blockquote></div><br></div></div>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

Patch

diff --git a/Makefile.am b/Makefile.am
index 87af724..34632c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,7 +46,7 @@  EXTRA_DIST = \
 	contrib \
 	debug
 
-.PHONY: config-version.h
+.PHONY: config-version.h doxygen
 
 if GIT_CHECKOUT
 BUILT_SOURCES = \
@@ -96,3 +96,6 @@  config-version.h:
 	else \
 		rm -f config-version.h.tmp; \
 	fi
+
+doxygen: doc/doxygen/openvpn.doxyfile
+	doxygen doc/doxygen/openvpn.doxyfile
diff --git a/configure.ac b/configure.ac
index 45aa501..eca83e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1420,6 +1420,7 @@  AC_CONFIG_FILES([
 	distro/rpm/Makefile
 	distro/rpm/openvpn.spec
 	distro/systemd/Makefile
+	doc/doxygen/openvpn.doxyfile
 	include/Makefile
 	src/Makefile
 	src/compat/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index dedd1fa..f9e7f4a 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -14,6 +14,8 @@  MAINTAINERCLEANFILES = \
 
 CLEANFILES = openvpn.8.html
 
+SUBDIRS = doxygen
+
 dist_doc_DATA = \
 	management-notes.txt
 
diff --git a/doc/doxygen/openvpn.doxyfile b/doc/doxygen/openvpn.doxyfile
deleted file mode 100644
index a7d9728..0000000
--- a/doc/doxygen/openvpn.doxyfile
+++ /dev/null
@@ -1,279 +0,0 @@ 
-# Doxyfile 1.5.5
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = "OpenVPN"
-PROJECT_NUMBER         =
-OUTPUT_DIRECTORY       = doxygen
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = ""
-STRIP_FROM_INC_PATH    =
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = YES # NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                =
-OPTIMIZE_OUTPUT_FOR_C  = YES
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = YES
-EXTRACT_ANON_NSPACES   = YES
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = NO
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       =
-MAX_INITIALIZER_LINES  = 30
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-FILE_VERSION_FILTER    =
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = NO
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = .
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.d \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.vhd \
-                         *.vhdl
-RECURSIVE              = YES
-EXCLUDE                =
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       =
-EXCLUDE_SYMBOLS        =
-EXAMPLE_PATH           =
-EXAMPLE_PATTERNS       = *
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             =
-INPUT_FILTER           =
-FILTER_PATTERNS        =
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            =
-HTML_FOOTER            =
-HTML_STYLESHEET        =
-HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               =
-HHC_LOCATION           =
-GENERATE_CHI           = NO
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = NO
-TREEVIEW_WIDTH         = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
-LATEX_OUTPUT           = latex
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES # NO
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         =
-LATEX_HEADER           =
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = NO
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    =
-RTF_EXTENSIONS_FILE    =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             =
-XML_DTD                =
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = NO
-EXPAND_ONLY_PREDEF     = NO
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           =
-INCLUDE_FILE_PATTERNS  =
-PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY
-EXPAND_AS_DEFINED      =
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES               =
-GENERATE_TAGFILE       =
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            =
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO # YES
-CALLER_GRAPH           = NO # YES
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = "/usr/bin/dot"
-DOTFILE_DIRS           =
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 1000
-DOT_TRANSPARENT        = YES
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/doc/doxygen/openvpn.doxyfile.in b/doc/doxygen/openvpn.doxyfile.in
new file mode 100644
index 0000000..e1cdc3b
--- /dev/null
+++ b/doc/doxygen/openvpn.doxyfile.in
@@ -0,0 +1,279 @@ 
+# Doxyfile 1.5.5
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = "OpenVPN"
+PROJECT_NUMBER         =
+OUTPUT_DIRECTORY       = doxygen
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       = "The $name class" \
+                         "The $name widget" \
+                         "The $name file" \
+                         is \
+                         provides \
+                         specifies \
+                         contains \
+                         represents \
+                         a \
+                         an \
+                         the
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = @abs_top_srcdir@
+STRIP_FROM_INC_PATH    =
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = YES # NO
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP         = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                =
+OPTIMIZE_OUTPUT_FOR_C  = YES
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+BUILTIN_STL_SUPPORT    = NO
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = YES
+EXTRACT_STATIC         = YES
+EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_LOCAL_METHODS  = YES
+EXTRACT_ANON_NSPACES   = YES
+HIDE_UNDOC_MEMBERS     = NO
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = NO
+HIDE_IN_BODY_DOCS      = NO
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = NO
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = YES
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = NO
+GENERATE_TODOLIST      = YES
+GENERATE_TESTLIST      = YES
+GENERATE_BUGLIST       = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 30
+SHOW_USED_FILES        = YES
+SHOW_DIRECTORIES       = NO
+FILE_VERSION_FILTER    =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET                  = NO
+WARNINGS               = YES
+WARN_IF_UNDOCUMENTED   = YES
+WARN_IF_DOC_ERROR      = YES
+WARN_NO_PARAMDOC       = NO
+WARN_FORMAT            = "$file:$line: $text"
+WARN_LOGFILE           =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = @abs_top_srcdir@
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.c \
+                         *.cc \
+                         *.cxx \
+                         *.cpp \
+                         *.c++ \
+                         *.d \
+                         *.java \
+                         *.ii \
+                         *.ixx \
+                         *.ipp \
+                         *.i++ \
+                         *.inl \
+                         *.h \
+                         *.hh \
+                         *.hxx \
+                         *.hpp \
+                         *.h++ \
+                         *.idl \
+                         *.odl \
+                         *.cs \
+                         *.php \
+                         *.php3 \
+                         *.inc \
+                         *.m \
+                         *.mm \
+                         *.dox \
+                         *.py \
+                         *.f90 \
+                         *.f \
+                         *.vhd \
+                         *.vhdl
+RECURSIVE              = YES
+EXCLUDE                =
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        =
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       = *
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = YES
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION    = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX     = NO
+COLS_IN_ALPHA_INDEX    = 5
+IGNORE_PREFIX          =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML          = YES
+HTML_OUTPUT            = html
+HTML_FILE_EXTENSION    = .html
+HTML_HEADER            =
+HTML_FOOTER            =
+HTML_STYLESHEET        =
+HTML_ALIGN_MEMBERS     = YES
+GENERATE_HTMLHELP      = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+HTML_DYNAMIC_SECTIONS  = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = NO
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 4
+GENERATE_TREEVIEW      = NO
+TREEVIEW_WIDTH         = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = YES
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = YES # NO
+PAPER_TYPE             = a4wide
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
+LATEX_BATCHMODE        = NO
+LATEX_HIDE_INDICES     = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF           = NO
+RTF_OUTPUT             = rtf
+COMPACT_RTF            = NO
+RTF_HYPERLINKS         = NO
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN           = NO
+MAN_OUTPUT             = man
+MAN_EXTENSION          = .3
+MAN_LINKS              = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML           = NO
+XML_OUTPUT             = xml
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF   = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD       = NO
+PERLMOD_LATEX          = NO
+PERLMOD_PRETTY         = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING   = YES
+MACRO_EXPANSION        = NO
+EXPAND_ONLY_PREDEF     = NO
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = _WIN32 NTLM USE_LZO ENABLE_FRAGMENT P2MP P2MP_SERVER ENABLE_CRYPTO ENABLE_CRYPTO_OPENSSL ENABLE_PLUGIN ENABLE_MANAGEMENT ENABLE_OCC HAVE_GETTIMEOFDAY
+EXPAND_AS_DEFINED      =
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES               =
+GENERATE_TAGFILE       =
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            =
+HIDE_UNDOC_RELATIONS   = YES
+HAVE_DOT               = YES
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = YES
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = NO
+INCLUDE_GRAPH          = YES
+INCLUDED_BY_GRAPH      = YES
+CALL_GRAPH             = NO # YES
+CALLER_GRAPH           = NO # YES
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = YES
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               = "/usr/bin/dot"
+DOTFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 1000
+DOT_TRANSPARENT        = YES
+DOT_MULTI_TARGETS      = NO
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO