diff options
author | Joachim Nilsson <troglobit@gmail.com> | 2019-09-29 12:23:46 +0200 |
---|---|---|
committer | Joachim Nilsson <troglobit@gmail.com> | 2019-09-29 12:27:46 +0200 |
commit | 87c8f3ea43caecbbdc4a87cf05185d6dcd775af7 (patch) | |
tree | 3aa4758e654eeecd11182e900dd6249436481b4e | |
parent | 521b6b221ea707ff225933e2a58834b0b80eeba5 (diff) | |
download | libnet-87c8f3ea43caecbbdc4a87cf05185d6dcd775af7.tar.gz |
Generate Doxyfile from configure script to handle out-of-tree builds
- Relocate doc/libnet.doxygen.conf --> Doxgen.in
- Clean up duplicate DX_INIT_DOXYGEN() from configure.ac
- Simplify Makefile.am
- Disable PDF and CHM files by default
- ax_prog_doxygen.m4: Don't remove doc/ before building doc/
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
-rw-r--r-- | Doxyfile.in (renamed from doc/libnet.doxygen.conf) | 58 | ||||
-rw-r--r-- | Doxyfile.xyz | 3 | ||||
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | configure.ac | 39 | ||||
-rw-r--r-- | doc/Makefile.am | 9 | ||||
-rw-r--r-- | m4/ax_prog_doxygen.m4 | 1 |
6 files changed, 42 insertions, 74 deletions
diff --git a/doc/libnet.doxygen.conf b/Doxyfile.in index 7c99bc8..c4f7630 100644 --- a/doc/libnet.doxygen.conf +++ b/Doxyfile.in @@ -1,14 +1,12 @@ -# Doxyfile 1.8.14 - #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = $(PROJECT) -PROJECT_NUMBER = $(VERSION) +PROJECT_NAME = @PACKAGE_NAME@ +PROJECT_NUMBER = @PACKAGE_VERSION@ PROJECT_BRIEF = "A Portable Framework for Low-Level Network Packet Construction" PROJECT_LOGO = -OUTPUT_DIRECTORY = $(DOCDIR) +OUTPUT_DIRECTORY = @top_builddir@/doc CREATE_SUBDIRS = NO ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English @@ -102,16 +100,16 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = $(SRCDIR)/doc/libnet_api_main_page.md \ - $(SRCDIR)/include/libnet \ +INPUT = @top_srcdir@/doc/libnet_api_main_page.md \ + @top_srcdir@/include/libnet \ include/libnet.h INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.h RECURSIVE = YES -EXCLUDE = include/libnet/libnet-headers.h \ - include/libnet/libnet-types.h \ - include/libnet/libnet-asn1.h \ - include/libnet/libnet-structures.h +EXCLUDE = @top_srcdir@/include/libnet/libnet-headers.h \ + @top_srcdir@/include/libnet/libnet-types.h \ + @top_srcdir@/include/libnet/libnet-asn1.h \ + @top_srcdir@/include/libnet/libnet-structures.h EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = */sample/* EXCLUDE_SYMBOLS = @@ -123,7 +121,7 @@ INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = -USE_MDFILE_AS_MAINPAGE = libnet_api_main_page.md +USE_MDFILE_AS_MAINPAGE = @top_srcdir@/doc/libnet_api_main_page.md #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- @@ -145,13 +143,13 @@ IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- -GENERATE_HTML = $(GENERATE_HTML) -HTML_OUTPUT = api +GENERATE_HTML = @GENERATE_HTML@ +HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = $(SRCDIR)/doc/libnet_api_header.html_tmpl -HTML_FOOTER = $(SRCDIR)/doc/libnet_api_footer.html_tmpl +HTML_HEADER = @top_srcdir@/doc/libnet_api_header.html_tmpl +HTML_FOOTER = @top_srcdir@/doc/libnet_api_footer.html_tmpl HTML_STYLESHEET = -HTML_EXTRA_STYLESHEET = $(SRCDIR)/doc/libnet_api_stylesheet.css_tmpl +HTML_EXTRA_STYLESHEET = @top_srcdir@/doc/libnet_api_stylesheet.css_tmpl HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 120 HTML_COLORSTYLE_SAT = 50 @@ -164,10 +162,10 @@ DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project DOCSET_PUBLISHER_ID = org.doxygen.Publisher DOCSET_PUBLISHER_NAME = Publisher -GENERATE_HTMLHELP = $(GENERATE_HTMLHELP) -CHM_FILE = ../$(PROJECT).chm -HHC_LOCATION = $(HHC_PATH) -GENERATE_CHI = $(GENERATE_CHI) +GENERATE_HTMLHELP = @GENERATE_HTMLHELP@ +CHM_FILE = @PACAKGE_NAME@.chm +HHC_LOCATION = @HHC_PATH@ +GENERATE_CHI = @GENERATE_CHI@ CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO @@ -203,12 +201,12 @@ EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = $(GENERATE_LATEX) +GENERATE_LATEX = @GENERATE_LATEX@ LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO -PAPER_TYPE = $(PAPER_SIZE) +PAPER_TYPE = @PAPER_SIZE@ EXTRA_PACKAGES = LATEX_HEADER = LATEX_FOOTER = @@ -224,7 +222,7 @@ LATEX_TIMESTAMP = NO #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- -GENERATE_RTF = $(GENERATE_RTF) +GENERATE_RTF = @GENERATE_RTF@ RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO @@ -234,7 +232,7 @@ RTF_SOURCE_CODE = NO #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- -GENERATE_MAN = $(GENERATE_MAN) +GENERATE_MAN = @GENERATE_MAN@ MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_SUBDIR = @@ -242,7 +240,7 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- # Configuration options related to the XML output #--------------------------------------------------------------------------- -GENERATE_XML = $(GENERATE_XML) +GENERATE_XML = @GENERATE_XML@ XML_OUTPUT = xml XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- @@ -278,11 +276,11 @@ SKIP_FUNCTION_MACROS = YES # Configuration options related to external references #--------------------------------------------------------------------------- TAGFILES = -GENERATE_TAGFILE = $(DOCDIR)/$(PROJECT).tag +GENERATE_TAGFILE = @top_builddir@/doc/@PACKAGE_NAME@.tag ALLEXTERNALS = NO EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES -PERL_PATH = $(PERL_PATH) +PERL_PATH = @PERL_PATH@ #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- @@ -290,7 +288,7 @@ CLASS_DIAGRAMS = YES MSCGEN_PATH = DIA_PATH = HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = $(HAVE_DOT) +HAVE_DOT = @HAVE_DOT@ DOT_NUM_THREADS = 0 DOT_FONTNAME = Helvetica DOT_FONTSIZE = 10 @@ -309,7 +307,7 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png INTERACTIVE_SVG = NO -DOT_PATH = $(DOT_PATH) +DOT_PATH = @DOT_PATH@ DOTFILE_DIRS = MSCFILE_DIRS = DIAFILE_DIRS = diff --git a/Doxyfile.xyz b/Doxyfile.xyz index d7b1a99..6a7fc8a 100644 --- a/Doxyfile.xyz +++ b/Doxyfile.xyz @@ -1,7 +1,6 @@ # Doxyfile 1.8.14 # ALRIGHT LISTEN UP: This is a standalone Doxyfile for codedocs.xyz. -# The real deal is libnet.doxygen.conf found in doc/ (but only works -# in conjunction with automake) +# The real deal is Doxygen.in (but only works in with automake) #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- diff --git a/Makefile.am b/Makefile.am index 048fad9..2d932eb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -25,14 +25,8 @@ DISTCLEANFILES = fixmanpages pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libnet.pc -if ENABLE_DOXYGEN -all: doxygen-doc @DX_RULES@ -all: - $(AM_V_GEN)cd $(DX_DOCDIR) && ./fixmanpages && cd - -endif - doc: doxygen-doc $(AM_V_GEN)cd $(DX_DOCDIR) && ./fixmanpages && cd - diff --git a/configure.ac b/configure.ac index 386c7b9..61e221a 100644 --- a/configure.ac +++ b/configure.ac @@ -37,26 +37,6 @@ dnl This can still be overwritten with --without-pic LT_INIT([pic-only]) dnl -dnl Check for DOxygen and enable its features -dnl - -# See /usr/share/aclocal/ax_prog_doxygen.m4 and -# http://www.bioinf.uni-freiburg.de/~mmann/HowTo/automake.html#doxygenSupport - -DX_DOXYGEN_FEATURE(ON) -DX_DOT_FEATURE(ON) -DX_HTML_FEATURE(ON) -DX_CHM_FEATURE(OFF) -DX_CHI_FEATURE(OFF) -DX_MAN_FEATURE(ON) -DX_RTF_FEATURE(OFF) -DX_XML_FEATURE(OFF) -DX_PDF_FEATURE(ON) -DX_PS_FEATURE(OFF) -DX_INIT_DOXYGEN(${PACKAGE_NAME}, [doc/libnet.doxygen.conf], [doc]) -AM_CONDITIONAL(ENABLE_DOXYGEN,[test "x${DX_FLAG_doc}" = x1]) - -dnl dnl Check for headers dnl @@ -178,20 +158,20 @@ for dir in src/*build*c ; do done echo "" - -# dnl Check for Doxygen and enable its features -# dnl See m4/ax_prog_doxygen.m4 -DX_DOXYGEN_FEATURE(OFF) +dnl Check for Doxygen and enable its features. +dnl For details, see m4/ax_prog_doxygen.m4 and +dnl http://www.bioinf.uni-freiburg.de/~mmann/HowTo/automake.html#doxygenSupport +DX_DOXYGEN_FEATURE(ON) DX_DOT_FEATURE(ON) -DX_HTML_FEATURE(ON) -DX_CHM_FEATURE(ON) DX_CHI_FEATURE(OFF) -DX_MAN_FEATURE(ON) DX_RTF_FEATURE(OFF) DX_XML_FEATURE(OFF) -DX_PDF_FEATURE(ON) +DX_PDF_FEATURE(OFF) DX_PS_FEATURE(OFF) -DX_INIT_DOXYGEN(${PACKAGE_NAME}, [$(top_srcdir)/doc/libnet.doxygen.conf], [doc]) +DX_CHM_FEATURE(OFF) +DX_HTML_FEATURE(ON) +DX_MAN_FEATURE(ON) +DX_INIT_DOXYGEN(${PACKAGE_NAME}, [${top_builddir}/Doxyfile], [doc]) AM_CONDITIONAL(ENABLE_DOXYGEN,[test "x${DX_FLAG_doc}" = x1]) if test ${DX_FLAG_doc} -eq 1; then @@ -440,6 +420,7 @@ dnl this only matters if we are building for Windows... AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) AC_CONFIG_FILES([Makefile \ + Doxyfile \ doc/Makefile \ doc/html/Makefile \ doc/man/Makefile \ diff --git a/doc/Makefile.am b/doc/Makefile.am index 56928fa..d87b0c1 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,8 +1,5 @@ SUBDIRS = man html -dist_doc_DATA = CHANGELOG CONTRIB DESIGN_NOTES \ - libnet.doxygen.conf MIGRATION PACKET_BUILDING PORTED \ - RAWSOCKET_NON_SEQUITUR TODO - -doc: - cd $(top_srcdir) && $(DX_ENV) DOCDIR=$(DX_DOCDIR) doxygen doc/libnet.doxygen.conf +dist_doc_DATA = CHANGELOG CONTRIB DESIGN_NOTES \ + MIGRATION PACKET_BUILDING PORTED \ + RAWSOCKET_NON_SEQUITUR TODO diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4 index e92c9e4..732eaf7 100644 --- a/m4/ax_prog_doxygen.m4 +++ b/m4/ax_prog_doxygen.m4 @@ -546,7 +546,6 @@ doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL) ]m4_foreach([DX_i], [DX_loop], [[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[) \$(pkginclude_HEADERS) - \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[) \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[) \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[) \$(A""M_V_at)echo Timestamp >\$][@ |