[glom] Use mm-common for optional compiler warnings and to build libglom docs.



commit 273b80f5ae2665dbccf1c6e5e495146e5758396e
Author: Murray Cumming <murrayc murrayc com>
Date:   Fri Apr 16 14:29:11 2010 +0200

    Use mm-common for optional compiler warnings and to build libglom docs.
    
        * configure.ac: Use mm-common, removing macros/dk-warn.m4.
    * docs/libglom_reference/Doxyfile.in:
    * docs/libglom_reference/doxygen_to_devhelp.xsl:
    * docs/libglom_reference/Makefile.am: Generate libglom documentation
        properly using build stuff copied from gtkmm.
    * docs/pyglom_reference/Makefile.am: A silly little initial attempt to
        have generated html for the glom python module, using pydoc.

 ChangeLog                                          |   12 +
 Makefile.am                                        |    2 +-
 configure.ac                                       |   27 ++-
 .../Doxyfile                                       |    0
 .../Doxyfile_libglom                               |    0
 .../Doxyfile => libglom_reference/Doxyfile.in}     |  240 +++++++++++---------
 docs/libglom_reference/Makefile.am                 |  206 +++++++++++++++++
 docs/libglom_reference/doxygen_to_devhelp.xsl      |   94 ++++++++
 docs/pyglom_reference/Makefile.am                  |    9 +
 .../data_structure/layout/fieldformatting.h        |    2 +-
 macros/dk-warn.m4                                  |  114 ---------
 11 files changed, 481 insertions(+), 225 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index aa53595..3d40a6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-04-16  Murray Cumming  <murrayc murrayc com>
+
+    Use mm-common for optional compiler warnings and to build libglom docs.
+
+    * configure.ac: Use mm-common, removing macros/dk-warn.m4.
+	* docs/libglom_reference/Doxyfile.in:
+	* docs/libglom_reference/doxygen_to_devhelp.xsl:
+	* docs/libglom_reference/Makefile.am: Generate libglom documentation 
+    properly usign build stuff copied from gtkmm.
+	* docs/pyglom_reference/Makefile.am: A silly little initial attempt to 
+    have generated html for the glom python module, using pydoc.
+
 2010-04-15  Murray Cumming  <murrayc murrayc com>
 
   Python field calculation: Fix a crash.
diff --git a/Makefile.am b/Makefile.am
index 77b00e0..efb7c82 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -40,7 +40,7 @@ doc_subdirs = docs/user-guide
 else
 doc_subdirs =
 endif
-SUBDIRS = po $(doc_subdirs)
+SUBDIRS = po $(doc_subdirs) docs/libglom_reference docs/pyglom_reference
 
 if HOST_WIN32
 win_resfile = glom/glom.res
diff --git a/configure.ac b/configure.ac
index 85b890e..e690bcc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,6 +24,7 @@ AC_CONFIG_HEADERS([config.h glom/libglom/libglom_config.h])
 
 AM_INIT_AUTOMAKE([1.10 check-news no-define nostdinc])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
+AM_MAINTAINER_MODE
 AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
 
 AC_PROG_CC
@@ -185,14 +186,18 @@ MM_PKG_CONFIG_SUBST([ISO_CODES_PREFIX], [--variable=prefix iso-codes])
 AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX], ["$ISO_CODES_PREFIX"],
                    [Define to the installation prefix of the iso-codes module.])
 
