From: g0dil Date: Thu, 3 Sep 2009 08:14:45 +0000 (+0000) Subject: Move SENF and build specific Doxygen stuff into extra, shared Doxyfile X-Git-Url: http://g0dil.de/git?p=senf.git;a=commitdiff_plain;h=8e0d0e7f239694e912bd76ba2d8b7a76079eb44c Move SENF and build specific Doxygen stuff into extra, shared Doxyfile git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@1373 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/doclib/Doxyfile.global b/doclib/Doxyfile.global index 63881ec..594f6db 100644 --- a/doclib/Doxyfile.global +++ b/doclib/Doxyfile.global @@ -1,22 +1,13 @@ # For a full documented example configuration, call 'doxygen -g -' -OUTPUT_DIRECTORY = $(output_dir) +@INCLUDE = "$(LIBDIR)/Doxyfile" DOXYFILE_ENCODING = UTF-8 INPUT_ENCODING = UTF-8 ALWAYS_DETAILED_SEC = YES -STRIP_FROM_INC_PATH = $(TOPDIR) MULTILINE_CPP_IS_BRIEF = YES DETAILS_AT_TOP = YES -LAYOUT_FILE = $(TOPDIR)/site_scons/lib/DoxygenLayout.xml - -ALIASES = "fixme=\xrefitem fixme \"Fix\" \"Fixmes\"" \ - "idea=\xrefitem idea \"Idea\" \"Ideas\"" \ - "implementation=\par \"Implementation note:\"" \ - "doc=\xrefitem doc \"Documentation request\" \"Documentation Requests\"" \ - "autotoc=\htmlonly
\endhtmlonly" \ - "seechapter=\htmlonly      → \endhtmlonly see " BUILTIN_STL_SUPPORT = YES @@ -43,65 +34,18 @@ EXCLUDE_PATTERNS = *.test.cc \ "#*#" EXCLUDE_SYMBOLS = boost std IMAGE_PATH = . -INPUT_FILTER = "$(TOPDIR)/site_scons/lib/filter.pl" SOURCE_BROWSER = YES ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 3 -GENERATE_HTML = $(html) -HTML_OUTPUT = $(html_dir) -HTML_HEADER = "$(TOPDIR)/doclib/doxy-header.html" -HTML_FOOTER = "$(TOPDIR)/doclib/doxy-footer.html" - GENERATE_LATEX = NO GENERATE_XML = NO GENERATE_MAN = NO MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES -PREDEFINED = DOXYGEN \ - "SENF_PPI_MODULE(x)=" \ - "SENF_PARSER()=" \ - "SENF_FIXED_PARSER()=" \ - "SENF_PARSER_INHERIT(name)=" \ - "SENF_PARSER_FIELD(name,type)=type name() const" \ - "SENF_PARSER_FIELD_RO(name,type)=type::value_type name() const" \ - "SENF_PARSER_BITFIELD(name, bits, type)=senf::ParseField_ ## type(bits) name() const" \ - "SENF_PARSER_BITFIELD_RO(name, bits, type)=senf::ParseField_ ## type(bits)::value_type name() const" \ - "SENF_PARSER_CUSTOM_FIELD(name, type, size, isize)=type name() const" \ - "SENF_PARSER_PRIVATE_FIELD(name,type)=private: type name() const; public:" \ - "SENF_PARSER_PRIVATE_FIELD_RO(name, type)=private: type::value_type name() const; public:" \ - "SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)=private: senf::ParseField_ ## type(bits) name() const; public:" \ - "SENF_PARSER_PRIVATE_BITFIELD_RO(name, bits, type)=private: senf::ParseField_ ## type(bits)::value_type name() const; public:" \ - "SENF_PARSER_SKIP(x)=" \ - "SENF_PARSER_SKIP_BITS(x)=" \ - "SENF_PARSER_GOTO(x)=" \ - "SENF_PARSER_GOTO_OFFSET(x)=" \ - "SENF_PARSER_LABEL(x)=" \ - "SENF_PARSER_INIT()=void init()" \ - "SENF_PARSER_FINALIZE(name)=" \ - "ParseField_unsigned(b)=UIntFieldParser" \ - "ParseField_signed(b)=IntFieldParser" \ - "ParseField_bool(b)=FlagParser" \ - "SENF_PARSER_ARRAY(name,elt_type,size)=senf::Parse_Array name() const" \ - "SENF_PARSER_LIST_B(name,elt_type,size_type)=senf::Parse_ListB::parser name() const" \ - "SENF_PARSER_LIST_N(name,elt_type,size_type)=senf::Parse_ListN::parser name() const" \ - "SENF_PARSER_VARIANT(name,chooser,types)=senf::Parse_Variant_Direct::parser name() const" \ - "SENF_PARSER_PRIVATE_VARIANT(name,chooser,types)=private: senf::Parse_Variant_Direct::parser name() const; public:" \ - "SENF_PARSER_VEC_N(name,elt_type,size_type)=senf::Parse_VectorN name() const" \ - "SENF_LOG_CLASS_AREA()=" \ - "SENF_LOG_DEFAULT_AREA(area)=" \ - "SENF_LOG_DEFAULT_STREAM(stream)=" \ - "BOOST_PP_ITERATE()=" \ - "BOOST_PARAMETER_KEYWORD(ns, name)=unspecified_keyword_type name;" -EXPAND_AS_DEFINED = prefix_ \ - SENF_LOG_DEF_STREAM \ - SENF_LOG_DEF_AREA \ - SENF_LOG_DEF_AREA_I -TAGFILES = $(tagfiles) -GENERATE_TAGFILE = $(generate_tagfile) EXTERNAL_GROUPS = NO HAVE_DOT = YES @@ -109,7 +53,6 @@ COLLABORATION_GRAPH = NO GROUP_GRAPHS = NO GRAPHICAL_HIERARCHY = NO DIRECTORY_GRAPH = NO -DOT_PATH = "$(TOPDIR)/site_scons/lib" DOT_GRAPH_MAX_NODES = 10 MAX_DOT_GRAPH_DEPTH = 5 DOT_MULTI_TARGETS = YES @@ -117,4 +60,8 @@ DOT_CLEANUP = NO SEARCHENGINE = YES +LAYOUT_FILE = $(LIBDIR)/DoxygenLayout.xml +HTML_HEADER = $(TOPDIR)/doclib/doxy-header.html +HTML_FOOTER = $(TOPDIR)/doclib/doxy-footer.html + @INCLUDE = "$(TOPDIR)/Doxyfile.local" diff --git a/site_scons/SENFSCons.py b/site_scons/SENFSCons.py index 88fa5e5..1f082b9 100644 --- a/site_scons/SENFSCons.py +++ b/site_scons/SENFSCons.py @@ -41,6 +41,7 @@ def Doxygen(env, doxyfile = "Doxyfile", extra_sources = []): DOXYOPTS = [ '--tagfile-name', '"${MODULE}.tag"', '--tagfile' ], DOXYENV = { 'TOPDIR' : env.Dir('#').abspath, + 'LIBDIR' : env.Dir('#/site_scons/lib').abspath, 'output_dir' : 'doc', 'html_dir' : 'html', 'html' : 'NO', @@ -60,6 +61,7 @@ def Doxygen(env, doxyfile = "Doxyfile", extra_sources = []): '--html' ], MODULE = module, DOXYENV = { 'TOPDIR' : env.Dir('#').abspath, + 'LIBDIR' : env.Dir('#/site_scons/lib').abspath, 'tagfiles' : '${ALL_TAGFILES}', 'output_dir' : 'doc', 'html_dir' : 'html', diff --git a/site_scons/lib/Doxyfile b/site_scons/lib/Doxyfile new file mode 100644 index 0000000..5cc9370 --- /dev/null +++ b/site_scons/lib/Doxyfile @@ -0,0 +1,56 @@ +ALIASES = "fixme=\xrefitem fixme \"Fix\" \"Fixmes\"" \ + "idea=\xrefitem idea \"Idea\" \"Ideas\"" \ + "implementation=\par \"Implementation note:\"" \ + "doc=\xrefitem doc \"Documentation request\" \"Documentation Requests\"" \ + "autotoc=\htmlonly
\endhtmlonly" \ + "seechapter=\htmlonly      → \endhtmlonly see " + +PREDEFINED = DOXYGEN \ + "SENF_PPI_MODULE(x)=" \ + "SENF_PARSER()=" \ + "SENF_FIXED_PARSER()=" \ + "SENF_PARSER_INHERIT(name)=" \ + "SENF_PARSER_FIELD(name,type)=type name() const" \ + "SENF_PARSER_FIELD_RO(name,type)=type::value_type name() const" \ + "SENF_PARSER_BITFIELD(name, bits, type)=senf::ParseField_ ## type(bits) name() const" \ + "SENF_PARSER_BITFIELD_RO(name, bits, type)=senf::ParseField_ ## type(bits)::value_type name() const" \ + "SENF_PARSER_CUSTOM_FIELD(name, type, size, isize)=type name() const" \ + "SENF_PARSER_PRIVATE_FIELD(name,type)=private: type name() const; public:" \ + "SENF_PARSER_PRIVATE_FIELD_RO(name, type)=private: type::value_type name() const; public:" \ + "SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)=private: senf::ParseField_ ## type(bits) name() const; public:" \ + "SENF_PARSER_PRIVATE_BITFIELD_RO(name, bits, type)=private: senf::ParseField_ ## type(bits)::value_type name() const; public:" \ + "SENF_PARSER_SKIP(x)=" \ + "SENF_PARSER_SKIP_BITS(x)=" \ + "SENF_PARSER_GOTO(x)=" \ + "SENF_PARSER_GOTO_OFFSET(x)=" \ + "SENF_PARSER_LABEL(x)=" \ + "SENF_PARSER_INIT()=void init()" \ + "SENF_PARSER_FINALIZE(name)=" \ + "ParseField_unsigned(b)=UIntFieldParser" \ + "ParseField_signed(b)=IntFieldParser" \ + "ParseField_bool(b)=FlagParser" \ + "SENF_PARSER_ARRAY(name,elt_type,size)=senf::Parse_Array name() const" \ + "SENF_PARSER_LIST_B(name,elt_type,size_type)=senf::Parse_ListB::parser name() const" \ + "SENF_PARSER_LIST_N(name,elt_type,size_type)=senf::Parse_ListN::parser name() const" \ + "SENF_PARSER_VARIANT(name,chooser,types)=senf::Parse_Variant_Direct::parser name() const" \ + "SENF_PARSER_PRIVATE_VARIANT(name,chooser,types)=private: senf::Parse_Variant_Direct::parser name() const; public:" \ + "SENF_PARSER_VEC_N(name,elt_type,size_type)=senf::Parse_VectorN name() const" \ + "SENF_LOG_CLASS_AREA()=" \ + "SENF_LOG_DEFAULT_AREA(area)=" \ + "SENF_LOG_DEFAULT_STREAM(stream)=" \ + "BOOST_PP_ITERATE()=" \ + "BOOST_PARAMETER_KEYWORD(ns, name)=unspecified_keyword_type name;" + +EXPAND_AS_DEFINED = prefix_ \ + SENF_LOG_DEF_STREAM \ + SENF_LOG_DEF_AREA \ + SENF_LOG_DEF_AREA_I + +OUTPUT_DIRECTORY = $(output_dir) +INPUT_FILTER = $(LIBDIR)/filter.pl +GENERATE_HTML = $(html) +HTML_OUTPUT = $(html_dir) +TAGFILES = $(tagfiles) +GENERATE_TAGFILE = $(generate_tagfile) +DOT_PATH = $(LIBDIR) +STRIP_FROM_INC_PATH = $(TOPDIR) diff --git a/site_scons/lib/Doxyfile.yap b/site_scons/lib/Doxyfile.yap index 22d5763..64d98b3 100644 --- a/site_scons/lib/Doxyfile.yap +++ b/site_scons/lib/Doxyfile.yap @@ -1,12 +1,16 @@ +PROJECT_NAME = "${PROJECTNAME}" +PROJECT_NUMBER = "(Version $(REVISION))" + INPUT = . RECURSIVE = NO -PROJECT_NAME = "${PROJECTNAME}" -PROJECT_NUMBER = "(Version ${REVISION})" +ALPHABETICAL_INDEX = NO ########################################################################### # Layout customization +@INCLUDE = "$(LIBDIR)/Doxyfile" + DOXYFILE_ENCODING = UTF-8 INPUT_ENCODING = UTF-8 @@ -14,13 +18,6 @@ ALWAYS_DETAILED_SEC = YES MULTILINE_CPP_IS_BRIEF = YES DETAILS_AT_TOP = YES -ALIASES = "fixme=\xrefitem fixme \"Fix\" \"Fixmes\"" \ - "idea=\xrefitem idea \"Idea\" \"Ideas\"" \ - "implementation=\par \"Implementation note:\"" \ - "doc=\xrefitem doc \"Documentation request\" \"Documentation Requests\"" \ - "autotoc=\htmlonly
\endhtmlonly" \ - "seechapter=\htmlonly      → \endhtmlonly see " - BUILTIN_STL_SUPPORT = YES SUBGROUPING = NO @@ -47,7 +44,6 @@ EXCLUDE_SYMBOLS = boost std IMAGE_PATH = . SOURCE_BROWSER = YES -ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 3 GENERATE_LATEX = NO @@ -56,45 +52,6 @@ GENERATE_MAN = NO MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES -PREDEFINED = DOXYGEN \ - "SENF_PPI_MODULE(x)=" \ - "SENF_PARSER()=" \ - "SENF_FIXED_PARSER()=" \ - "SENF_PARSER_INHERIT(name)=" \ - "SENF_PARSER_FIELD(name,type)=type name() const" \ - "SENF_PARSER_FIELD_RO(name,type)=type::value_type name() const" \ - "SENF_PARSER_BITFIELD(name, bits, type)=senf::ParseField_ ## type(bits) name() const" \ - "SENF_PARSER_BITFIELD_RO(name, bits, type)=senf::ParseField_ ## type(bits)::value_type name() const" \ - "SENF_PARSER_CUSTOM_FIELD(name, type, size, isize)=type name() const" \ - "SENF_PARSER_PRIVATE_FIELD(name,type)=private: type name() const; public:" \ - "SENF_PARSER_PRIVATE_FIELD_RO(name, type)=private: type::value_type name() const; public:" \ - "SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)=private: senf::ParseField_ ## type(bits) name() const; public:" \ - "SENF_PARSER_PRIVATE_BITFIELD_RO(name, bits, type)=private: senf::ParseField_ ## type(bits)::value_type name() const; public:" \ - "SENF_PARSER_SKIP(x)=" \ - "SENF_PARSER_SKIP_BITS(x)=" \ - "SENF_PARSER_GOTO(x)=" \ - "SENF_PARSER_GOTO_OFFSET(x)=" \ - "SENF_PARSER_LABEL(x)=" \ - "SENF_PARSER_INIT()=void init()" \ - "SENF_PARSER_FINALIZE(name)=" \ - "ParseField_unsigned(b)=UIntFieldParser" \ - "ParseField_signed(b)=IntFieldParser" \ - "ParseField_bool(b)=FlagParser" \ - "SENF_PARSER_ARRAY(name,elt_type,size)=senf::Parse_Array name() const" \ - "SENF_PARSER_LIST_B(name,elt_type,size_type)=senf::Parse_ListB::parser name() const" \ - "SENF_PARSER_LIST_N(name,elt_type,size_type)=senf::Parse_ListN::parser name() const" \ - "SENF_PARSER_VARIANT(name,chooser,types)=senf::Parse_Variant_Direct::parser name() const" \ - "SENF_PARSER_PRIVATE_VARIANT(name,chooser,types)=private: senf::Parse_Variant_Direct::parser name() const; public:" \ - "SENF_PARSER_VEC_N(name,elt_type,size_type)=senf::Parse_VectorN name() const" \ - "SENF_LOG_CLASS_AREA()=" \ - "SENF_LOG_DEFAULT_AREA(area)=" \ - "SENF_LOG_DEFAULT_STREAM(stream)=" \ - "BOOST_PP_ITERATE()=" \ - "BOOST_PARAMETER_KEYWORD(ns, name)=unspecified_keyword_type name;" -EXPAND_AS_DEFINED = prefix_ \ - SENF_LOG_DEF_STREAM \ - SENF_LOG_DEF_AREA \ - SENF_LOG_DEF_AREA_I EXTERNAL_GROUPS = NO @@ -111,18 +68,6 @@ DOT_CLEANUP = NO SEARCHENGINE = NO -########################################################################### -# The following options are MANDATORY to integrate with the build system - -OUTPUT_DIRECTORY = $(output_dir) -STRIP_FROM_INC_PATH = $(TOPDIR) LAYOUT_FILE = $(LIBDIR)/DoxygenLayout.xml -GENERATE_HTML = $(html) -HTML_OUTPUT = $(html_dir) HTML_HEADER = $(TOPDIR)/$(output_dir)/doxyheader.html HTML_FOOTER = $(TOPDIR)/$(output_dir)/doxyfooter.html -INPUT_FILTER = $(LIBDIR)/filter.pl -TAGFILES = $(tagfiles) -GENERATE_TAGFILE = $(generate_tagfile) -DOT_PATH = $(LIBDIR) - diff --git a/site_scons/site_tools/Doxygen.py b/site_scons/site_tools/Doxygen.py index 44a105f..a1975c9 100644 --- a/site_scons/site_tools/Doxygen.py +++ b/site_scons/site_tools/Doxygen.py @@ -196,7 +196,7 @@ class DoxyfileParser: parser.parse() return - raise ValueError,"@INCLUDE file not found" + raise ValueError,"@INCLUDE file '%s' not found" % value[0] def _INCLUDE_PATH(self, op, value): self._include_path.extend(value)