• albert-github's avatar
    This patch contains changes regarding the build system so that the *nix and... · ac2cd570
    albert-github authored
    This patch contains changes regarding the build system so that the *nix and Windows systems use the same information (consistency). Some use names routine names have been changed (from .l files with -P option) to reflect the file name that generated the routines, this makes it easier to create a general procedure.
    A number of include / header files are files are generated from different file types (html, xml, js), due some limitations of the windows build system the generated file names had to be changed (the extension in the windows build system is only available including the '.' so e.g. the file jquery_fx.js generates now jquery_fx.js.h instead of jquery_fx_js.h)
    In the windows version the creation of .cpp files from .l files has been adjusted to correct for the YY_BUF_SIZE problems.
    Furthermore on windows (and also used on *nix) some commends have been replaced with python scripts so that on windows only python is need (besides flex and and bison). On *nix also perl is required for the generation using tmake.
    
    Below a short description of the changes will be given and grouped.
    
    Changed files
    =============
    - .gitignore
    added some directories and file
    
    - Doxyfile
    corrected for changed file names
    
    - Makefile.in
    added realclean and some other changes (ignore error) and the moment when the Makefile is deleted (as last file).
    Added entries for doxyapp and doxmlparser
    
    Added realclean for the following files (consistency):
    ======================================================
    - Makefile.win_make.in
    - Makefile.win_nmake.in
    - addon/doxmlparser/examples/metrics/Makefile.in
    - addon/doxmlparser/src/Makefile.in
    - addon/doxmlparser/test/Makefile.in
    - addon/doxyapp/Makefile.in
    - addon/doxysearch/Makefile.in
    - libmd5/Makefile.in
    - qtools/Makefile.in
    
    - addon/doxyapp/doxyapp.pro.in
    removed double occurence of -L../../lib
    
    - addon/doxysearch/doxysearch.pro.in
    no visible change just spacing?
    
    - addon/doxywizard/Makefile.in
    added realclean
    corrected call to qmake (to get it from the right place, it is not necessarily in the path)
    made some macros known in the called process
    
    - addon/doxywizard/configdoc.cpp
    automatically generated, can be removed
    
    - addon/doxywizard/doxywizard.pro.in
    corrected dependencies
    corrected call to python (to get it from the right place, it is not necessarily in the path)
    new items to generate version.cpp and config_doxyw.cpp
    
    - configure
    added configuration definition possibility for python
    added possibility to build doxmlparser
    automatically generate the lang_cfg.h file based on the available languages (translator_??.h) and not on a fixed list. This step still has to be added to the windows build process.
    
    - doc/Makefile.in
    corrected call to python (to get it from the right place, it is not necessarily in the path)
    
    - doc/config.doc
    small correction
    
    - doc/install.doc
    added python as a requirement
    changed CVS to GitHub
    
    - doc/language.doc
    automatically generated file, based on other changes.
    
    - doc/language.tpl
    made XX and xx more consistent
    changed description of the procedure based on changes already made configure.
    
    - src/Makefile.in
    adjusted used file names in distclean
    Solved PERL usage consistent with LEX / YACC (with %%PERL%%)
    automatically add translator_??>h to HEADERS
    same spacing
    
    Adjusted in the following file the names of some include files:
    ===============================================================
    - src/cite.cpp
    - src/docbookgen.cpp
    - src/ftvhelp.cpp
    - src/htmlgen.cpp
    - src/layout.cpp
    - src/searchindex.cpp
    - src/xmlgen.cpp
    
    Adjusted in the following files some routine names (..YY..) to be consistent with the file names:
    =================================================================================================
    - src/commentscan.l
    - src/constexp.h
    - src/constexp.l
    - src/constexp.y
    - src/fortrancode.l
    - src/fortranscanner.l
    - src/pyscanner.l
    - src/pre.l
    - src/scanner.l
    - src/tclscanner.l
    - src/vhdlparser.y
    - src/vhdlscanner.l
    
    - src/config.xml
    small textual correction
    
    - src/configoptions.cpp
    generated output file, can be removed
    
    - src/lang_cfg.h
    Automatically generated file with selected languages (*nix). On windows a procedure has to be defined.
    
    - src/libdoxycfg.t.in
    corrected call to python (to get it from the right place, it is not necessarily in the path)
    
    - src/libdoxygen.pro.in
    adjusted include file names
    removed translator_??.h files, they are added automatically
    changed file name ce_lex.cpp -> constexp.cpp (generated file)
    
    - src/libdoxygen.t.in
    made LEX calls used the file name for the -P option
    changed INCREASEBUF script to a python script
    changed teh geneartion of some include file, now by means of a pythons script. Names of the generated include file had to be changed as well.
    added possibility to generate version.cpp here as well.
    
    Added HEADERS to dependency so non existing but later generated include files are recognized as well:
    =====================================================================================================
    - tmake/lib/unix/generic.t
    - tmake/lib/win32-borland/generic.t
    - tmake/lib/win32-g++/generic.t
    - tmake/lib/win32-mingw/generic.t
    - tmake/lib/win32-msvc/generic.t
    - tmake/lib/win32-symantec/generic.t
    - tmake/lib/win32-visage/generic.t
    - tmake/lib/win32-watcom/generic.t
    
    - winbuild/Doxygen.vcproj
    made consistent wit *nix version.
    Generating all possible files
    removed unused /empty parts
    setting for the Lex.rules and other rules files some default values
    
    - winbuild/Doxywizard.vcproj
    made consistent wit *nix version.
    Generating all possible files
    removed unused /empty parts
    removed system dependent paths (C:\... etc) replaced then with external environment variables
    
    - winbuild/Lex.rules
    adjusted file to comply with new requirements, only user variable is -d. -i is set to read only (value can be changed  in doxygen.vcproj). Handling of other arguments is all default.
    generation including increasebuffer possibility
    
    - winbuild/doxyindexer.vcproj
    corrected path
    
    - winbuild/doxysearch.vcproj
    removed system dependent paths (C:\... etc) replaced then with external environment variables
    
    - winbuild/qtools.vcproj
    corrected type, wrong used directory
    
    The following files are automatically generated (with slightly other names like index.xsd.h etc.):
    ==================================================================================================
    - src/index_xsd.h
    - src/doxygen_bst.h
    - src/dynsections_js.h
    - src/extsearch_js.h
    - src/footer_html.h
    - src/header_html.h
    - src/jquery_fx_js.h
    - src/jquery_p1_js.h
    - src/jquery_p2_js.h
    - src/jquery_p3_js.h
    - src/jquery_pt_js.h
    - src/jquery_ui_js.h
    - src/navtree_css.h
    - src/navtree_js.h
    - src/resize_js.h
    - src/search_css.h
    - src/search_functions_php.h
    - src/search_js.h
    - src/search_opensearch_php.h
    - src/svgpan_js.h
    the following files are generated with different names:
    - src/bib2xhtml.h
    becomes
    - src/bib2xhtml.pl/h
    
    - src/layout_default.h
    becomes
    - src/layout_default.xml.h
    
    The file:
    =========
    - addon/doxywizard/config.l
    is replaced by:
    - addon/doxywizard/config_doxyw.l
    so there are in the system not 2 different config.l files. Renamed some routines from configYY -> config_doxywYY...
    
    New files:
    ==========
    - src/increasebuffer.py
    increase YY_BUF_SIZE and YY_READ_BUF_SIZE from 16k / 8k to 256k.
    
    - src/settings.py
    create settings.h file
    
    - src/to_c_cmd.py
    create include files from different files (html, xml, js) so they can be included in the code as defaults
    
    - src/version.py
    create version.cpp file based on the configure file
    
    - winbuild/Config.rules
    rules file to convert the config.xml file into configoptions.cpp (doxygen) or configdoc.cpp (doxywizard). Seen the differences 2 rules are created within this file.
    
    - winbuild/Gen_head.rules
    rules files to generate include files from different files using to_c_cmd.py
    
    - winbuild/Settings.rules
    rules file for generating the settings.h file. It is possible to select to use CLANG and SqlLite3
    
    - winbuild/Version.rules
    rules file to be able to start version.py
    
    The files:
    ==========
    - version.bat
    - runbison.bat
    - increasebuffer.pl
    are not used anymore.
    
    I've only added the files as indicated, I didn't remove the files from the repository.
    ac2cd570