-AC_LANG_ASSERT([C])
-DK_ARG_ENABLE_WARNINGS([GLOM_WFLAGS],
-                       [-Wall], [-Wall -Wextra],
+
+# Evaluate the --enable-warnings=level option.
+MM_PREREQ([0.8])
+MM_ARG_ENABLE_WARNINGS([GLOM_WFLAGS],
+                       [-Wall],
+                       [-Wall -Wextra -Wno-missing-field-initializers -DGSEAL_ENABLE],
                        [G GDK GDK_PIXBUF GTK])
-AC_LANG([C++])
-DK_ARG_ENABLE_WARNINGS([GLOM_WXXFLAGS],
-		       [-Wall], [-Wall -Wextra -Wno-missing-field-initializers],
+MM_ARG_ENABLE_WARNINGS([GLOM_WXXFLAGS],
+                       [-Wall],
+                       [-Wall -Wextra -Wno-missing-field-initializers -DGSEAL_ENABLE],
                        [G GDK GDK_PIXBUF GTK GLIBMM GTKMM])
+
 AC_CHECK_FUNCS([strptime])
 
 # Get the compiler and linker flags for embedding Python.
@@ -245,10 +250,20 @@ AC_DEFINE_UNQUOTED([EXEEXT], ["$EXEEXT"],
 GNOME_DOC_INIT([0.9.0],,
   [AC_MSG_WARN([[gnome-doc-utils not found: documentation will not be built.]])])
 
+MM_ARG_ENABLE_DOCUMENTATION
+MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
+MM_ARG_WITH_TAGFILE_DOC([libsigc++-2.0.tag], [sigc++-2.0])
+MM_ARG_WITH_TAGFILE_DOC([glibmm-2.4.tag], [glibmm-2.4])
+MM_ARG_WITH_TAGFILE_DOC([cairomm-1.0.tag], [cairomm-1.0])
+MM_ARG_WITH_TAGFILE_DOC([pangomm-1.4.tag], [pangomm-1.4])
+
 AC_CONFIG_FILES([Makefile
                  docs/user-guide/Makefile
                  po/Makefile.in
                  glom.desktop.in
                  glom/libglom/glom-1.14.pc
+                 docs/libglom_reference/Makefile
+                 docs/libglom_reference/Doxyfile
+                 docs/pyglom_reference/Makefile
                  win32/glom.iss])
 AC_OUTPUT
diff --git a/docs/developer_reference/Doxyfile b/docs/glom_internal_reference/Doxyfile
similarity index 100%
copy from docs/developer_reference/Doxyfile
copy to docs/glom_internal_reference/Doxyfile
diff --git a/docs/developer_reference/Doxyfile_libglom b/docs/glom_internal_reference/Doxyfile_libglom
similarity index 100%
rename from docs/developer_reference/Doxyfile_libglom
rename to docs/glom_internal_reference/Doxyfile_libglom
diff --git a/docs/developer_reference/Doxyfile b/docs/libglom_reference/Doxyfile.in
similarity index 58%
rename from docs/developer_reference/Doxyfile
rename to docs/libglom_reference/Doxyfile.in
index b0cdb59..2bcd18e 100644
--- a/docs/developer_reference/Doxyfile
+++ b/docs/libglom_reference/Doxyfile.in
@@ -1,82 +1,83 @@
-# Doxyfile 1.5.5
+# Doxyfile 1.6.1
+# @configure_input@
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
 DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = "glom"
-PROJECT_NUMBER         = 
-OUTPUT_DIRECTORY       = 
+PROJECT_NAME           = libglom- GLOM_ABI_VERSION@
+PROJECT_NUMBER         = @PACKAGE_VERSION@
+OUTPUT_DIRECTORY       = .
 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
+ABBREVIATE_BRIEF       =
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = "@abs_top_builddir@/glom/libglom/" \
+                         "@abs_top_builddir@/" \
+                         "@abs_top_srcdir@/"
+STRIP_FROM_INC_PATH    = "@abs_top_builddir@/glom/libglom/" \
+                         "@abs_top_builddir@/" \
+                         "@abs_top_srcdir@/"
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = YES
 QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP         = YES
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
-ALIASES                = 
+ALIASES                = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in @PACKAGE_NAME@ \1.\2\""
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
+EXTENSION_MAPPING      =
 BUILTIN_STL_SUPPORT    = NO
 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         = YES
-EXTRACT_LOCAL_CLASSES  = YES
+EXTRACT_STATIC         = NO
+EXTRACT_LOCAL_CLASSES  = NO
 EXTRACT_LOCAL_METHODS  = NO
 EXTRACT_ANON_NSPACES   = NO
 HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
+HIDE_UNDOC_CLASSES     = YES
+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        = YES
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
+SORT_BRIEF_DOCS        = NO
+SORT_MEMBERS_CTORS_1ST = YES
+SORT_GROUP_NAMES       = YES
+SORT_BY_SCOPE_NAME     = YES
+GENERATE_TODOLIST      = NO
+GENERATE_TESTLIST      = NO
+GENERATE_BUGLIST       = NO
 GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 30
+ENABLED_SECTIONS       =
+MAX_INITIALIZER_LINES  = 2
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = YES
-FILE_VERSION_FILTER    = 
+SHOW_DIRECTORIES       = NO
+SHOW_FILES             = NO
+SHOW_NAMESPACES        = YES
+FILE_VERSION_FILTER    =
+LAYOUT_FILE            =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -86,35 +87,48 @@ WARN_IF_UNDOCUMENTED   = YES
 WARN_IF_DOC_ERROR      = YES
 WARN_NO_PARAMDOC       = NO
 WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
+WARN_LOGFILE           = reference/doxygen.log
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
-INPUT                  = ../../glom
+# We provide the input patch when calling doxygen instead.
+INPUT                  =
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.h
+FILE_PATTERNS          =
 RECURSIVE              = YES
-EXCLUDE                = 
+EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = */wrap_init.h
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = ../../examples
-EXAMPLE_PATTERNS       = *.h \
-                         *.cc
+EXCLUDE_PATTERNS       =
+EXCLUDE_SYMBOLS        = _* \
+                         adaptor_trait \
+                         basic_filebuf \
+                         basic_streambuf \
+                         binary_function \
+                         char_traits \
+                         internal \
+                         pair \
+                         unary_function
+EXAMPLE_PATH           =
+EXAMPLE_PATTERNS       = *.cc \
+                         *.h
 EXAMPLE_RECURSIVE      = YES
-IMAGE_PATH             = $(DOXYGEN_IMAGE_PATH) \
-                         images/widgets
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
+IMAGE_PATH             = "@abs_top_srcdir@/docs/reference/images/stock/16" \
+                         "@abs_top_srcdir@/docs/reference/images/stock/20" \
+                         "@abs_top_srcdir@/docs/reference/images/stock/24" \
+                         "@abs_top_srcdir@/docs/reference/images/stock/32" \
+                         "@abs_top_srcdir@/docs/reference/images/stock/48" \
+                         "@abs_top_srcdir@/docs/reference/images/widgets"
+INPUT_FILTER           =
+FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
 SOURCE_BROWSER         = NO
 INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = NO
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
+STRIP_CODE_COMMENTS    = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION    = NO
 REFERENCES_LINK_SOURCE = YES
 USE_HTAGS              = NO
 VERBATIM_HEADERS       = NO
@@ -123,31 +137,43 @@ VERBATIM_HEADERS       = NO
 #---------------------------------------------------------------------------
 ALPHABETICAL_INDEX     = YES
 COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
+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_HEADER            =
+HTML_FOOTER            =
+#HTML_STYLESHEET        = "@MMDOCTOOLDIR@/doxygen.css"
 HTML_ALIGN_MEMBERS     = YES
-GENERATE_HTMLHELP      = NO
+HTML_DYNAMIC_SECTIONS  = NO
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
-HTML_DYNAMIC_SECTIONS  = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
+GENERATE_HTMLHELP      = NO
+CHM_FILE               =
+HHC_LOCATION           =
 GENERATE_CHI           = NO
+CHM_INDEX_ENCODING     =
 BINARY_TOC             = NO
 TOC_EXPAND             = NO
-DISABLE_INDEX          = YES
+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      = NO
+GENERATE_TREEVIEW      = NONE
+USE_INLINE_TREES       = NO
 TREEVIEW_WIDTH         = 250
+FORMULA_FONTSIZE       = 10
+SEARCHENGINE           = NO
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
@@ -157,12 +183,13 @@ LATEX_CMD_NAME         = latex
 MAKEINDEX_CMD_NAME     = makeindex
 COMPACT_LATEX          = NO
 PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = 
-LATEX_HEADER           = 
-PDF_HYPERLINKS         = NO
-USE_PDFLATEX           = NO
+EXTRA_PACKAGES         =
+LATEX_HEADER           =
+PDF_HYPERLINKS         = YES
+USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = NO
 LATEX_HIDE_INDICES     = NO
+LATEX_SOURCE_CODE      = NO
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -170,8 +197,8 @@ GENERATE_RTF           = NO
 RTF_OUTPUT             = rtf
 COMPACT_RTF            = NO
 RTF_HYPERLINKS         = NO
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
+RTF_STYLESHEET_FILE    =
+RTF_EXTENSIONS_FILE    =
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
@@ -182,11 +209,11 @@ MAN_LINKS              = NO
 #---------------------------------------------------------------------------
 # configuration options related to the XML output
 #---------------------------------------------------------------------------
-GENERATE_XML           = YES
+GENERATE_XML           = NO
 XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
+XML_SCHEMA             =
+XML_DTD                =
+XML_PROGRAMLISTING     = NO
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
@@ -197,62 +224,69 @@ GENERATE_AUTOGEN_DEF   = NO
 GENERATE_PERLMOD       = NO
 PERLMOD_LATEX          = NO
 PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
+PERLMOD_MAKEVAR_PREFIX =
 #---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
+# 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 \
-                         GTKMM_USING_STD(x)= \
-                         GTKMM_API \
-                         GTKMM_ATKMM_ENABLED \
-                         GLIBMM_VFUNCS_ENABLED \
-                         GLIBMM_PROPERTIES_ENABLED \
+SEARCH_INCLUDES        = YES
+INCLUDE_PATH           = "@abs_top_builddir@/glom/libglom"
+INCLUDE_FILE_PATTERNS  = *.h
+PREDEFINED             = __cplusplus \
+                         DOXYGEN_SHOULD_SKIP_THIS \
+                         "G_GNUC_CONST=" \
+                         "G_GNUC_NORETURN=" \
+                         "G_GNUC_NULL_TERMINATED=" \
+                         "G_GNUC_PURE=" \
+                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED \
                          GLIBMM_EXCEPTIONS_ENABLED \
-                         GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
-EXPAND_AS_DEFINED      = 
+                         GLIBMM_HAVE_WIDE_STREAM \
+                         GLIBMM_PROPERTIES_ENABLED \
+                         GLIBMM_VFUNCS_ENABLED \
+                         "ATKMM_API=" \
+                         "GDKMM_API=" \
+                         "GTKMM_API=" \
+                         GTKMM_ATKMM_ENABLED \
+                         "GTKMM_USING_STD(x)="
+EXPAND_AS_DEFINED      =
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
-# Configuration::additions related to external references   
+# Configuration::additions related to external references
 #---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = YES
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/perl
+TAGFILES               =
+GENERATE_TAGFILE       = "libglom- GLOM_ABI_VERSION@.tag"
+ALLEXTERNALS           = NO
+EXTERNAL_GROUPS        = NO
+PERL_PATH              = @PERL@
 #---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
+# Configuration options related to the dot tool
 #---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
+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
+COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
+TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = NO
 INCLUDED_BY_GRAPH      = NO
 CALL_GRAPH             = NO
 CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = YES
+DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
+DOT_PATH               =
+DOTFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
+DOT_MULTI_TARGETS      = YES
 GENERATE_LEGEND        = YES
 DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/docs/libglom_reference/Makefile.am b/docs/libglom_reference/Makefile.am
new file mode 100644
index 0000000..c05e382
--- /dev/null
+++ b/docs/libglom_reference/Makefile.am
@@ -0,0 +1,206 @@
+## Copyright (c) 2009  Openismus GmbH  <http://www.openismus.com/>
+##
+## This file is part of mm-common.
+##
+## mm-common is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published
+## by the Free Software Foundation, either version 2 of the License,
+## or (at your option) any later version.
+##
+## mm-common 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 General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with mm-common.  If not, see <http://www.gnu.org/licenses/>.
+
+## Parameters:  book_name
+## Overrides:   pubdocbase, htmlrefpub, book_title, htmlref_patterns,
+##              doc_outdir, doc_config, doc_postprocess, doc_install,
+##              tagfile_to_devhelp2, doxytagfile, devhelpfile
+## Files:       doc_input
+## Output:      dist_noinst_DATA, DISTCLEANFILES, MAINTAINERCLEANFILES
+
+book_name = libglom-$(GLOM_ABI_VERSION)
+doc_input = $(top_srcdir)/glom/libglom
+
+
+
+# The name of the sub-directory where the generated documentation
+# will be placed.
+doc_outdir ?= .
+
+# The name of the Doxygen configuration file.
+doc_config ?= $(doc_outdir)/Doxyfile
+
+# The base URL where the online documentation for C++ binding modules
+# is located, including the trailing slash.
+pubdocbase ?= http://library.gnome.org/devel/
+
+# The URL of the module's online HTML reference documentation, which
+# may or may not end in a trailing slash.
+htmlrefpub ?= $(pubdocbase)$(PACKAGE_TARNAME)/unstable/
+
+# The title of the generated Devhelp book.
+book_title ?= $(PACKAGE_NAME) Reference Manual
+
+# A list of wildcard patterns matching the files from the HTML directory
+# generated by Doxygen which should be distributed and installed.
+htmlref_patterns ?= $(addprefix $(doc_outdir)/html/*.,css gif html png)
+
+# Locations of utilities shipped with glibmm.  Made overridable
+# in case the installed utilities cannot be used for some reason.
+doc_postprocess     ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-postprocess.pl"
+doc_install         ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-install.pl"
+tagfile_to_devhelp2 ?= "$(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl"
+
+# Names of the main output files.
+doxytagfile ?= $(doc_outdir)/$(book_name).tag
+devhelpfile ?= $(doc_outdir)/$(book_name).devhelp2
+
+# Function: $(call vpath_listall,PATTERN ...)
+# Get all filenames which match a PATTERN from the list.  Look for files
+# relative to either the current directory or $(srcdir).  Strip $(srcdir)/
+# again before returning and remove any duplicates.
+vpath_srclist = $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/,$(1))))
+vpath_listall = $(sort $(wildcard $(1)) $(if $(srcdir:.=),$(vpath_srclist)))
+
+# Installation directories.
+libdocdir    = $(datarootdir)/doc/$(book_name)
+referencedir = $(libdocdir)/reference
+htmlrefdir   = $(referencedir)/html
+devhelpdir   = $(datadir)/devhelp/books/$(book_name)
+
+if ENABLE_DOCUMENTATION
+doc_inst_targets = install-htmlref install-devhelp
+doc_inst_files   = $(doxytagfile)
+doc_dist_files   = $(devhelpfile) $(call vpath_listall,$(htmlref_patterns))
+else
+doc_inst_targets =
+doc_inst_files   =
+doc_dist_files   =
+endif
+
+dist_reference_DATA = $(strip $(doc_inst_files))
+dist_noinst_DATA    = $(strip $(doc_dist_files))
+
+DISTCLEANFILES       = $(doc_outdir)/doxygen.log
+MAINTAINERCLEANFILES = $(doxytagfile) $(devhelpfile) $(doc_outdir)/html/*
+
+# The generic bit of the doc-install.pl command line.
+doc_install_cmd = $(doc_install) --verbose --mode=0644
+
+# Transform $(datarootdir) into a URI to match MM_ARG_WITH_TAGFILE_DOC().
+datarootdir_esc = $(subst $(subst ,, ),%20,$(subst \,/,$(datarootdir)))
+docdir_base_uri = file:///$(patsubst /%,%,$(datarootdir_esc:/=))/doc
+
+# The command and options used to install the files from the HTML reference
+# documentation.  The $(subst) magic translates external tag references from
+# absolute to relative paths if the destination is on the local file system
+# and installed under the same prefix as the package being built.
+htmlref_relinst = $(subst @$(docdir_base_uri)/,@../../../,$(DOCINSTALL_FLAGS))
+htmlref_install = $(doc_install_cmd) $(htmlref_relinst)
+
+# The command and options used to install the Devhelp file.
+devhelp_install = $(doc_install_cmd) --book-base='$(htmlrefdir:/=)'
+
+# Helper variables to replicate each pattern with a $(srcdir)/ prefix.
+# Also add quoting to prevent the shell from expanding the patterns.
+htmlref_patterns_dup   = $(foreach item,$(htmlref_patterns),'$(item)' '$(srcdir)/$(item)')
+htmlref_patterns_quote = $(patsubst %,'%',$(htmlref_patterns))
+htmlref_patterns_vpath = $(if $(srcdir:.=),$(htmlref_patterns_dup),$(htmlref_patterns_quote))
+
+# Expand to a list of -name 'PATTERN' arguments for use with 'find'.
+htmlref_find_patterns = $(patsubst %,-name '%' -o,$(notdir $(htmlref_patterns))) -false
+
+# The parameters to the Doxygen-to-Devhelp XSLT script
+dh_xsl_params =	--stringparam book_title '$(book_title)' \
+		--stringparam book_name '$(book_name)' \
+		--stringparam book_base html
+
+# Generated configuration files which, when updated, should cause the
+# reference documentation to be rebuilt.
+doc_config_deps = $(CONFIG_HEADER) $(srcdir)/$(doc_config).in $(srcdir)/Makefile.in
+
+# Regenerate the documentation automatically only in maintainer mode.
+# Depend on the generated configuration header files to trigger a rebuild
+# if a configuration value changed.  The configuration header files only
+# have their timestamp modified when the content actually changed, which
+# is not the case for any other files generated by configure.
+if MAINTAINER_MODE
+doc_dependencies = $(doc_config_deps) $(doc_input)
+else
+doc_dependencies =
+endif
+
+# Explicitly depend on the files to be distributed or installed.
+all-local: $(doc_inst_files) $(doc_dist_files)
+
+# Hook up custom rules for translating references to external documentation
+# to the actual location at install time.
+install-data-local: $(doc_inst_targets)
+
+# Hook up corresponding custom uninstall rules.
+uninstall-local: $(addprefix un,$(doc_inst_targets))
+
+# Install the HTML reference documentation files with just one invocation
+# of doc-install.pl to speed up the build process.  Make use of the --glob
+# option, which tells it to perform filename globbing itself, like 'find'.
+# This helps to avoid excessively long command lines, as some platforms
+# have rather restrictive limits.
+install-htmlref: $(doc_outdir)/html/index.html
+	@$(NORMAL_INSTALL)
+	$(MKDIR_P) '$(DESTDIR)$(htmlrefdir)'
+	$(htmlref_install) -t '$(DESTDIR)$(htmlrefdir)' --glob -- $(htmlref_patterns_vpath)
+
+# Delete files from the html installation directory.  Avoid recursive
+# directory removal, and apply the same wildcard pattern as was used to
+# select files for installation.
+uninstall-htmlref:
+	@$(NORMAL_UNINSTALL)
+	(cd '$(DESTDIR)$(htmlrefdir)' 2>/dev/null || exit 0; \
+	 find . -type f '(' $(htmlref_find_patterns) ')' -exec rm -f '{}' '+')
+	-test ! -r '$(DESTDIR)$(htmlrefdir)' || rmdir '$(DESTDIR)$(htmlrefdir)'
+
+# Install the Devhelp file, translating the base path on the fly.
+install-devhelp: $(devhelpfile)
+	@$(NORMAL_INSTALL)
+	$(MKDIR_P) '$(DESTDIR)$(devhelpdir)'
+	$(devhelp_install) -t '$(DESTDIR)$(devhelpdir)' -- $^
+
+# Remove the installed Devhelp file and directory.
+uninstall-devhelp:
+	@$(NORMAL_UNINSTALL)
+	rm -f '$(DESTDIR)$(devhelpdir)/$(notdir $(devhelpfile))'
+	-test ! -r '$(DESTDIR)$(devhelpdir)' || rmdir '$(DESTDIR)$(devhelpdir)'
+
+# Regenerate the Doxygen configuration file automatically.  In the
+# top-level build directory Automake already takes care of this.
+# ifneq ($(subdir),.)
+#$(doc_config): $(srcdir)/$(doc_config).in $(top_builddir)/config.status
+#	$(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+#
+# endif
+
+# Make sure that the documentation will always have been generated before
+# executing commands of a rule that depends on files in $(doc_outdir)/html/.
+$(doc_outdir)/html/%: | $(doxytagfile)
+
+# Run Doxygen to build the reference documentation. The generated tag file
+# also functions as time stamp target for the documentation as a whole.
+$(doxytagfile): $(doc_dependencies) | $(doc_config)
+	-$(AM_V_at)rm -f $@
+	-$(AM_V_at)rm -fr $(doc_outdir)/html
+	$(AM_V_GEN)(echo '@INCLUDE =' $(doc_config) && echo 'INPUT =' $(doc_input)) | $(DOXYGEN) -
+	$(AM_V_at)$(doc_postprocess) '$(doc_outdir)/html/*.html'
+
+# Run XSL transformation to generate a Devhelp book from a Doxygen tag file.
+%.devhelp2: %.tag
+	$(AM_V_GEN)$(XSLTPROC) $(dh_xsl_params) -o $@ $(tagfile_to_devhelp2) $<
+
+.PHONY: install-htmlref uninstall-htmlref install-devhelp uninstall-devhelp
+
+# Instruct GNU make to delete the targets of a rule after it failed, in
+# order to avoid the complication of handling that situation manually.
+.DELETE_ON_ERROR:
diff --git a/docs/libglom_reference/doxygen_to_devhelp.xsl b/docs/libglom_reference/doxygen_to_devhelp.xsl
new file mode 100644
index 0000000..ed98aa6
--- /dev/null
+++ b/docs/libglom_reference/doxygen_to_devhelp.xsl
@@ -0,0 +1,94 @@
+<xsl:stylesheet
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+    xmlns:fo="http://www.w3.org/1999/XSL/Format";
+    version="1.0">
+
+<xsl:output method="xml" version="1.0" indent="yes"/>
+
+<xsl:param name="reference_prefix">../../../doc/gtkmm-2.4/docs/reference/html/</xsl:param>
+
+<xsl:template match="/">
+  <book title="gtkmm 2.4 library Reference Manual"
+        name="gtkmm 2.4"
+        link="{$reference_prefix}index.html">
+  <chapters>
+    <sub name="Classes" link="{$reference_prefix}classes.html">
+      <xsl:apply-templates select="doxygenindex/compound[ kind='class']">
+        <xsl:sort select="."/>
+      </xsl:apply-templates>
+    </sub>
+    <sub name="Namespaces" link="{$reference_prefix}namespaces.html">
+      <xsl:apply-templates select="doxygenindex/compound[ kind='namespace']">
+        <xsl:sort select="."/>
+      </xsl:apply-templates>
+    </sub>
+  </chapters>
+
+  <functions>
+    <!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
+    <xsl:apply-templates select="doxygenindex/compound/member" mode="as-function"/>
+  </functions>
+  </book>
+</xsl:template>
+
+<xsl:template match="compound">
+  <xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
+  <xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param>
+  <sub name="{$name}" link="{$reference_prefix}{$link}">
+  <xsl:apply-templates select="member" mode="as-sub">
+    <xsl:sort select="."/>
+  </xsl:apply-templates>
+  </sub>
+</xsl:template>
+
+<xsl:template match="member" mode="as-function">
+  <!--
+  <function name="atk_set_value" link="atk-atkvalue.html#ATK-SET-VALUE"/>
+  -->
+  <xsl:variable name="fqn">
+    <xsl:call-template name="get-fully-qualified-name" />
+  </xsl:variable>
+  <xsl:variable name="link">
+    <xsl:call-template name="get-member-link" />
+  </xsl:variable>
+  <function name="{$fqn}" link="{$reference_prefix}{$link}"/>
+</xsl:template>
+
+<xsl:template match="member" mode="as-sub">
+  <xsl:variable name="fqn">
+    <xsl:call-template name="get-fully-qualified-name" />
+  </xsl:variable>
+  <xsl:variable name="link">
+    <xsl:call-template name="get-member-link" />
+  </xsl:variable>
+  <sub name="{$fqn}" link="{$reference_prefix}{$link}"/>
+</xsl:template>
+
+
+<!-- get a url link for the current member node.
+  The source xml looks like this:
+  <compound refid="classGtk_1_1AboutDialog" kind="class"><name>Gtk::AboutDialog</name>
+    <member refid="classGtk_1_1AboutDialog_1ad14950354fa1d9e7d02e951bd0f232e" kind="typedef"><name>SlotActivateLink</name></member>
+
+  The URL for the member function is obtained by adding '.html' to the refid of
+  the parent node.  The in-page anchor id is the portion of the child's refid
+  that is different than the parent's refid, but without the leading '_1'
+  So, in the example above, the url would be:
+    classGtk_1_1AboutDialog.html#ad14950354fa1d9e7d02e951bd0f232e
+-->
+<xsl:template name="get-member-link">
+  <xsl:variable name="offset">
+    <xsl:value-of select="string-length(../@refid) + 3"/>
+  </xsl:variable>
+  <xsl:value-of select="concat(../@refid, '.html#', substring(@refid, $offset))"/>
+</xsl:template>
+
+<!-- Get the fully qualified name for the current class member node -->
+<xsl:template name="get-fully-qualified-name">
+  <xsl:value-of select="concat(../name, '::', name)"/>
+</xsl:template>
+
+</xsl:stylesheet>
+
+<!-- vim:ts=2 sw=2:
+-->
diff --git a/docs/pyglom_reference/Makefile.am b/docs/pyglom_reference/Makefile.am
new file mode 100644
index 0000000..b82df06
--- /dev/null
+++ b/docs/pyglom_reference/Makefile.am
@@ -0,0 +1,9 @@
+# pydoc can write docs for all modules in a directory (or a module name), 
+# but doesn't like being given a path to any actual file.
+
+html:
+	pydoc -w $(top_builddir)/glom/python_embed/python_module/.libs/
+	mkdir html
+	mv glom_1_14.html html/index.html
+
+MAINTAINERCLEANFILES = html/*
diff --git a/glom/libglom/data_structure/layout/fieldformatting.h b/glom/libglom/data_structure/layout/fieldformatting.h
index 73b9463..7daa702 100644
--- a/glom/libglom/data_structure/layout/fieldformatting.h
+++ b/glom/libglom/data_structure/layout/fieldformatting.h
@@ -136,7 +136,7 @@ public:
   {
     HORIZONTAL_ALIGNMENT_AUTO, //For instance, RIGHT for numeric fields.
     HORIZONTAL_ALIGNMENT_LEFT,
-    HORIZONTAL_ALIGNMENT_RIGHT,
+    HORIZONTAL_ALIGNMENT_RIGHT
   };
 
   void set_horizontal_alignment(HorizontalAlignment alignment);



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