[librsvgmm] Integrate reference documentation into build



commit b80014a8145d90cd31cf896726c3d14ce1613ece
Author: Daniel Elstner <daniel kitta gmail com>
Date:   Sun Jun 21 16:28:41 2009 +0200

    Integrate reference documentation into build
    
    * docs/Makefile.am: New file, defining the build rules to run
    Doxygen and xsltproc to generate HTML and Devhelp output.
    * docs/reference/Doxyfile.in: New Doxygen configuration file.
    * configure.ac (AC_CONFIG_FILES): Add new generated files.
    * Makefile.am (SUBDIRS): Recurse into docs subdirectory when
    in maintainer mode.

 Makefile.am                |    2 +-
 configure.ac               |    4 +-
 docs/Makefile.am           |   77 +++++++++++++
 docs/reference/Doxyfile.in |  267 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 348 insertions(+), 2 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 3d3f400..bf61e17 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 DISTCHECK_CONFIGURE_FLAGS = --enable-warnings=fatal
 
 if MAINTAINER_MODE
-SUBDIRS = tools librsvg/src librsvg/librsvgmm
+SUBDIRS = tools librsvg/src librsvg/librsvgmm docs
 else
 SUBDIRS = librsvg/librsvgmm
 endif
diff --git a/configure.ac b/configure.ac
index b9c6ecd..ecbcd1d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,5 +61,7 @@ AC_CONFIG_FILES([Makefile
                  librsvg/librsvgmm-2.0.pc
                  librsvg/librsvgmm-2.0-uninstalled.pc
                  librsvg/src/Makefile
-                 librsvg/librsvgmm/Makefile])
+                 librsvg/librsvgmm/Makefile
+                 docs/Makefile
+                 docs/reference/Doxyfile])
 AC_OUTPUT
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..2777ecc
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1,77 @@
+## Copyright (c) 2009  Daniel Elstner <daniel kitta gmail com>
+##
+## This file is part of librsvgmm.
+##
+## librsvgmm is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## librsvgmm is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+beautify_docs = $(PERL_PATH) $(GMMPROC_DIR)/beautify_docs.pl
+devhelp_stylesheet = $(GMMPROC_DIR)/doxygen_to_devhelp.xsl
+
+devhelp_file = reference/librsvgmm-2.0.devhelp
+
+referencedir = $(docdir)/reference
+htmlrefdir   = $(referencedir)/html
+
+dist_reference_DATA = reference/librsvgmm_doxygen_tags $(devhelp_file)
+EXTRA_DIST = reference/html
+
+reference/html/index.html: $(srcdir)/reference/Doxyfile.in $(top_srcdir)/librsvg/librsvgmm/*.h
+	-rm -rf reference/html reference/xml
+	doxygen reference/Doxyfile
+	$(beautify_docs) reference/html
+	@touch "$@"
+
+reference/librsvgmm_doxygen_tags: reference/html/index.html
+
+# Build a devhelp book from the doxygen xml
+$(devhelp_file): reference/html/index.html
+	xsltproc --stringparam book_title 'librsvgmm-2.0 Reference Manual' \
+		 --stringparam book_name 'librsvgmm-2.0' \
+		 --stringparam reference_prefix 'reference/html' \
+		 -o "$@" $(devhelp_stylesheet) reference/xml/index.xml
+
+post-html: reference/html/index.html
+	rsync $(rsync_args) -r reference/html $$USER $(web_host):$(web_path_reference)/html/
+
+doc-clean:
+	-rm -rf reference/html reference/xml
+	-rm -f reference/librsvgmm-2.0.devhelp reference/doxygen.log
+
+install-reference: reference/html/index.html
+	@$(NORMAL_INSTALL)
+	$(mkdir_p) "$(DESTDIR)$(htmlrefdir)"
+	@dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.png ; do \
+	  f=`echo "$$p" | sed -e 's|^.*/||'`; \
+	  echo " $(INSTALL_DATA) $$p $(DESTDIR)$(htmlrefdir)/$$f"; \
+	  $(INSTALL_DATA) "$$p" "$(DESTDIR)$(htmlrefdir)/$$f"; \
+	done
+
+uninstall-reference: reference/html/index.html
+	@$(NORMAL_UNINSTALL)
+	@dir='$(<D)'; for p in $$dir/*.html $$dir/*.css $$dir/*.png $$dir/*.png ; do \
+	  f=`echo "$$p" | sed -e 's|^.*/||'`; \
+	  echo " rm -f $(DESTDIR)$(htmlrefdir)/$$f"; \
+	  rm -f "$(DESTDIR)$(htmlrefdir)/$$f"; \
+	done
+	-rmdir -f "$(DESTDIR)$(htmlrefdir)"
+
+all-local: $(devhelp_file)
+
+install-data-local: install-reference
+
+uninstall-local: uninstall-reference
+
+maintainer-clean-local: doc-clean
+
+.PHONY: post-html doc-clean install-reference uninstall-reference
diff --git a/docs/reference/Doxyfile.in b/docs/reference/Doxyfile.in
new file mode 100644
index 0000000..c61bb31
--- /dev/null
+++ b/docs/reference/Doxyfile.in
@@ -0,0 +1,267 @@
+# Doxyfile 1.5.8
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+DOXYFILE_ENCODING      = UTF-8
+PROJECT_NAME           = librsvgmm
+PROJECT_NUMBER         = 2.0
+OUTPUT_DIRECTORY       = reference
+CREATE_SUBDIRS         = NO
+OUTPUT_LANGUAGE        = English
+BRIEF_MEMBER_DESC      = YES
+REPEAT_BRIEF           = YES
+ABBREVIATE_BRIEF       =
+ALWAYS_DETAILED_SEC    = NO
+INLINE_INHERITED_MEMB  = NO
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = @abs_top_builddir@/librsvg \
+                         @abs_top_srcdir@/librsvg \
+                         @abs_top_builddir@ \
+                         @abs_top_srcdir@
+STRIP_FROM_INC_PATH    = @abs_top_builddir@/librsvg \
+                         @abs_top_srcdir@/librsvg
+SHORT_NAMES            = NO
+JAVADOC_AUTOBRIEF      = NO
+QT_AUTOBRIEF           = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS           = YES
+SEPARATE_MEMBER_PAGES  = NO
+TAB_SIZE               = 8
+ALIASES                =
+OPTIMIZE_OUTPUT_FOR_C  = NO
+OPTIMIZE_OUTPUT_JAVA   = NO
+OPTIMIZE_FOR_FORTRAN   = NO
+OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
+BUILTIN_STL_SUPPORT    = YES
+CPP_CLI_SUPPORT        = NO
+SIP_SUPPORT            = NO
+IDL_PROPERTY_SUPPORT   = YES
+DISTRIBUTE_GROUP_DOC   = NO
+SUBGROUPING            = YES
+TYPEDEF_HIDES_STRUCT   = NO
+SYMBOL_CACHE_SIZE      = 0
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL            = YES
+EXTRACT_PRIVATE        = NO
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
+EXTRACT_LOCAL_METHODS  = NO
+EXTRACT_ANON_NSPACES   = NO
+HIDE_UNDOC_MEMBERS     = YES
+HIDE_UNDOC_CLASSES     = NO
+HIDE_FRIEND_COMPOUNDS  = YES
+HIDE_IN_BODY_DOCS      = YES
+INTERNAL_DOCS          = NO
+CASE_SENSE_NAMES       = YES
+HIDE_SCOPE_NAMES       = NO
+SHOW_INCLUDE_FILES     = NO
+INLINE_INFO            = YES
+SORT_MEMBER_DOCS       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_GROUP_NAMES       = NO
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 2
+SHOW_USED_FILES        = NO
+SHOW_DIRECTORIES       = NO
+SHOW_FILES             = NO
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
+#---------------------------------------------------------------------------
+# 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           = reference/doxygen.log
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT                  = @abs_top_builddir@/librsvg/librsvgmm \
+                         @abs_top_srcdir@/librsvg/librsvgmm
+INPUT_ENCODING         = UTF-8
+FILE_PATTERNS          = *.h
+RECURSIVE              = NO
+EXCLUDE                =
+EXCLUDE_SYMLINKS       = NO
+EXCLUDE_PATTERNS       = */wrap_init.h
+EXCLUDE_SYMBOLS        = _*
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       = *.cc \
+                         *.h
+EXAMPLE_RECURSIVE      = NO
+IMAGE_PATH             =
+INPUT_FILTER           =
+FILTER_PATTERNS        =
+FILTER_SOURCE_FILES    = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER         = NO
+INLINE_SOURCES         = NO
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS              = NO
+VERBATIM_HEADERS       = NO
+#---------------------------------------------------------------------------
+# 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
+HTML_DYNAMIC_SECTIONS  = NO
+GENERATE_DOCSET        = NO
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
+GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
+BINARY_TOC             = NO
+TOC_EXPAND             = NO
+GENERATE_QHP           = NO
+QCH_FILE               =
+QHP_NAMESPACE          =
+QHP_VIRTUAL_FOLDER     = doc
+QHP_CUST_FILTER_NAME   =
+QHP_CUST_FILTER_ATTRS  =
+QHP_SECT_FILTER_ATTRS  =
+QHG_LOCATION           =
+DISABLE_INDEX          = NO
+ENUM_VALUES_PER_LINE   = 1
+GENERATE_TREEVIEW      = NONE
+TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX         = NO
+LATEX_OUTPUT           = latex
+LATEX_CMD_NAME         = latex
+MAKEINDEX_CMD_NAME     = makeindex
+COMPACT_LATEX          = 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           = YES
+XML_OUTPUT             = xml
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = NO
+#---------------------------------------------------------------------------
+# 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        = YES
+EXPAND_ONLY_PREDEF     = YES
+SEARCH_INCLUDES        = NO
+INCLUDE_PATH           =
+INCLUDE_FILE_PATTERNS  =
+PREDEFINED             = DOXYGEN_SHOULD_SKIP_THIS \
+                         GLIBMM_VFUNCS_ENABLED \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_EXCEPTIONS_ENABLED \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+EXPAND_AS_DEFINED      =
+SKIP_FUNCTION_MACROS   = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES               =
+GENERATE_TAGFILE       = reference/librsvgmm_doxygen_tags
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = YES
+PERL_PATH              = @PERL_PATH@
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS         = NO
+MSCGEN_PATH            =
+HIDE_UNDOC_RELATIONS   = NO
+HAVE_DOT               = YES
+DOT_FONTNAME           = FreeSans
+DOT_FONTSIZE           = 10
+DOT_FONTPATH           =
+CLASS_GRAPH            = YES
+COLLABORATION_GRAPH    = NO
+GROUP_GRAPHS           = YES
+UML_LOOK               = NO
+TEMPLATE_RELATIONS     = YES
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+CALL_GRAPH             = NO
+CALLER_GRAPH           = NO
+GRAPHICAL_HIERARCHY    = YES
+DIRECTORY_GRAPH        = NO
+DOT_IMAGE_FORMAT       = png
+DOT_PATH               =
+DOTFILE_DIRS           =
+DOT_GRAPH_MAX_NODES    = 50
+MAX_DOT_GRAPH_DEPTH    = 0
+DOT_TRANSPARENT        = NO
+DOT_MULTI_TARGETS      = YES
+GENERATE_LEGEND        = YES
+DOT_CLEANUP            = YES
+#---------------------------------------------------------------------------
+# Options related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE           = NO



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]