Doxyfile 12.7 KB
# Doxyfile 1.8.3.1

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = Doxygen
PROJECT_NUMBER         =
PROJECT_BRIEF          =
PROJECT_LOGO           =
OUTPUT_DIRECTORY       = doxygen_docs
CREATE_SUBDIRS         = YES
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        =
STRIP_FROM_INC_PATH    =
SHORT_NAMES            = NO
JAVADOC_AUTOBRIEF      = YES
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS           = YES
SEPARATE_MEMBER_PAGES  = NO
TAB_SIZE               = 8
ALIASES                =
TCL_SUBST              =
OPTIMIZE_OUTPUT_FOR_C  = NO
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO
EXTENSION_MAPPING      =
MARKDOWN_SUPPORT       = YES
AUTOLINK_SUPPORT       = YES
BUILTIN_STL_SUPPORT    = NO
CPP_CLI_SUPPORT        = NO
SIP_SUPPORT            = NO
IDL_PROPERTY_SUPPORT   = YES
DISTRIBUTE_GROUP_DOC   = NO
SUBGROUPING            = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS  = NO
TYPEDEF_HIDES_STRUCT   = NO
LOOKUP_CACHE_SIZE      = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = YES
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
INTERNAL_DOCS          = NO
CASE_SENSE_NAMES       = NO
HIDE_SCOPE_NAMES       = NO
SHOW_INCLUDE_FILES     = YES
FORCE_LOCAL_INCLUDES   = NO
INLINE_INFO            = YES
SORT_MEMBER_DOCS       = YES
SORT_BRIEF_DOCS        = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES       = NO
SORT_BY_SCOPE_NAME     = NO
STRICT_PROTO_MATCHING  = NO
GENERATE_TODOLIST      = YES
GENERATE_TESTLIST      = YES
GENERATE_BUGLIST       = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS       =
MAX_INITIALIZER_LINES  = 30
SHOW_USED_FILES        = YES
SHOW_FILES             = YES
SHOW_NAMESPACES        = YES
FILE_VERSION_FILTER    =
LAYOUT_FILE            =
CITE_BIB_FILES         =
#---------------------------------------------------------------------------
# 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           =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT                  = src
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          = *.h \
                         *.cpp \
                         *.md
