From c7c7ac60cf8b6dae5b9b8c0872dbe3d83020549d Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 4 Jun 2017 10:22:11 +0200 Subject: [PATCH] cleaning up use of doxygen, fixing #5057 --- doc/doxygen/taler-exchange.doxy => Doxyfile | 35 ++++++++--------- Makefile.am | 13 ++++++- configure.ac | 43 +++++++++++++++++++-- doc/Makefile.am | 2 +- doc/doxygen/Makefile.am | 18 --------- 5 files changed, 68 insertions(+), 43 deletions(-) rename doc/doxygen/taler-exchange.doxy => Doxyfile (93%) delete mode 100644 doc/doxygen/Makefile.am diff --git a/doc/doxygen/taler-exchange.doxy b/Doxyfile similarity index 93% rename from doc/doxygen/taler-exchange.doxy rename to Doxyfile index 23c2fbe07..0fef809bf 100644 --- a/doc/doxygen/taler-exchange.doxy +++ b/Doxyfile @@ -5,8 +5,8 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "GNU Taler: Exchange" -PROJECT_NUMBER = 0.0 -OUTPUT_DIRECTORY = . +PROJECT_NUMBER = 0.3 +OUTPUT_DIRECTORY = doxygen-doc/ CREATE_SUBDIRS = YES OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES @@ -25,9 +25,8 @@ ABBREVIATE_BRIEF = "The $name class" \ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = YES -STRIP_FROM_PATH = ../.. -STRIP_FROM_INC_PATH = ../../src/include \ - src/include +STRIP_FROM_PATH = . +STRIP_FROM_INC_PATH = src/include SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO QT_AUTOBRIEF = NO @@ -79,24 +78,24 @@ FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -QUIET = NO +QUIET = YES WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO +WARN_NO_PARAMDOC = YES WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../.. +INPUT = src/ INPUT_ENCODING = UTF-8 FILE_PATTERNS = *.c \ *.h RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = */test_* */.svn/* */perf_* */tls_test_* */examples/* taler_config.h +EXCLUDE_PATTERNS = */test_* */.git/* */perf_* */tls_test_* taler_config.h EXCLUDE_SYMBOLS = GNUNET_* JSON_* EXAMPLE_PATH = EXAMPLE_PATTERNS = * @@ -121,11 +120,11 @@ VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = TALER_ #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- -GENERATE_HTML = YES +#GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = @@ -148,11 +147,11 @@ TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = NO +#GENERATE_LATEX = YES LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO +COMPACT_LATEX = YES PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = @@ -163,9 +162,9 @@ LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- -GENERATE_RTF = NO +#GENERATE_RTF = NO RTF_OUTPUT = rtf -COMPACT_RTF = NO +COMPACT_RTF = YES RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = @@ -179,7 +178,7 @@ MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- -GENERATE_XML = NO +#GENERATE_XML = NO XML_OUTPUT = xml XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- @@ -209,14 +208,14 @@ SKIP_FUNCTION_MACROS = YES # Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = -GENERATE_TAGFILE = +GENERATE_TAGFILE = contrib/taler-exchange.tag ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES +CLASS_DIAGRAMS = NO MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES diff --git a/Makefile.am b/Makefile.am index 4bbc20821..a73d4d863 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,10 +1,19 @@ # This Makefile.am is in the public domain AM_CPPFLAGS = -I$(top_srcdir)/src/include -SUBDIRS = src doc + +if DOC_ONLY + SUBDIRS = . doc +else + SUBDIRS = . src doc +endif + +@DX_RULES@ + ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ AUTHORS \ - contrib/coverage.sh + contrib/coverage.sh \ + Doxyfile app: mkdir -p $(PACKAGE)-$(VERSION)-app diff --git a/configure.ac b/configure.ac index e258b52e5..715e94e55 100644 --- a/configure.ac +++ b/configure.ac @@ -30,10 +30,30 @@ AC_CONFIG_MACRO_DIR([m4]) LT_INIT +DX_INIT_DOXYGEN([taler-exchange],,, +DX_PS_FEATURE(OFF), +DX_PDF_FEATURE(OFF), +DX_RTF_FEATURE(OFF), +DX_CHI_FEATURE(OFF), +DX_XML_FEATURE(OFF)) + +AC_MSG_CHECKING([whether to compile documentation ONLY]) +AC_ARG_ENABLE([only-doc], + [AS_HELP_STRING([--enable-only-doc], [only compile Taler documentation])], + [doc_only=${enableval}], + [doc_only=no]) +AC_MSG_RESULT($doc_only) +AM_CONDITIONAL([DOC_ONLY], [test "$doc_only" = "yes"]) + +if test "$doc_only" != yes +then + # Checks for programs. + AC_PROG_CC AC_PROG_CC_C99 + CFLAGS="-Wall $CFLAGS" # Checks for header files. @@ -42,7 +62,7 @@ AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h]) # should the build process be restricted to the code required # for GNU Taler wallets? -AC_MSG_CHECKING(whether to compile GNU Taler Wallet library ONLY) +AC_MSG_CHECKING([whether to compile GNU Taler Wallet library ONLY]) AC_ARG_ENABLE([wallet], [AS_HELP_STRING([--enable-wallet], [only compile for Taler wallet])], [wallet_only=${enableval}], @@ -276,6 +296,7 @@ LDFLAGS=$LDFLAGS_SAVE LIBS=$LIBS_SAVE +# end of wallet/no-wallet specific logic fi TALER_LIB_LDFLAGS="-export-dynamic -no-undefined" @@ -296,10 +317,10 @@ AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) LIBGNURL_CHECK_CONFIG(,7.34.0,gnurl=1,gnurl=0) if test "$gnurl" = 1 then - AM_CONDITIONAL(HAVE_LIBGNURL, true) + AM_CONDITIONAL(HAVE_LIBGNURL, [true]) AC_DEFINE([HAVE_LIBGNURL],[1],[Have libgnurl]) else - AM_CONDITIONAL(HAVE_LIBGNURL, false) + AM_CONDITIONAL(HAVE_LIBGNURL, [false]) fi # libcurl-gnutls @@ -447,9 +468,23 @@ AC_TYPE_UINTMAX_T # Checks for library functions. AC_CHECK_FUNCS([strdup]) +else + +# logic if doc_only is set, make sure conditionals are still defined +AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [false]) +AM_CONDITIONAL([WALLET_ONLY], [false]) +AM_CONDITIONAL([HAVE_POSTGRESQL], [false]) +AM_CONDITIONAL([HAVE_LIBCURL], [false]) +AM_CONDITIONAL([HAVE_LIBGNURL], [false]) +AM_CONDITIONAL([HAVE_DEVELOPER], [false]) +AM_CONDITIONAL([USE_COVERAGE], [false]) + + +# end of 'doc_only' +fi + AC_CONFIG_FILES([Makefile doc/Makefile - doc/doxygen/Makefile src/Makefile src/auditor/Makefile src/auditordb/Makefile diff --git a/doc/Makefile.am b/doc/Makefile.am index c509f4a8c..f8d04db6c 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,6 @@ # This Makefile.am is in the public domain -SUBDIRS = . doxygen +SUBDIRS = . man_MANS = \ taler-auditor.1 \ diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am deleted file mode 100644 index da4dbc140..000000000 --- a/doc/doxygen/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -# This Makefile.am is in the public domain -all: - @echo -e \ -"Generate documentation:\n" \ -"\tmake full - full documentation with dependency graphs (slow)\n" \ -"\tmake fast - fast mode without dependency graphs" - -full: taler-exchange.doxy - doxygen $< - -fast: taler-exchange.doxy - sed 's/\(HAVE_DOT.*=\).*/\1 NO/' $< | doxygen - - -clean: - rm -rf html - - -EXTRA_DIST = taler-exchange.doxy