Better build system
authorAlpar Juttner <alpar@cs.elte.hu>
Wed, 05 Nov 2008 17:10:54 +0000
changeset 170b3b26cd1cea
parent 16 ed4c8506e151
child 18 a291609dad52
Better build system

- configure script added
- demo/*.cc are now compiled (the executables are in demo/build)
- version number appears in the doc and automatically updates
- the cross reference to the lemon doc can be relocated (e.g. to a local
copy of the doc)
- some repo reorganization has taken place
- better .hgignore
.hgignore
Doxyfile
Doxyfile.in
Makefile
Makefile.in
configure
scripts/chg-len.py
scripts/titlegen.py
titlegen.py
     1.1 --- a/.hgignore	Mon Nov 03 23:46:30 2008 +0100
     1.2 +++ b/.hgignore	Wed Nov 05 17:10:54 2008 +0000
     1.3 @@ -9,10 +9,15 @@
     1.4  *.tar.*
     1.5  *.bak
     1.6  *.tag
     1.7 +*.tmp
     1.8  .dirstamp
     1.9 +Doxyfile
    1.10 +Makefile
    1.11  
    1.12  syntax: regexp
    1.13  (.*/)?\#[^/]*\#$
    1.14 +(.*/)?\.\#[^/]*$
    1.15  ^html/.*
    1.16  ^gen-images/.*
    1.17  ^gen-dox/.*
    1.18 +^demo/build/.*
    1.19 \ No newline at end of file
     2.1 --- a/Doxyfile	Mon Nov 03 23:46:30 2008 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,260 +0,0 @@
     2.4 -# Doxyfile 1.5.7.1
     2.5 -
     2.6 -#---------------------------------------------------------------------------
     2.7 -# Project related configuration options
     2.8 -#---------------------------------------------------------------------------
     2.9 -DOXYFILE_ENCODING      = UTF-8
    2.10 -PROJECT_NAME           = "LEMON Tutorial"
    2.11 -PROJECT_NUMBER         = 0.1
    2.12 -OUTPUT_DIRECTORY       = 
    2.13 -CREATE_SUBDIRS         = NO
    2.14 -OUTPUT_LANGUAGE        = English
    2.15 -BRIEF_MEMBER_DESC      = YES
    2.16 -REPEAT_BRIEF           = NO
    2.17 -ABBREVIATE_BRIEF       = 
    2.18 -ALWAYS_DETAILED_SEC    = NO
    2.19 -INLINE_INHERITED_MEMB  = NO
    2.20 -FULL_PATH_NAMES        = YES
    2.21 -STRIP_FROM_PATH        = ./
    2.22 -STRIP_FROM_INC_PATH    = ./
    2.23 -SHORT_NAMES            = YES
    2.24 -JAVADOC_AUTOBRIEF      = NO
    2.25 -QT_AUTOBRIEF           = NO
    2.26 -MULTILINE_CPP_IS_BRIEF = NO
    2.27 -INHERIT_DOCS           = NO
    2.28 -SEPARATE_MEMBER_PAGES  = NO
    2.29 -TAB_SIZE               = 8
    2.30 -ALIASES                = 
    2.31 -OPTIMIZE_OUTPUT_FOR_C  = NO
    2.32 -OPTIMIZE_OUTPUT_JAVA   = NO
    2.33 -OPTIMIZE_FOR_FORTRAN   = NO
    2.34 -OPTIMIZE_OUTPUT_VHDL   = NO
    2.35 -BUILTIN_STL_SUPPORT    = YES
    2.36 -CPP_CLI_SUPPORT        = NO
    2.37 -SIP_SUPPORT            = NO
    2.38 -IDL_PROPERTY_SUPPORT   = YES
    2.39 -DISTRIBUTE_GROUP_DOC   = NO
    2.40 -SUBGROUPING            = YES
    2.41 -TYPEDEF_HIDES_STRUCT   = NO
    2.42 -SYMBOL_CACHE_SIZE      = 0
    2.43 -#---------------------------------------------------------------------------
    2.44 -# Build related configuration options
    2.45 -#---------------------------------------------------------------------------
    2.46 -EXTRACT_ALL            = NO
    2.47 -EXTRACT_PRIVATE        = YES
    2.48 -EXTRACT_STATIC         = YES
    2.49 -EXTRACT_LOCAL_CLASSES  = NO
    2.50 -EXTRACT_LOCAL_METHODS  = NO
    2.51 -EXTRACT_ANON_NSPACES   = NO
    2.52 -HIDE_UNDOC_MEMBERS     = YES
    2.53 -HIDE_UNDOC_CLASSES     = YES
    2.54 -HIDE_FRIEND_COMPOUNDS  = NO
    2.55 -HIDE_IN_BODY_DOCS      = NO
    2.56 -INTERNAL_DOCS          = NO
    2.57 -CASE_SENSE_NAMES       = YES
    2.58 -HIDE_SCOPE_NAMES       = YES
    2.59 -SHOW_INCLUDE_FILES     = YES
    2.60 -INLINE_INFO            = YES
    2.61 -SORT_MEMBER_DOCS       = NO
    2.62 -SORT_BRIEF_DOCS        = NO
    2.63 -SORT_GROUP_NAMES       = NO
    2.64 -SORT_BY_SCOPE_NAME     = NO
    2.65 -GENERATE_TODOLIST      = YES
    2.66 -GENERATE_TESTLIST      = YES
    2.67 -GENERATE_BUGLIST       = YES
    2.68 -GENERATE_DEPRECATEDLIST= YES
    2.69 -ENABLED_SECTIONS       = 
    2.70 -MAX_INITIALIZER_LINES  = 5
    2.71 -SHOW_USED_FILES        = NO
    2.72 -SHOW_DIRECTORIES       = NO
    2.73 -SHOW_FILES             = NO
    2.74 -SHOW_NAMESPACES        = NO
    2.75 -FILE_VERSION_FILTER    = 
    2.76 -LAYOUT_FILE            = ./DoxygenLayout.xml
    2.77 -#---------------------------------------------------------------------------
    2.78 -# configuration options related to warning and progress messages
    2.79 -#---------------------------------------------------------------------------
    2.80 -QUIET                  = NO
    2.81 -WARNINGS               = YES
    2.82 -WARN_IF_UNDOCUMENTED   = YES
    2.83 -WARN_IF_DOC_ERROR      = YES
    2.84 -WARN_NO_PARAMDOC       = NO
    2.85 -WARN_FORMAT            = "$file:$line: $text"
    2.86 -WARN_LOGFILE           = doxygen.log
    2.87 -#---------------------------------------------------------------------------
    2.88 -# configuration options related to the input files
    2.89 -#---------------------------------------------------------------------------
    2.90 -INPUT                  = ./gen-dox \
    2.91 -                         ./demo
    2.92 -INPUT_ENCODING         = UTF-8
    2.93 -FILE_PATTERNS          = *.h \
    2.94 -                         *.cc \
    2.95 -                         *.dox
    2.96 -RECURSIVE              = NO
    2.97 -EXCLUDE                = 
    2.98 -EXCLUDE_SYMLINKS       = NO
    2.99 -EXCLUDE_PATTERNS       = 
   2.100 -EXCLUDE_SYMBOLS        = 
   2.101 -EXAMPLE_PATH           = . \
   2.102 -                         ./demo
   2.103 -EXAMPLE_PATTERNS       = 
   2.104 -EXAMPLE_RECURSIVE      = NO
   2.105 -IMAGE_PATH             = ./images \
   2.106 -                         ./gen-images
   2.107 -INPUT_FILTER           = 
   2.108 -FILTER_PATTERNS        = 
   2.109 -FILTER_SOURCE_FILES    = NO
   2.110 -#---------------------------------------------------------------------------
   2.111 -# configuration options related to source browsing
   2.112 -#---------------------------------------------------------------------------
   2.113 -SOURCE_BROWSER         = NO
   2.114 -INLINE_SOURCES         = NO
   2.115 -STRIP_CODE_COMMENTS    = YES
   2.116 -REFERENCED_BY_RELATION = NO
   2.117 -REFERENCES_RELATION    = NO
   2.118 -REFERENCES_LINK_SOURCE = YES
   2.119 -USE_HTAGS              = NO
   2.120 -VERBATIM_HEADERS       = NO
   2.121 -#---------------------------------------------------------------------------
   2.122 -# configuration options related to the alphabetical class index
   2.123 -#---------------------------------------------------------------------------
   2.124 -ALPHABETICAL_INDEX     = YES
   2.125 -COLS_IN_ALPHA_INDEX    = 2
   2.126 -IGNORE_PREFIX          = 
   2.127 -#---------------------------------------------------------------------------
   2.128 -# configuration options related to the HTML output
   2.129 -#---------------------------------------------------------------------------
   2.130 -GENERATE_HTML          = YES
   2.131 -HTML_OUTPUT            = html
   2.132 -HTML_FILE_EXTENSION    = .html
   2.133 -HTML_HEADER            = 
   2.134 -HTML_FOOTER            = 
   2.135 -HTML_STYLESHEET        = 
   2.136 -HTML_ALIGN_MEMBERS     = YES
   2.137 -HTML_DYNAMIC_SECTIONS  = NO
   2.138 -GENERATE_DOCSET        = NO
   2.139 -DOCSET_FEEDNAME        = "Doxygen generated docs"
   2.140 -DOCSET_BUNDLE_ID       = org.doxygen.Project
   2.141 -GENERATE_HTMLHELP      = NO
   2.142 -CHM_FILE               = 
   2.143 -HHC_LOCATION           = 
   2.144 -GENERATE_CHI           = NO
   2.145 -CHM_INDEX_ENCODING     = 
   2.146 -BINARY_TOC             = NO
   2.147 -TOC_EXPAND             = NO
   2.148 -GENERATE_QHP           = NO
   2.149 -QCH_FILE               = 
   2.150 -QHP_NAMESPACE          = org.doxygen.Project
   2.151 -QHP_VIRTUAL_FOLDER     = doc
   2.152 -QHG_LOCATION           = 
   2.153 -DISABLE_INDEX          = NO
   2.154 -ENUM_VALUES_PER_LINE   = 4
   2.155 -GENERATE_TREEVIEW      = NO
   2.156 -TREEVIEW_WIDTH         = 250
   2.157 -FORMULA_FONTSIZE       = 10
   2.158 -#---------------------------------------------------------------------------
   2.159 -# configuration options related to the LaTeX output
   2.160 -#---------------------------------------------------------------------------
   2.161 -GENERATE_LATEX         = NO
   2.162 -LATEX_OUTPUT           = latex
   2.163 -LATEX_CMD_NAME         = latex
   2.164 -MAKEINDEX_CMD_NAME     = makeindex
   2.165 -COMPACT_LATEX          = YES
   2.166 -PAPER_TYPE             = a4wide
   2.167 -EXTRA_PACKAGES         = amsmath \
   2.168 -                         amssymb
   2.169 -LATEX_HEADER           = 
   2.170 -PDF_HYPERLINKS         = YES
   2.171 -USE_PDFLATEX           = YES
   2.172 -LATEX_BATCHMODE        = NO
   2.173 -LATEX_HIDE_INDICES     = NO
   2.174 -#---------------------------------------------------------------------------
   2.175 -# configuration options related to the RTF output
   2.176 -#---------------------------------------------------------------------------
   2.177 -GENERATE_RTF           = NO
   2.178 -RTF_OUTPUT             = rtf
   2.179 -COMPACT_RTF            = NO
   2.180 -RTF_HYPERLINKS         = NO
   2.181 -RTF_STYLESHEET_FILE    = 
   2.182 -RTF_EXTENSIONS_FILE    = 
   2.183 -#---------------------------------------------------------------------------
   2.184 -# configuration options related to the man page output
   2.185 -#---------------------------------------------------------------------------
   2.186 -GENERATE_MAN           = NO
   2.187 -MAN_OUTPUT             = man
   2.188 -MAN_EXTENSION          = .3
   2.189 -MAN_LINKS              = NO
   2.190 -#---------------------------------------------------------------------------
   2.191 -# configuration options related to the XML output
   2.192 -#---------------------------------------------------------------------------
   2.193 -GENERATE_XML           = NO
   2.194 -XML_OUTPUT             = xml
   2.195 -XML_SCHEMA             = 
   2.196 -XML_DTD                = 
   2.197 -XML_PROGRAMLISTING     = YES
   2.198 -#---------------------------------------------------------------------------
   2.199 -# configuration options for the AutoGen Definitions output
   2.200 -#---------------------------------------------------------------------------
   2.201 -GENERATE_AUTOGEN_DEF   = NO
   2.202 -#---------------------------------------------------------------------------
   2.203 -# configuration options related to the Perl module output
   2.204 -#---------------------------------------------------------------------------
   2.205 -GENERATE_PERLMOD       = NO
   2.206 -PERLMOD_LATEX          = NO
   2.207 -PERLMOD_PRETTY         = YES
   2.208 -PERLMOD_MAKEVAR_PREFIX = 
   2.209 -#---------------------------------------------------------------------------
   2.210 -# Configuration options related to the preprocessor   
   2.211 -#---------------------------------------------------------------------------
   2.212 -ENABLE_PREPROCESSING   = YES
   2.213 -MACRO_EXPANSION        = NO
   2.214 -EXPAND_ONLY_PREDEF     = NO
   2.215 -SEARCH_INCLUDES        = YES
   2.216 -INCLUDE_PATH           = 
   2.217 -INCLUDE_FILE_PATTERNS  = 
   2.218 -PREDEFINED             = DOXYGEN
   2.219 -EXPAND_AS_DEFINED      = 
   2.220 -SKIP_FUNCTION_MACROS   = YES
   2.221 -#---------------------------------------------------------------------------
   2.222 -# Configuration::additions related to external references   
   2.223 -#---------------------------------------------------------------------------
   2.224 -TAGFILES               = "./libstdc++.tag = http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3" \
   2.225 -                         "./lemon.tag = http://lemon.cs.elte.hu/pub/doc/1.0"
   2.226 -GENERATE_TAGFILE       = 
   2.227 -ALLEXTERNALS           = NO
   2.228 -EXTERNAL_GROUPS        = NO
   2.229 -PERL_PATH              = /usr/bin/perl
   2.230 -#---------------------------------------------------------------------------
   2.231 -# Configuration options related to the dot tool   
   2.232 -#---------------------------------------------------------------------------
   2.233 -CLASS_DIAGRAMS         = NO
   2.234 -MSCGEN_PATH            = 
   2.235 -HIDE_UNDOC_RELATIONS   = YES
   2.236 -HAVE_DOT               = YES
   2.237 -DOT_FONTNAME           = FreeSans
   2.238 -DOT_FONTSIZE           = 10
   2.239 -DOT_FONTPATH           = 
   2.240 -CLASS_GRAPH            = YES
   2.241 -COLLABORATION_GRAPH    = NO
   2.242 -GROUP_GRAPHS           = NO
   2.243 -UML_LOOK               = NO
   2.244 -TEMPLATE_RELATIONS     = NO
   2.245 -INCLUDE_GRAPH          = NO
   2.246 -INCLUDED_BY_GRAPH      = NO
   2.247 -CALL_GRAPH             = NO
   2.248 -CALLER_GRAPH           = NO
   2.249 -GRAPHICAL_HIERARCHY    = NO
   2.250 -DIRECTORY_GRAPH        = NO
   2.251 -DOT_IMAGE_FORMAT       = png
   2.252 -DOT_PATH               = 
   2.253 -DOTFILE_DIRS           = 
   2.254 -DOT_GRAPH_MAX_NODES    = 50
   2.255 -MAX_DOT_GRAPH_DEPTH    = 0
   2.256 -DOT_TRANSPARENT        = NO
   2.257 -DOT_MULTI_TARGETS      = NO
   2.258 -GENERATE_LEGEND        = YES
   2.259 -DOT_CLEANUP            = YES
   2.260 -#---------------------------------------------------------------------------
   2.261 -# Configuration::additions related to the search engine   
   2.262 -#---------------------------------------------------------------------------
   2.263 -SEARCHENGINE           = NO
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/Doxyfile.in	Wed Nov 05 17:10:54 2008 +0000
     3.3 @@ -0,0 +1,260 @@
     3.4 +# Doxyfile 1.5.7.1
     3.5 +
     3.6 +#---------------------------------------------------------------------------
     3.7 +# Project related configuration options
     3.8 +#---------------------------------------------------------------------------
     3.9 +DOXYFILE_ENCODING      = UTF-8
    3.10 +PROJECT_NAME           = "LEMON Tutorial"
    3.11 +PROJECT_NUMBER         = @version@
    3.12 +OUTPUT_DIRECTORY       = 
    3.13 +CREATE_SUBDIRS         = NO
    3.14 +OUTPUT_LANGUAGE        = English
    3.15 +BRIEF_MEMBER_DESC      = YES
    3.16 +REPEAT_BRIEF           = NO
    3.17 +ABBREVIATE_BRIEF       = 
    3.18 +ALWAYS_DETAILED_SEC    = NO
    3.19 +INLINE_INHERITED_MEMB  = NO
    3.20 +FULL_PATH_NAMES        = YES
    3.21 +STRIP_FROM_PATH        = ./
    3.22 +STRIP_FROM_INC_PATH    = ./
    3.23 +SHORT_NAMES            = YES
    3.24 +JAVADOC_AUTOBRIEF      = NO
    3.25 +QT_AUTOBRIEF           = NO
    3.26 +MULTILINE_CPP_IS_BRIEF = NO
    3.27 +INHERIT_DOCS           = NO
    3.28 +SEPARATE_MEMBER_PAGES  = NO
    3.29 +TAB_SIZE               = 8
    3.30 +ALIASES                = 
    3.31 +OPTIMIZE_OUTPUT_FOR_C  = NO
    3.32 +OPTIMIZE_OUTPUT_JAVA   = NO
    3.33 +OPTIMIZE_FOR_FORTRAN   = NO
    3.34 +OPTIMIZE_OUTPUT_VHDL   = NO
    3.35 +BUILTIN_STL_SUPPORT    = YES
    3.36 +CPP_CLI_SUPPORT        = NO
    3.37 +SIP_SUPPORT            = NO
    3.38 +IDL_PROPERTY_SUPPORT   = YES
    3.39 +DISTRIBUTE_GROUP_DOC   = NO
    3.40 +SUBGROUPING            = YES
    3.41 +TYPEDEF_HIDES_STRUCT   = NO
    3.42 +SYMBOL_CACHE_SIZE      = 0
    3.43 +#---------------------------------------------------------------------------
    3.44 +# Build related configuration options
    3.45 +#---------------------------------------------------------------------------
    3.46 +EXTRACT_ALL            = NO
    3.47 +EXTRACT_PRIVATE        = YES
    3.48 +EXTRACT_STATIC         = YES
    3.49 +EXTRACT_LOCAL_CLASSES  = NO
    3.50 +EXTRACT_LOCAL_METHODS  = NO
    3.51 +EXTRACT_ANON_NSPACES   = NO
    3.52 +HIDE_UNDOC_MEMBERS     = YES
    3.53 +HIDE_UNDOC_CLASSES     = YES
    3.54 +HIDE_FRIEND_COMPOUNDS  = NO
    3.55 +HIDE_IN_BODY_DOCS      = NO
    3.56 +INTERNAL_DOCS          = NO
    3.57 +CASE_SENSE_NAMES       = YES
    3.58 +HIDE_SCOPE_NAMES       = YES
    3.59 +SHOW_INCLUDE_FILES     = YES
    3.60 +INLINE_INFO            = YES
    3.61 +SORT_MEMBER_DOCS       = NO
    3.62 +SORT_BRIEF_DOCS        = NO
    3.63 +SORT_GROUP_NAMES       = NO
    3.64 +SORT_BY_SCOPE_NAME     = NO
    3.65 +GENERATE_TODOLIST      = YES
    3.66 +GENERATE_TESTLIST      = YES
    3.67 +GENERATE_BUGLIST       = YES
    3.68 +GENERATE_DEPRECATEDLIST= YES
    3.69 +ENABLED_SECTIONS       = 
    3.70 +MAX_INITIALIZER_LINES  = 5
    3.71 +SHOW_USED_FILES        = NO
    3.72 +SHOW_DIRECTORIES       = NO
    3.73 +SHOW_FILES             = NO
    3.74 +SHOW_NAMESPACES        = NO
    3.75 +FILE_VERSION_FILTER    = 
    3.76 +LAYOUT_FILE            = ./DoxygenLayout.xml
    3.77 +#---------------------------------------------------------------------------
    3.78 +# configuration options related to warning and progress messages
    3.79 +#---------------------------------------------------------------------------
    3.80 +QUIET                  = NO
    3.81 +WARNINGS               = YES
    3.82 +WARN_IF_UNDOCUMENTED   = YES
    3.83 +WARN_IF_DOC_ERROR      = YES
    3.84 +WARN_NO_PARAMDOC       = NO
    3.85 +WARN_FORMAT            = "$file:$line: $text"
    3.86 +WARN_LOGFILE           = doxygen.log
    3.87 +#---------------------------------------------------------------------------
    3.88 +# configuration options related to the input files
    3.89 +#---------------------------------------------------------------------------
    3.90 +INPUT                  = ./gen-dox \
    3.91 +                         ./demo
    3.92 +INPUT_ENCODING         = UTF-8
    3.93 +FILE_PATTERNS          = *.h \
    3.94 +                         *.cc \
    3.95 +                         *.dox
    3.96 +RECURSIVE              = NO
    3.97 +EXCLUDE                = 
    3.98 +EXCLUDE_SYMLINKS       = NO
    3.99 +EXCLUDE_PATTERNS       = 
   3.100 +EXCLUDE_SYMBOLS        = 
   3.101 +EXAMPLE_PATH           = . \
   3.102 +                         ./demo
   3.103 +EXAMPLE_PATTERNS       = 
   3.104 +EXAMPLE_RECURSIVE      = NO
   3.105 +IMAGE_PATH             = ./images \
   3.106 +                         ./gen-images
   3.107 +INPUT_FILTER           = 
   3.108 +FILTER_PATTERNS        = 
   3.109 +FILTER_SOURCE_FILES    = NO
   3.110 +#---------------------------------------------------------------------------
   3.111 +# configuration options related to source browsing
   3.112 +#---------------------------------------------------------------------------
   3.113 +SOURCE_BROWSER         = NO
   3.114 +INLINE_SOURCES         = NO
   3.115 +STRIP_CODE_COMMENTS    = YES
   3.116 +REFERENCED_BY_RELATION = NO
   3.117 +REFERENCES_RELATION    = NO
   3.118 +REFERENCES_LINK_SOURCE = YES
   3.119 +USE_HTAGS              = NO
   3.120 +VERBATIM_HEADERS       = NO
   3.121 +#---------------------------------------------------------------------------
   3.122 +# configuration options related to the alphabetical class index
   3.123 +#---------------------------------------------------------------------------
   3.124 +ALPHABETICAL_INDEX     = YES
   3.125 +COLS_IN_ALPHA_INDEX    = 2
   3.126 +IGNORE_PREFIX          = 
   3.127 +#---------------------------------------------------------------------------
   3.128 +# configuration options related to the HTML output
   3.129 +#---------------------------------------------------------------------------
   3.130 +GENERATE_HTML          = YES
   3.131 +HTML_OUTPUT            = html
   3.132 +HTML_FILE_EXTENSION    = .html
   3.133 +HTML_HEADER            = 
   3.134 +HTML_FOOTER            = 
   3.135 +HTML_STYLESHEET        = 
   3.136 +HTML_ALIGN_MEMBERS     = YES
   3.137 +HTML_DYNAMIC_SECTIONS  = NO
   3.138 +GENERATE_DOCSET        = NO
   3.139 +DOCSET_FEEDNAME        = "Doxygen generated docs"
   3.140 +DOCSET_BUNDLE_ID       = org.doxygen.Project
   3.141 +GENERATE_HTMLHELP      = NO
   3.142 +CHM_FILE               = 
   3.143 +HHC_LOCATION           = 
   3.144 +GENERATE_CHI           = NO
   3.145 +CHM_INDEX_ENCODING     = 
   3.146 +BINARY_TOC             = NO
   3.147 +TOC_EXPAND             = NO
   3.148 +GENERATE_QHP           = NO
   3.149 +QCH_FILE               = 
   3.150 +QHP_NAMESPACE          = org.doxygen.Project
   3.151 +QHP_VIRTUAL_FOLDER     = doc
   3.152 +QHG_LOCATION           = 
   3.153 +DISABLE_INDEX          = NO
   3.154 +ENUM_VALUES_PER_LINE   = 4
   3.155 +GENERATE_TREEVIEW      = NO
   3.156 +TREEVIEW_WIDTH         = 250
   3.157 +FORMULA_FONTSIZE       = 10
   3.158 +#---------------------------------------------------------------------------
   3.159 +# configuration options related to the LaTeX output
   3.160 +#---------------------------------------------------------------------------
   3.161 +GENERATE_LATEX         = NO
   3.162 +LATEX_OUTPUT           = latex
   3.163 +LATEX_CMD_NAME         = latex
   3.164 +MAKEINDEX_CMD_NAME     = makeindex
   3.165 +COMPACT_LATEX          = YES
   3.166 +PAPER_TYPE             = a4wide
   3.167 +EXTRA_PACKAGES         = amsmath \
   3.168 +                         amssymb
   3.169 +LATEX_HEADER           = 
   3.170 +PDF_HYPERLINKS         = YES
   3.171 +USE_PDFLATEX           = YES
   3.172 +LATEX_BATCHMODE        = NO
   3.173 +LATEX_HIDE_INDICES     = NO
   3.174 +#---------------------------------------------------------------------------
   3.175 +# configuration options related to the RTF output
   3.176 +#---------------------------------------------------------------------------
   3.177 +GENERATE_RTF           = NO
   3.178 +RTF_OUTPUT             = rtf
   3.179 +COMPACT_RTF            = NO
   3.180 +RTF_HYPERLINKS         = NO
   3.181 +RTF_STYLESHEET_FILE    = 
   3.182 +RTF_EXTENSIONS_FILE    = 
   3.183 +#---------------------------------------------------------------------------
   3.184 +# configuration options related to the man page output
   3.185 +#---------------------------------------------------------------------------
   3.186 +GENERATE_MAN           = NO
   3.187 +MAN_OUTPUT             = man
   3.188 +MAN_EXTENSION          = .3
   3.189 +MAN_LINKS              = NO
   3.190 +#---------------------------------------------------------------------------
   3.191 +# configuration options related to the XML output
   3.192 +#---------------------------------------------------------------------------
   3.193 +GENERATE_XML           = NO
   3.194 +XML_OUTPUT             = xml
   3.195 +XML_SCHEMA             = 
   3.196 +XML_DTD                = 
   3.197 +XML_PROGRAMLISTING     = YES
   3.198 +#---------------------------------------------------------------------------
   3.199 +# configuration options for the AutoGen Definitions output
   3.200 +#---------------------------------------------------------------------------
   3.201 +GENERATE_AUTOGEN_DEF   = NO
   3.202 +#---------------------------------------------------------------------------
   3.203 +# configuration options related to the Perl module output
   3.204 +#---------------------------------------------------------------------------
   3.205 +GENERATE_PERLMOD       = NO
   3.206 +PERLMOD_LATEX          = NO
   3.207 +PERLMOD_PRETTY         = YES
   3.208 +PERLMOD_MAKEVAR_PREFIX = 
   3.209 +#---------------------------------------------------------------------------
   3.210 +# Configuration options related to the preprocessor   
   3.211 +#---------------------------------------------------------------------------
   3.212 +ENABLE_PREPROCESSING   = YES
   3.213 +MACRO_EXPANSION        = NO
   3.214 +EXPAND_ONLY_PREDEF     = NO
   3.215 +SEARCH_INCLUDES        = YES
   3.216 +INCLUDE_PATH           = 
   3.217 +INCLUDE_FILE_PATTERNS  = 
   3.218 +PREDEFINED             = DOXYGEN
   3.219 +EXPAND_AS_DEFINED      = 
   3.220 +SKIP_FUNCTION_MACROS   = YES
   3.221 +#---------------------------------------------------------------------------
   3.222 +# Configuration::additions related to external references   
   3.223 +#---------------------------------------------------------------------------
   3.224 +TAGFILES               = "./libstdc++.tag = http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3" \
   3.225 +                         "./lemon.tag = @lemon_doc_prefix@"
   3.226 +GENERATE_TAGFILE       = 
   3.227 +ALLEXTERNALS           = NO
   3.228 +EXTERNAL_GROUPS        = NO
   3.229 +PERL_PATH              = /usr/bin/perl
   3.230 +#---------------------------------------------------------------------------
   3.231 +# Configuration options related to the dot tool   
   3.232 +#---------------------------------------------------------------------------
   3.233 +CLASS_DIAGRAMS         = NO
   3.234 +MSCGEN_PATH            = 
   3.235 +HIDE_UNDOC_RELATIONS   = YES
   3.236 +HAVE_DOT               = YES
   3.237 +DOT_FONTNAME           = FreeSans
   3.238 +DOT_FONTSIZE           = 10
   3.239 +DOT_FONTPATH           = 
   3.240 +CLASS_GRAPH            = YES
   3.241 +COLLABORATION_GRAPH    = NO
   3.242 +GROUP_GRAPHS           = NO
   3.243 +UML_LOOK               = NO
   3.244 +TEMPLATE_RELATIONS     = NO
   3.245 +INCLUDE_GRAPH          = NO
   3.246 +INCLUDED_BY_GRAPH      = NO
   3.247 +CALL_GRAPH             = NO
   3.248 +CALLER_GRAPH           = NO
   3.249 +GRAPHICAL_HIERARCHY    = NO
   3.250 +DIRECTORY_GRAPH        = NO
   3.251 +DOT_IMAGE_FORMAT       = png
   3.252 +DOT_PATH               = 
   3.253 +DOTFILE_DIRS           = 
   3.254 +DOT_GRAPH_MAX_NODES    = 50
   3.255 +MAX_DOT_GRAPH_DEPTH    = 0
   3.256 +DOT_TRANSPARENT        = NO
   3.257 +DOT_MULTI_TARGETS      = NO
   3.258 +GENERATE_LEGEND        = YES
   3.259 +DOT_CLEANUP            = YES
   3.260 +#---------------------------------------------------------------------------
   3.261 +# Configuration::additions related to the search engine   
   3.262 +#---------------------------------------------------------------------------
   3.263 +SEARCHENGINE           = NO
     4.1 --- a/Makefile	Mon Nov 03 23:46:30 2008 +0100
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,36 +0,0 @@
     4.4 -EPS_IMAGES18 =
     4.5 -
     4.6 -EPS_IMAGES = \
     4.7 -	$(EPS_IMAGES18)
     4.8 -
     4.9 -PNG_IMAGES = \
    4.10 -	$(EPS_IMAGES:%.eps=gen-images/%.png)
    4.11 -
    4.12 -GS_COMMAND=gs -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4
    4.13 -
    4.14 -all: html
    4.15 -
    4.16 -$(EPS_IMAGES18:%.eps=gen-images/%.png): gen-images/%.png: images/%.eps
    4.17 -	-mkdir gen-images
    4.18 -	$(GS_COMMAND) -sDEVICE=pngalpha -r18 -sOutputFile=$@ $<
    4.19 -
    4.20 -html: $(PNG_IMAGES)
    4.21 -	-mkdir gen-dox
    4.22 -	./titlegen.py
    4.23 -	doxygen Doxyfile
    4.24 -
    4.25 -clean:
    4.26 -	-rm -rf html
    4.27 -	-rm -f doxygen.log
    4.28 -	-rm -f $(PNG_IMAGES)
    4.29 -	-rm -rf gen-images
    4.30 -
    4.31 -update-external-tags:
    4.32 -	wget -O libstdc++.tag.tmp http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/libstdc++.tag && \
    4.33 -	mv libstdc++.tag.tmp libstdc++.tag || \
    4.34 -	rm libstdc++.tag.tmp
    4.35 -	wget -O lemon.tag.tmp http://lemon.cs.elte.hu/pub/doc/1.0/lemon.tag && \
    4.36 -	mv lemon.tag.tmp lemon.tag || \
    4.37 -	rm lemon.tag.tmp
    4.38 -
    4.39 -.PHONY: update-external-tags html
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/Makefile.in	Wed Nov 05 17:10:54 2008 +0000
     5.3 @@ -0,0 +1,59 @@
     5.4 +EPS_IMAGES18 =
     5.5 +
     5.6 +EPS_IMAGES = \
     5.7 +	$(EPS_IMAGES18)
     5.8 +
     5.9 +PNG_IMAGES = \
    5.10 +	$(EPS_IMAGES:%.eps=gen-images/%.png)
    5.11 +
    5.12 +DEMOS = $(patsubst demo/%.cc,demo/build/%,$(wildcard demo/*.cc))
    5.13 +
    5.14 +GS_COMMAND=gs -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4
    5.15 +
    5.16 +all: demos html
    5.17 +
    5.18 +$(EPS_IMAGES18:%.eps=gen-images/%.png): gen-images/%.png: images/%.eps
    5.19 +	-mkdir -p gen-images
    5.20 +	$(GS_COMMAND) -sDEVICE=pngalpha -r18 -sOutputFile=$@ $<
    5.21 +
    5.22 +html: Doxyfile-gen $(PNG_IMAGES)
    5.23 +	-mkdir -p gen-dox
    5.24 +	./scripts/titlegen.py
    5.25 +	doxygen Doxyfile
    5.26 +
    5.27 +demos: $(DEMOS)
    5.28 +
    5.29 +Doxyfile-gen:
    5.30 +	sed -e 's/@version@/'`./scripts/chg-len.py`'/g' \
    5.31 +	    -e 's/@lemon_doc_prefix@/@make_lemon_doc_prefix@/g' \
    5.32 +	< Doxyfile.in >Doxyfile
    5.33 +
    5.34 +clean:
    5.35 +	-rm -rf html
    5.36 +	-rm -f doxygen.log
    5.37 +	-rm -f $(PNG_IMAGES)
    5.38 +	-rm -rf gen-images
    5.39 +	-rm -rf $(DEMOS)
    5.40 +
    5.41 +update-external-tags:
    5.42 +	wget -O libstdc++.tag.tmp http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/libstdc++.tag && \
    5.43 +	mv libstdc++.tag.tmp libstdc++.tag || \
    5.44 +	rm libstdc++.tag.tmp
    5.45 +	wget -O lemon.tag.tmp http://lemon.cs.elte.hu/pub/doc/1.0/lemon.tag && \
    5.46 +	mv lemon.tag.tmp lemon.tag || \
    5.47 +	rm lemon.tag.tmp
    5.48 +
    5.49 +
    5.50 +$(DEMOS): demo/build/%: demo/%.cc
    5.51 +	-mkdir -p demo/build
    5.52 +	g++ -o $@ @lemon_cflags@ @lemon_libs@ \
    5.53 +	-Wall -W -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy \
    5.54 +	-Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings \
    5.55 +	-Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align \
    5.56 +	-Wsign-promo -Woverloaded-virtual -ansi -fno-strict-aliasing \
    5.57 +	-Wold-style-cast -Wno-unknown-pragmas \
    5.58 +	-ggdb -O0 $<
    5.59 +
    5.60 +
    5.61 +.PHONY: update-external-tags html demos Doxyfile-gen
    5.62 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/configure	Wed Nov 05 17:10:54 2008 +0000
     6.3 @@ -0,0 +1,68 @@
     6.4 +#!/bin/bash
     6.5 +
     6.6 +quiet=0
     6.7 +function quiet { [[ $quiet == 1 ]]; }
     6.8 +
     6.9 +if [[ "$1" == "-q" ]]; then
    6.10 +  quiet=1
    6.11 +  shift
    6.12 +fi
    6.13 +
    6.14 +prev=
    6.15 +for option
    6.16 +do
    6.17 +  if test -n "$prev"
    6.18 +  then
    6.19 +    eval "$prev=\$option"
    6.20 +    prev=
    6.21 +    continue
    6.22 +  fi
    6.23 +
    6.24 +  optarg=`expr "x$option" : 'x[^=]*=\(.*\)'`
    6.25 +
    6.26 +  case $option in
    6.27 +      --lemon-doc-prefix)
    6.28 +	  prev=lemon_doc_prefix ;;
    6.29 +      --lemon-doc-prefix=*)
    6.30 +      lemon_doc_prefix=$optarg ;;
    6.31 +      --help | -h)
    6.32 +	  cat << EOF
    6.33 +Usage: $0 [OPTION]
    6.34 +
    6.35 +Options:
    6.36 +  -h, --help                  display this help and exit
    6.37 +      --lemon-doc-prefix=loc  The location of the lemon doc. By default it is
    6.38 +                              http://lemon.cs.elte.hu/pub/doc/1.0
    6.39 +
    6.40 +Expamle:
    6.41 +  $0 --lemon-doc-prefix=file://usr/local/share/doc/lemon/docs/
    6.42 +EOF
    6.43 +    exit 0
    6.44 +    ;;
    6.45 +
    6.46 +  *)
    6.47 +    cat << EOF >&2
    6.48 +$0: unrecognized option: $option
    6.49 +Try \`$0 --help' for more information.
    6.50 +EOF
    6.51 +    exit 1
    6.52 +    ;;
    6.53 +
    6.54 +  esac
    6.55 +done
    6.56 +
    6.57 +
    6.58 +if test -z "$lemon_doc_prefix"
    6.59 +then
    6.60 +    lemon_doc_prefix='http://lemon.cs.elte.hu/pub/doc/1.0'
    6.61 +fi
    6.62 +lemon_doc_prefix=$(echo $lemon_doc_prefix|sed 's/\//\\\\\\\//g')
    6.63 +
    6.64 +lemon_cflags=$(pkg-config --cflags lemon|sed 's/\//\\\//g')
    6.65 +lemon_libs=$(pkg-config --libs lemon|sed 's/\//\\\//g')
    6.66 +
    6.67 +
    6.68 +sed -e "s/@lemon_cflags@/${lemon_cflags}/g" \
    6.69 +    -e "s/@lemon_libs@/${lemon_libs}/g" \
    6.70 +   -e "s/@make_lemon_doc_prefix@/${lemon_doc_prefix}/g" \
    6.71 +    < Makefile.in > Makefile
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/scripts/chg-len.py	Wed Nov 05 17:10:54 2008 +0000
     7.3 @@ -0,0 +1,40 @@
     7.4 +#! /usr/bin/env python
     7.5 +
     7.6 +import sys
     7.7 +import os
     7.8 +
     7.9 +if len(sys.argv)>1 and sys.argv[1] in ["-h","--help"]:
    7.10 +    print """
    7.11 +This utility just prints the length of the longest path
    7.12 +in the revision graph from revison 0 to the current one.
    7.13 +"""
    7.14 +    exit(0)
    7.15 +plist = os.popen("HGRCPATH='' hg parents --template='{rev}\n'").readlines()
    7.16 +if len(plist)>1:
    7.17 +    print "You are in the process of merging"
    7.18 +    exit(1)
    7.19 +PAR = int(plist[0])
    7.20 +
    7.21 +f = os.popen("HGRCPATH='' hg log -r 0:tip --template='{rev} {parents}\n'").\
    7.22 +    readlines()
    7.23 +REV = -1
    7.24 +lengths=[]
    7.25 +for l in f:
    7.26 +    REV+=1
    7.27 +    s = l.split()
    7.28 +    rev = int(s[0])
    7.29 +    if REV != rev:
    7.30 +        print "Something is seriously wrong"
    7.31 +        exit(1)
    7.32 +    if len(s) == 1:
    7.33 +        par1 = par2 = rev - 1
    7.34 +    elif len(s) == 2:
    7.35 +        par1 = par2 = int(s[1].split(":")[0])
    7.36 +    else:
    7.37 +        par1 = int(s[1].split(":")[0])
    7.38 +        par2 = int(s[2].split(":")[0])
    7.39 +    if rev == 0:
    7.40 +        lengths.append(0)
    7.41 +    else:
    7.42 +        lengths.append(max(lengths[par1],lengths[par2])+1)
    7.43 +print lengths[PAR]
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/scripts/titlegen.py	Wed Nov 05 17:10:54 2008 +0000
     8.3 @@ -0,0 +1,79 @@
     8.4 +#! /usr/bin/env python
     8.5 +
     8.6 +import sys
     8.7 +import os
     8.8 +import copy
     8.9 +import re
    8.10 +
    8.11 +def sec_inc(section, lev):
    8.12 +    while len(section)<lev:
    8.13 +        section.append(0)
    8.14 +    section[lev-1]+=1
    8.15 +    section=section[:lev]
    8.16 +    return section
    8.17 +
    8.18 +def format_sec(sec):
    8.19 +    s=""
    8.20 +    for i in sec:
    8.21 +        s+=str(i)+'.'
    8.22 +    s=s[:-1]
    8.23 +    return s
    8.24 +
    8.25 +section = [];
    8.26 +toc={}
    8.27 +ind={}
    8.28 +
    8.29 +prev_page=''
    8.30 +for l in open("toc.txt").readlines():
    8.31 +    sl = l.split()
    8.32 +    if len(sl)==2 and len(sl[0])>0: 
    8.33 +        lev=len(sl[0])
    8.34 +        section=sec_inc(section,lev)
    8.35 +        t_sec=copy.copy(section)
    8.36 +        t_link=sl[1];
    8.37 +        print format_sec(t_sec),t_link
    8.38 +        ind[t_link]=[t_sec,'','']
    8.39 +        if lev==1:
    8.40 +            ind[t_link][1]=prev_page
    8.41 +            if prev_page:
    8.42 +                ind[prev_page][2]=t_link
    8.43 +            prev_page=t_link
    8.44 +        toc[format_sec(t_sec)]=t_link
    8.45 +
    8.46 +for doxfile in os.listdir('.'):
    8.47 +    if doxfile[-4:]=='.dox':
    8.48 +        print 'Generate ',doxfile
    8.49 +        page=''
    8.50 +        fo=open(os.path.join("gen-dox",doxfile),"w")
    8.51 +        for l in open(doxfile).readlines():
    8.52 +            gr = re.match(r"(^[[]PAGE[]].*[[]PAGE[]])?(^[[]SEC[]].*[[]SEC[]])?(^[[]TRAILER[]])?(^[[]TOC[]])?(.*)$", l).groups()
    8.53 +            if gr[0]:
    8.54 +                page=gr[0][6:-6]
    8.55 +                fo.write("\page %s %s%s\n"%(page,
    8.56 +                                            format_sec(ind[page][0]),gr[4]))
    8.57 +            elif gr[1]:
    8.58 +                sec=gr[1][5:-5]
    8.59 +                fo.write("\section %s %s%s\n"%(sec,
    8.60 +                                               format_sec(ind[sec][0]),gr[4]))
    8.61 +            elif gr[2]:
    8.62 +                prev_page=ind[page][1]
    8.63 +                if prev_page:
    8.64 +                    prev_str= ( '<< \\ref '+prev_page+' ')
    8.65 +                else:
    8.66 +                    prev_str=''
    8.67 +                next_page=ind[page][2]
    8.68 +                if next_page:
    8.69 +                    next_str= ( ' \\ref '+next_page+' >>')
    8.70 +                else:
    8.71 +                    next_str=''
    8.72 +                fo.write('%s| \\ref toc "Home" |%s\n'%\
    8.73 +                             (prev_str,next_str))
    8.74 +            elif gr[3]:
    8.75 +                secs = [ x for x in toc]
    8.76 +                secs.sort()
    8.77 +                for num in secs:
    8.78 +                    fo.write("%s - \\ref %s\n"%('  '*((len(ind[toc[num]][0]))),
    8.79 +                                                toc[num]))
    8.80 +            else:
    8.81 +                fo.write(gr[4]+'\n')
    8.82 +        fo.close()
     9.1 --- a/titlegen.py	Mon Nov 03 23:46:30 2008 +0100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,79 +0,0 @@
     9.4 -#! /usr/bin/env python
     9.5 -
     9.6 -import sys
     9.7 -import os
     9.8 -import copy
     9.9 -import re
    9.10 -
    9.11 -def sec_inc(section, lev):
    9.12 -    while len(section)<lev:
    9.13 -        section.append(0)
    9.14 -    section[lev-1]+=1
    9.15 -    section=section[:lev]
    9.16 -    return section
    9.17 -
    9.18 -def format_sec(sec):
    9.19 -    s=""
    9.20 -    for i in sec:
    9.21 -        s+=str(i)+'.'
    9.22 -    s=s[:-1]
    9.23 -    return s
    9.24 -
    9.25 -section = [];
    9.26 -toc={}
    9.27 -ind={}
    9.28 -
    9.29 -prev_page=''
    9.30 -for l in open("toc.txt").readlines():
    9.31 -    sl = l.split()
    9.32 -    if len(sl)==2 and len(sl[0])>0: 
    9.33 -        lev=len(sl[0])
    9.34 -        section=sec_inc(section,lev)
    9.35 -        t_sec=copy.copy(section)
    9.36 -        t_link=sl[1];
    9.37 -        print format_sec(t_sec),t_link
    9.38 -        ind[t_link]=[t_sec,'','']
    9.39 -        if lev==1:
    9.40 -            ind[t_link][1]=prev_page
    9.41 -            if prev_page:
    9.42 -                ind[prev_page][2]=t_link
    9.43 -            prev_page=t_link
    9.44 -        toc[format_sec(t_sec)]=t_link
    9.45 -
    9.46 -for doxfile in os.listdir('.'):
    9.47 -    if doxfile[-4:]=='.dox':
    9.48 -        print 'Generate ',doxfile
    9.49 -        page=''
    9.50 -        fo=open(os.path.join("gen-dox",doxfile),"w")
    9.51 -        for l in open(doxfile).readlines():
    9.52 -            gr = re.match(r"(^[[]PAGE[]].*[[]PAGE[]])?(^[[]SEC[]].*[[]SEC[]])?(^[[]TRAILER[]])?(^[[]TOC[]])?(.*)$", l).groups()
    9.53 -            if gr[0]:
    9.54 -                page=gr[0][6:-6]
    9.55 -                fo.write("\page %s %s%s\n"%(page,
    9.56 -                                            format_sec(ind[page][0]),gr[4]))
    9.57 -            elif gr[1]:
    9.58 -                sec=gr[1][5:-5]
    9.59 -                fo.write("\section %s %s%s\n"%(sec,
    9.60 -                                               format_sec(ind[sec][0]),gr[4]))
    9.61 -            elif gr[2]:
    9.62 -                prev_page=ind[page][1]
    9.63 -                if prev_page:
    9.64 -                    prev_str= ( '<< \\ref '+prev_page+' ')
    9.65 -                else:
    9.66 -                    prev_str=''
    9.67 -                next_page=ind[page][2]
    9.68 -                if next_page:
    9.69 -                    next_str= ( ' \\ref '+next_page+' >>')
    9.70 -                else:
    9.71 -                    next_str=''
    9.72 -                fo.write('%s| \\ref toc "Home" |%s\n'%\
    9.73 -                             (prev_str,next_str))
    9.74 -            elif gr[3]:
    9.75 -                secs = [ x for x in toc]
    9.76 -                secs.sort()
    9.77 -                for num in secs:
    9.78 -                    fo.write("%s - \\ref %s\n"%('  '*((len(ind[toc[num]][0]))),
    9.79 -                                                toc[num]))
    9.80 -            else:
    9.81 -                fo.write(gr[4]+'\n')
    9.82 -        fo.close()