RECURSIVE              = NO
EXCLUDE                = src/code.cpp \
                         src/ce_lex.cpp \
                         src/ce_parse.cpp \
                         src/declinfo.cpp \
                         src/defargs.cpp \
                         src/doxytag.cpp \
                         src/pre.cpp \
                         src/scanner.cpp \
                         src/tag.cpp \
                         src/doctokenizer.cpp \
                         src/logos.cpp \
                         src/suffixtree.cpp \
                         src/suffixtree.h \
                         src/commentcnv.cpp \
                         src/commentscan.cpp \
                         src/pycode.cpp \
                         src/config.cpp \
                         src/pyscanner.cpp \
                         src/fortranscanner.cpp \
                         src/fortrancode.cpp \
                         src/vhdlscanner.cpp \
                         src/vhdlparser.cpp \
                         src/vhdlcode.cpp \
                         src/tclscanner.cpp \
                         src/lodepng.cpp \
                         src/doxygen.css.h \
                         src/doxygen.js.h \
                         src/doxygen.php.h \
                         src/compound.xsd.h \
                         src/layout_default.xml.h \
                         src/bib2xhtml.pl.h \
                         src/doxygen.bst.h \
                         src/header.html.h \
                         src/index.xsd.h \
                         src/jquery.js.h \
                         src/jquery_fx.js.h \
                         src/jquery_ui.js.h \
                         src/navtree.css.h \
                         src/navtree.hs.h \
                         src/search.css.h \
                         src/search_functions.php.h \
                         src/search_opensearch.php.h \
                         src/search.js.h \
                         src/navtree.js.h \
                         src/resize.js.h \
                         src/svgpan.js.h \
                         src/dynsections.js.h \
                         src/extsearch.js.h \
                         src/footer.html.h
