doxygen/doxygen — pull request #43 by albert-github (2013-10-01 17:18:17+00:00)
Title: Feature/build

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.