summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Nilsson <troglobit@gmail.com>2019-09-29 12:23:46 +0200
committerJoachim Nilsson <troglobit@gmail.com>2019-09-29 12:27:46 +0200
commit87c8f3ea43caecbbdc4a87cf05185d6dcd775af7 (patch)
tree3aa4758e654eeecd11182e900dd6249436481b4e
parent521b6b221ea707ff225933e2a58834b0b80eeba5 (diff)
downloadlibnet-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.xyz3
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac39
-rw-r--r--doc/Makefile.am9
-rw-r--r--m4/ax_prog_doxygen.m41
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 >\$][@