EXCLUDE_SYMLINKS       = NO
EXCLUDE_SYMBOLS        =
EXAMPLE_PATH           =
EXAMPLE_PATTERNS       =
EXAMPLE_RECURSIVE      = NO
IMAGE_PATH             =
INPUT_FILTER           =
FILTER_PATTERNS        =
FILTER_SOURCE_FILES    = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER         = YES
INLINE_SOURCES         = NO
STRIP_CODE_COMMENTS    = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION    = YES
REFERENCES_LINK_SOURCE = YES
USE_HTAGS              = NO
VERBATIM_HEADERS       = YES
CLANG_ASSISTED_PARSING = YES
CLANG_OPTIONS          =
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5
IGNORE_PREFIX          =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML          = YES
HTML_OUTPUT            =
HTML_FILE_EXTENSION    = .html
HTML_HEADER            =
HTML_FOOTER            =
HTML_STYLESHEET        =
HTML_EXTRA_STYLESHEET  =
HTML_EXTRA_FILES       =
HTML_COLORSTYLE_HUE    = 220
HTML_COLORSTYLE_SAT    = 100
HTML_COLORSTYLE_GAMMA  = 80
HTML_TIMESTAMP         = YES
HTML_DYNAMIC_SECTIONS  = YES
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET        = YES
DOCSET_FEEDNAME        = "Doxygen docs"
DOCSET_BUNDLE_ID       = org.doxygen.Doxygen
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME  = Publisher
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          = org.doxygen.Project
QHP_VIRTUAL_FOLDER     = doc
QHP_CUST_FILTER_NAME   =
QHP_CUST_FILTER_ATTRS  =
QHP_SECT_FILTER_ATTRS  =
QHG_LOCATION           =
GENERATE_ECLIPSEHELP   = NO
ECLIPSE_DOC_ID         = org.doxygen.Project
DISABLE_INDEX          = YES
GENERATE_TREEVIEW      = YES
ENUM_VALUES_PER_LINE   = 4
TREEVIEW_WIDTH         = 250
EXT_LINKS_IN_WINDOW    = NO
FORMULA_FONTSIZE       = 10
FORMULA_TRANSPARENT    = YES
USE_MATHJAX            = NO
MATHJAX_FORMAT         = HTML-CSS
MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS     =
SEARCHENGINE           = YES
SERVER_BASED_SEARCH    = YES
EXTERNAL_SEARCH        = NO
SEARCHENGINE_URL       =
SEARCHDATA_FILE        = searchdata.xml
EXTERNAL_SEARCH_ID     =
EXTRA_SEARCH_MAPPINGS  =
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX         = NO
LATEX_OUTPUT           =
LATEX_CMD_NAME         = latex
MAKEINDEX_CMD_NAME     = makeindex
COMPACT_LATEX          = NO
PAPER_TYPE             = a4wide
EXTRA_PACKAGES         =
LATEX_HEADER           =
LATEX_FOOTER           =
LATEX_EXTRA_FILES      =
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = NO
LATEX_BATCHMODE        = NO
LATEX_HIDE_INDICES     = NO
LATEX_SOURCE_CODE      = NO
LATEX_BIB_STYLE        = plain
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF           = NO
RTF_OUTPUT             =
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_EXTENSION          = .3
MAN_LINKS              = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML           = NO
XML_OUTPUT             = xml
XML_SCHEMA             =
XML_DTD                =
XML_PROGRAMLISTING     = YES
#---------------------------------------------------------------------------
# configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
GENERATE_DOCBOOK       = NO
DOCBOOK_OUTPUT         = docbook
#---------------------------------------------------------------------------
# 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        = YES
INCLUDE_PATH           = qtools libmd5
INCLUDE_FILE_PATTERNS  =
PREDEFINED             =
EXPAND_AS_DEFINED      =
SKIP_FUNCTION_MACROS   = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES               = qtools_docs/qtools.tag=../../qtools_docs/html
GENERATE_TAGFILE       = doxygen.tag
ALLEXTERNALS           = NO
EXTERNAL_GROUPS        = YES
EXTERNAL_PAGES         = YES
PERL_PATH              = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS         = NO
MSCGEN_PATH            =
HIDE_UNDOC_RELATIONS   = YES
HAVE_DOT               = YES
DOT_NUM_THREADS        = 0
DOT_FONTNAME           = Helvetica
DOT_FONTSIZE           = 10
DOT_FONTPATH           =
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK               = NO
UML_LIMIT_NUM_FIELDS   = 10
TEMPLATE_RELATIONS     = YES
INCLUDE_GRAPH          = YES
INCLUDED_BY_GRAPH      = YES
CALL_GRAPH             = NO
CALLER_GRAPH           = NO
GRAPHICAL_HIERARCHY    = YES
DIRECTORY_GRAPH        = YES
DOT_IMAGE_FORMAT       = svg
INTERACTIVE_SVG        = YES
DOT_PATH               =
DOTFILE_DIRS           =
MSCFILE_DIRS           =
DOT_GRAPH_MAX_NODES    = 50
MAX_DOT_GRAPH_DEPTH    = 0
DOT_TRANSPARENT        = NO
DOT_MULTI_TARGETS      = NO
GENERATE_LEGEND        = YES
DOT_CLEANUP            = NO