From ac2cd570cc7f606963d7cac15d3f3e11c6e305f3 Mon Sep 17 00:00:00 2001 From: albert-github Date: Tue, 1 Oct 2013 19:14:28 +0200 Subject: 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. --- .gitignore | 32 + Doxyfile | 49 +- Makefile.in | 43 +- Makefile.win_make.in | 2 + Makefile.win_nmake.in | 2 + addon/doxmlparser/examples/metrics/Makefile.in | 2 + addon/doxmlparser/src/Makefile.in | 2 + addon/doxmlparser/test/Makefile.in | 2 + addon/doxyapp/Makefile.in | 2 + addon/doxyapp/doxyapp.pro.in | 2 +- addon/doxysearch/Makefile.in | 2 + addon/doxysearch/doxysearch.pro.in | 2 +- addon/doxywizard/Makefile.in | 10 +- addon/doxywizard/config_doxyw.l | 555 ++++++ addon/doxywizard/doxywizard.pro.in | 17 +- configure | 120 +- doc/Makefile.in | 4 +- doc/config.doc | 2 +- doc/install.doc | 6 +- doc/language.doc | 35 +- doc/language.tpl | 31 +- libmd5/Makefile.in | 2 + qtools/Makefile.in | 2 + src/Makefile.in | 53 +- src/bib2xhtml.h | 319 --- src/cite.cpp | 4 +- src/commentscan.l | 6 +- src/config.xml | 2 +- src/configoptions.cpp | 4 +- src/constexp.h | 6 +- src/constexp.l | 8 +- src/constexp.y | 4 +- src/docbookgen.cpp | 4 +- src/fortrancode.l | 8 +- src/fortranscanner.l | 10 +- src/ftvhelp.cpp | 6 +- src/htmlgen.cpp | 30 +- src/increasebuffer.py | 7 + src/lang_cfg.h | 58 +- src/layout.cpp | 2 +- src/libdoxycfg.t.in | 3 +- src/libdoxygen.pro.in | 86 +- src/libdoxygen.t.in | 169 +- src/pre.l | 2 +- src/pyscanner.l | 16 +- src/scanner.l | 16 +- src/searchindex.cpp | 2 +- src/settings.py | 28 + src/tclscanner.l | 4 +- src/to_c_cmd.py | 8 + src/translator_lv.h | 6 +- src/version.py | 57 + src/vhdlparser.y | 10 +- src/vhdlscanner.l | 50 +- src/xmlgen.cpp | 4 +- tmake/lib/unix/generic.t | 2 +- tmake/lib/win32-borland/generic.t | 2 +- tmake/lib/win32-g++/generic.t | 2 +- tmake/lib/win32-mingw/generic.t | 2 +- tmake/lib/win32-msvc/generic.t | 2 +- tmake/lib/win32-symantec/generic.t | 2 +- tmake/lib/win32-visage/generic.t | 2 +- tmake/lib/win32-watcom/generic.t | 2 +- winbuild/Config.rules | 30 + winbuild/Doxygen.vcproj | 2546 ++++++------------------ winbuild/Doxywizard.vcproj | 137 +- winbuild/Gen_head.rules | 19 + winbuild/Languages.rules | 59 + winbuild/Lex.rules | 34 +- winbuild/Settings.rules | 59 + winbuild/Version.rules | 19 + winbuild/doxyindexer.vcproj | 2 +- winbuild/doxysearch.vcproj | 16 +- winbuild/qtools.vcproj | 2 +- winbuild/runbison.bat | 8 +- 75 files changed, 2063 insertions(+), 2802 deletions(-) create mode 100644 addon/doxywizard/config_doxyw.l delete mode 100644 src/bib2xhtml.h create mode 100755 src/increasebuffer.py create mode 100755 src/settings.py create mode 100755 src/to_c_cmd.py create mode 100755 src/version.py create mode 100644 winbuild/Config.rules mode change 100644 => 100755 winbuild/Doxywizard.vcproj create mode 100644 winbuild/Gen_head.rules create mode 100755 winbuild/Languages.rules create mode 100644 winbuild/Settings.rules create mode 100644 winbuild/Version.rules diff --git a/.gitignore b/.gitignore index 87aef79..7e39c17 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,12 @@ /addon/doxywizard/moc /addon/doxywizard/obj /addon/doxywizard/rcc +/addon/doxmlparser/objects +/addon/doxmlparser/lib +/addon/doxmlparser/test/Makefile.xmlparse +/addon/doxmlparser/test/xmlparse.exe +/addon/doxmlparser/examples/metrics/obj +/addon/doxmlparser/examples/metrics/metrics.exe /winbuild/config_lex.cpp /winbuild/moc /winbuild/obj @@ -72,6 +78,32 @@ /src/vhdlparser.h /src/vhdlscanner.cpp /src/Makefile +/src/bib2xhtml.pl.h +/src/compound.xsd.h +/src/constexp.cpp +/src/doxygen.bst.h +/src/doxygen.css.h +/src/dynsections.js.h +/src/extsearch.js.h +/src/footer.html.h +/src/header.html.h +/src/index.xsd.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/layout_default.xml.h +/src/navtree.css.h +/src/navtree.js.h +/src/resize.js.h +/src/search.css.h +/src/search.js.h +/src/search_functions.php.h +/src/search_opensearch.php.h +/src/svgpan.js.h + /doc/Makefile /doc/translator_report.txt diff --git a/Doxyfile b/Doxyfile index ed9dcfa..2c49548 100644 --- a/Doxyfile +++ b/Doxyfile @@ -127,31 +127,30 @@ EXCLUDE = src/code.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.h \ - src/bib2xhtml.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/sizzle_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 + 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 = diff --git a/Makefile.in b/Makefile.in index ddbb53e..287a06a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -10,12 +10,20 @@ doxywizard: doxysearch: cd addon/doxysearch ; $(MAKE) +doxmlparser: + cd addon/doxmlparser/src ; $(MAKE) + cd addon/doxmlparser/test ; $(MAKE) + cd addon/doxmlparser/examples/metrics ; $(MAKE) + +doxyapp: + cd addon/doxyapp ; $(MAKE) clean + clean: FORCE - cd examples ; $(MAKE) clean - cd doc ; $(MAKE) clean - cd qtools ; $(MAKE) clean - cd src ; $(MAKE) clean - cd libmd5 ; $(MAKE) clean + - cd examples ; $(MAKE) clean + - cd doc ; $(MAKE) clean + - cd qtools ; $(MAKE) clean + - cd src ; $(MAKE) clean + - cd libmd5 ; $(MAKE) clean -cd addon/doxywizard ; $(MAKE) clean -cd addon/doxysearch ; $(MAKE) clean -cd addon/doxyapp ; $(MAKE) clean @@ -26,8 +34,8 @@ clean: FORCE -rm -f objects/*.o distclean: clean - cd src ; $(MAKE) distclean - cd libmd5 ; $(MAKE) distclean + -cd src ; $(MAKE) distclean + -cd libmd5 ; $(MAKE) distclean -cd addon/doxywizard ; $(MAKE) distclean -cd addon/doxysearch ; $(MAKE) distclean -cd addon/doxyapp ; $(MAKE) distclean @@ -42,14 +50,31 @@ distclean: clean -rm -f src/Makefile.doxygen src/Makefile.libdoxygen -rm -f src/Makefile.libdoxycfg src/libdoxycfg.t src/libdoxygen.t -rm -f libmd5/Makefile.libmd5 - -rm -f Makefile qtools/Makefile src/Makefile examples/Makefile doc/Makefile -rm -f .makeconfig .tmakeconfig -rm -f src/doxygen.pro src/libdoxygen.pro qtools/qtools.pro src/libdoxycfg.pro libmd5/libmd5.pro -rm -f src/version.cpp - -rm -r addon/doxywizard/Makefile -rm -f addon/doxywizard/doxywizard.pro -rm -f VERSION -rm -f packages/rpm/doxygen.spec + -rm -r addon/doxywizard/Makefile + -rm -f addon/doxysearch/Makefile + -rm -f addon/doxyapp/Makefile + -rm -f addon/doxmlparser/src/Makefile + -rm -f addon/doxmlparser/test/Makefile + -rm -f addon/doxmlparser/examples/metrics/Makefile + -rm -f qtools/Makefile src/Makefile examples/Makefile doc/Makefile + -rm -f Makefile + +realclean: clean + -cd src ; $(MAKE) realclean + -cd libmd5 ; $(MAKE) realclean + -cd addon/doxywizard ; $(MAKE) realclean + -cd addon/doxysearch ; $(MAKE) realclean + -cd addon/doxyapp ; $(MAKE) realclean + -cd addon/doxmlparser/src ; $(MAKE) realclean + -cd addon/doxmlparser/test ; $(MAKE) realclean + -cd addon/doxmlparser/examples/metrics ; $(MAKE) realclean + -$(MAKE) distclean DATE=$(shell date "+%B %Y") diff --git a/Makefile.win_make.in b/Makefile.win_make.in index 175dc6f..1218979 100644 --- a/Makefile.win_make.in +++ b/Makefile.win_make.in @@ -19,6 +19,8 @@ distclean: clean -del src\libdoxygen.pro src\doxygen.pro src\libdoxycfg.pro -del src\version.cpp +realclean: distclean + docs: set TMAKEPATH=$(TMAKEPATH) & cd examples & $(MAKE) set TMAKEPATH=$(TMAKEPATH) & cd doc & $(MAKE) diff --git a/Makefile.win_nmake.in b/Makefile.win_nmake.in index 723d4fd..069bb53 100644 --- a/Makefile.win_nmake.in +++ b/Makefile.win_nmake.in @@ -31,6 +31,8 @@ distclean: clean -del src\libdoxygen.pro src\doxygen.pro src\libdoxycfg.pro -del src\version.cpp +realclean: distclean + docs: FORCE cd examples $(MAKE) diff --git a/addon/doxmlparser/examples/metrics/Makefile.in b/addon/doxmlparser/examples/metrics/Makefile.in index 83cbc28..a3eb784 100644 --- a/addon/doxmlparser/examples/metrics/Makefile.in +++ b/addon/doxmlparser/examples/metrics/Makefile.in @@ -4,6 +4,8 @@ all clean depend: Makefile.metrics distclean: clean $(RM) -rf Makefile.metrics metrics.pro Makefile obj +realclean: distclean + tmake: $(ENV) $(PERL) $(TMAKE) metrics.pro >Makefile.metrics diff --git a/addon/doxmlparser/src/Makefile.in b/addon/doxmlparser/src/Makefile.in index 049f969..47d20c2 100644 --- a/addon/doxmlparser/src/Makefile.in +++ b/addon/doxmlparser/src/Makefile.in @@ -4,6 +4,8 @@ all clean depend: Makefile.doxmlparser distclean: clean $(RM) -rf Makefile.doxmlparser doxmlparser.pro Makefile obj +realclean: distclean + tmake: $(ENV) $(PERL) $(TMAKE) doxmlparser.pro >Makefile.doxmlparser diff --git a/addon/doxmlparser/test/Makefile.in b/addon/doxmlparser/test/Makefile.in index 1dfbd17..87b1829 100644 --- a/addon/doxmlparser/test/Makefile.in +++ b/addon/doxmlparser/test/Makefile.in @@ -4,6 +4,8 @@ all clean depend: Makefile.xmlparse distclean: clean $(RM) -rf Makefile.xmlparse xmlparse.pro Makefile obj +realclean: distclean + tmake: $(ENV) $(PERL) $(TMAKE) xmlparse.pro >Makefile.xmlparse diff --git a/addon/doxyapp/Makefile.in b/addon/doxyapp/Makefile.in index 49ddb4d..d0629d9 100644 --- a/addon/doxyapp/Makefile.in +++ b/addon/doxyapp/Makefile.in @@ -5,6 +5,8 @@ all clean depend distclean: Makefile.doxyapp distclean: clean $(RM) -rf Makefile doxyapp.pro Makefile.doxyapp +realclean: distclean + tmake: $(ENV) $(PERL) "$(TMAKE)" doxyapp.pro >Makefile.doxyapp diff --git a/addon/doxyapp/doxyapp.pro.in b/addon/doxyapp/doxyapp.pro.in index 71246f4..4a49a56 100644 --- a/addon/doxyapp/doxyapp.pro.in +++ b/addon/doxyapp/doxyapp.pro.in @@ -2,7 +2,7 @@ TEMPLATE = app.t CONFIG = console warn_on debug HEADERS = SOURCES = doxyapp.cpp -LIBS += -L../../lib -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lpthread +LIBS += -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lpthread -liconv DESTDIR = OBJECTS_DIR = ../../objects TARGET = ../../bin/doxyapp diff --git a/addon/doxysearch/Makefile.in b/addon/doxysearch/Makefile.in index 7daafee..f3ed662 100644 --- a/addon/doxysearch/Makefile.in +++ b/addon/doxysearch/Makefile.in @@ -7,6 +7,8 @@ distclean: clean $(RM) -rf Makefile doxysearch.pro Makefile.doxysearch $(RM) -rf Makefile doxyindexer.pro Makefile.doxyindexer +realclean: distclean + tmake: $(ENV) $(PERL) "$(TMAKE)" doxysearch.pro >Makefile.doxysearch $(ENV) $(PERL) "$(TMAKE)" doxyindexer.pro >Makefile.doxyindexer diff --git a/addon/doxysearch/doxysearch.pro.in b/addon/doxysearch/doxysearch.pro.in index fce6d82..c9654b0 100644 --- a/addon/doxysearch/doxysearch.pro.in +++ b/addon/doxysearch/doxysearch.pro.in @@ -2,7 +2,7 @@ TEMPLATE = app.t CONFIG = console warn_on debug HEADERS = SOURCES = doxysearch.cpp -LIBS += -lxapian +LIBS += -lxapian DESTDIR = OBJECTS_DIR = ../../objects TARGET = ../../bin/doxysearch.cgi diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in index 727409a..152c2b7 100644 --- a/addon/doxywizard/Makefile.in +++ b/addon/doxywizard/Makefile.in @@ -10,10 +10,11 @@ # See the GNU General Public License for more details. # -QMAKE=qmake $(MKSPECS) +QMAKE=$(QTDIR)/bin/qmake $(MKSPECS) +INCBUFSIZE=$(PYTHON) ../../src/increasebuffer.py all: Makefile.doxywizard - $(MAKE) -f Makefile.doxywizard + $(MAKE) -f Makefile.doxywizard LEX=$(LEX) PYTHON=$(PYTHON) INCBUFSIZE="$(INCBUFSIZE)" Makefile.doxywizard: doxywizard.pro $(QMAKE) doxywizard.pro -o Makefile.doxywizard @@ -28,6 +29,11 @@ distclean: Makefile.doxywizard $(MAKE) -f Makefile.doxywizard distclean $(RM) Makefile.doxywizard +realclean: Makefile.doxywizard + $(RM) configdoc.cpp + $(RM) config_doxyw.cpp + $(MAKE) distclean + install: $(INSTTOOL) -d $(INSTALL)/bin $(INSTTOOL) -m 755 ../../bin/doxywizard $(INSTALL)/bin diff --git a/addon/doxywizard/config_doxyw.l b/addon/doxywizard/config_doxyw.l new file mode 100644 index 0000000..3a26eb6 --- /dev/null +++ b/addon/doxywizard/config_doxyw.l @@ -0,0 +1,555 @@ +/****************************************************************************** + * + * $Id: config_templ.l,v 1.8 2001/01/01 10:15:16 root Exp $ + * + * Copyright (C) 1997-2013 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + */ + +%{ + +/* + * includes + */ +#include "config.h" +#include "input.h" +#include + +#define MAX_INCLUDE_DEPTH 10 + + +/* ----------------------------------------------------------------- + * + * static variables + */ + +struct ConfigFileState +{ + int lineNr; + FILE *file; + YY_BUFFER_STATE oldState; + YY_BUFFER_STATE newState; + QString fileName; +}; + +static const QHash *g_options; +static FILE *g_file; +static QString g_yyFileName; +static QString g_includeName; +static QVariant g_includePathList; +static QStack g_includeStack; +static int g_includeDepth; +static QVariant *g_arg; +static Input *g_curOption=0; +static QString g_elemStr; +static QTextCodec *g_codec = QTextCodec::codecForName("UTF-8"); +static QString g_codecName = QString::fromAscii("UTF-8"); +static int g_lastState; +static QByteArray g_tmpString; + +/* ----------------------------------------------------------------- + */ +#undef YY_INPUT +#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); + +static int yyread(char *buf,int maxSize) +{ + // no file included + if (g_includeStack.isEmpty()) + { + return fread(buf,1,maxSize,g_file); + } + else + { + return fread(buf,1,maxSize,g_includeStack.top()->file); + } +} + +void config_err(const char *fmt, ...) +{ + va_list args; + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); +} +void config_warn(const char *fmt, ...) +{ + va_list args; + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); +} + +static void substEnvVarsInStrList(QStringList &sl); +static void substEnvVarsInString(QString &s); + +static void checkEncoding() +{ + Input *option = g_options->value(QString::fromAscii("DOXYFILE_ENCODING")); + if (option && option->value().toString()!=g_codecName) + { + QTextCodec *newCodec = QTextCodec::codecForName(option->value().toString().toAscii()); + if (newCodec) + { + g_codec = newCodec; + g_codecName = option->value().toString(); + } + } +} + +static FILE *tryPath(const QString &path,const QString &fileName) +{ + QString absName=!path.isEmpty() ? path+QString::fromAscii("/")+fileName : fileName; + QFileInfo fi(absName); + if (fi.exists() && fi.isFile()) + { + FILE *f = fopen(absName.toLocal8Bit(),"r"); + if (f==NULL) + config_err("Error: could not open file %s for reading\n",absName.toLatin1().data()); + else + return f; + } + return NULL; +} + +static FILE *findFile(const QString &fileName) +{ + if (QFileInfo(fileName).isAbsolute()) // absolute path + { + return tryPath(QString(), fileName); + } + + // relative path, try with include paths in the list + QStringList sl = g_includePathList.toStringList(); + substEnvVarsInStrList(sl); + foreach (QString s, sl) + { + FILE *f = tryPath(s,fileName); + if (f) return f; + } + // try cwd if g_includePathList fails + return tryPath(QString::fromAscii("."),fileName); +} + +static void readIncludeFile(const QString &incName) +{ + if (g_includeDepth==MAX_INCLUDE_DEPTH) + { + config_err("Error: maximum include depth (%d) reached, %s is not included. Aborting...\n", + MAX_INCLUDE_DEPTH,qPrintable(incName)); + exit(1); + } + + QString inc = incName; + substEnvVarsInString(inc); + inc = inc.trimmed(); + uint incLen = inc.length(); + if (inc.at(0)==QChar::fromAscii('"') && + inc.at(incLen-1)==QChar::fromAscii('"')) // strip quotes + { + inc=inc.mid(1,incLen-2); + } + + FILE *f = findFile(inc); + if (f) // see if the include file can be found + { + // For debugging +#if SHOW_INCLUDES + for (i=0;ioldState=YY_CURRENT_BUFFER; + fs->fileName=g_yyFileName; + fs->file=f; + // push the state on the stack + g_includeStack.push(fs); + // set the scanner to the include file + yy_switch_to_buffer(yy_create_buffer(f, YY_BUF_SIZE)); + fs->newState=YY_CURRENT_BUFFER; + g_yyFileName=inc; + g_includeDepth++; + } + else + { + config_err("Error: @INCLUDE = %s: not found!\n",inc.toLatin1().data()); + exit(1); + } +} + + +%} + +%option nounput +%option noyywrap +%option yylineno + +%x Start +%x SkipComment +%x SkipInvalid +%x GetString +%x GetStrList +%x GetQuotedString +%x GetEnvVar +%x Include + +%% + +<*>\0x0d +"#" { BEGIN(SkipComment); } +[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"=" { QString cmd = g_codec->toUnicode(yytext); + cmd=cmd.left(cmd.length()-1).trimmed(); + g_curOption = g_options->value(cmd); + if (g_curOption==0) // oops not known + { + config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n", + qPrintable(cmd),yylineno,qPrintable(g_yyFileName)); + BEGIN(SkipInvalid); + } + else // known tag + { + //option->setEncoding(encoding); + g_arg = &g_curOption->value(); + switch(g_curOption->kind()) + { + case Input::StrList: + g_elemStr = QString(); + *g_arg = QStringList(); + BEGIN(GetStrList); + break; + case Input::String: + BEGIN(GetString); + break; + case Input::Int: + BEGIN(GetString); + break; + case Input::Bool: + BEGIN(GetString); + break; + case Input::Obsolete: + config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n" + "To avoid this warning please update your configuration " + "file using \"doxygen -u\"\n", qPrintable(cmd), + yylineno,qPrintable(g_yyFileName)); + BEGIN(SkipInvalid); + break; + } + } + } +[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"+=" { QString cmd=g_codec->toUnicode(yytext); + cmd=cmd.left(cmd.length()-2).trimmed(); + g_curOption = g_options->value(cmd); + if (g_curOption==0) // oops not known + { + config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n", + yytext,yylineno,qPrintable(g_yyFileName)); + BEGIN(SkipInvalid); + } + else // known tag + { + switch(g_curOption->kind()) + { + case Input::StrList: + g_arg = &g_curOption->value(); + g_elemStr=QString(); + BEGIN(GetStrList); + break; + case Input::String: + case Input::Int: + case Input::Bool: + config_err("Warning: operator += not supported for `%s'. Ignoring line at line %d, file %s\n", + yytext,yylineno,qPrintable(g_yyFileName)); + BEGIN(SkipInvalid); + break; + case Input::Obsolete: + config_err("Warning: Tag `%s' at line %d of file %s has become obsolete.\n" + "To avoid this warning please update your configuration " + "file using \"doxygen -u\"\n", + qPrintable(cmd),yylineno,qPrintable(g_yyFileName)); + BEGIN(SkipInvalid); + break; + } + } + } +"@INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); g_arg=&g_includePathList; *g_arg = QStringList(); g_elemStr=QString(); } + /* include a config file */ +"@INCLUDE"[ \t]*"=" { BEGIN(Include);} +([^ \"\t\r\n]+)|("\""[^\n\"]+"\"") { + readIncludeFile(g_codec->toUnicode(yytext)); + BEGIN(Start); + } +<> { + //printf("End of include file\n"); + //printf("Include stack depth=%d\n",g_includeStack.count()); + if (g_includeStack.isEmpty()) + { + //printf("Terminating scanner!\n"); + yyterminate(); + } + else + { + ConfigFileState *fs = g_includeStack.pop(); + fclose(fs->file); + YY_BUFFER_STATE oldBuf = YY_CURRENT_BUFFER; + yy_switch_to_buffer( fs->oldState ); + yy_delete_buffer( oldBuf ); + g_yyFileName=fs->fileName; + delete fs; + g_includeDepth--; + } + } + +[a-z_A-Z0-9]+ { config_err("Warning: ignoring unknown tag `%s' at line %d, file %s\n",yytext,yylineno,qPrintable(g_yyFileName)); } +\n { BEGIN(Start); } +\n { + if (!g_elemStr.isEmpty()) + { + //printf("elemStr1=`%s'\n",elemStr.toLatin1().data()); + *g_arg = QVariant(g_arg->toStringList() << g_elemStr); + } + BEGIN(Start); + } +[ \t]+ { + if (!g_elemStr.isEmpty()) + { + //printf("elemStr2=`%s'\n",elemStr.toLatin1().data()); + *g_arg = QVariant(g_arg->toStringList() << g_elemStr); + } + g_elemStr = QString(); + } +[^ \"\t\r\n]+ { + *g_arg = QVariant(g_codec->toUnicode(yytext)); + checkEncoding(); + } +"\"" { g_lastState=YY_START; + BEGIN(GetQuotedString); + g_tmpString=""; + } +"\""|"\n" { + // we add a bogus space to signal that the string was quoted. This space will be stripped later on. + g_tmpString+=" "; + //printf("Quoted String = `%s'\n",tmpString.toLatin1().data()); + if (g_lastState==GetString) + { + *g_arg = g_codec->toUnicode(g_tmpString); + checkEncoding(); + } + else + { + g_elemStr+=g_codec->toUnicode(g_tmpString); + } + if (*yytext=='\n') + { + config_err("Warning: Missing end quote (\") on line %d, file %s\n",yylineno, + qPrintable(g_yyFileName)); + } + BEGIN(g_lastState); + } +"\\\"" { + g_tmpString+='"'; + } +. { g_tmpString+=*yytext; } +[^ \#\"\t\r\n]+ { + g_elemStr+=g_codec->toUnicode(yytext); + } +\n { BEGIN(Start); } +\\[ \r\t]*\n { BEGIN(Start); } +<*>\\[ \r\t]*\n { } +<*>\n +<*>. + +%% + +/*@ ---------------------------------------------------------------------------- + */ + +static void substEnvVarsInString(QString &s) +{ + static QRegExp re(QString::fromAscii("\\$\\([a-z_A-Z0-9]+\\)")); + if (s.isEmpty()) return; + int p=0; + int i,l; + //printf("substEnvVarInString(%s) start\n",s.toLatin1().data()); + while ((i=re.indexIn(s,p))!=-1) + { + l = re.matchedLength(); + //printf("Found environment var s.mid(%d,%d)=`%s'\n",i+2,l-3,s.mid(i+2,l-3).toLatin1().data()); + QString env=g_codec->toUnicode(getenv(s.mid(i+2,l-3).toLatin1())); + substEnvVarsInString(env); // recursively expand variables if needed. + s = s.left(i)+env+s.right(s.length()-i-l); + p=i+env.length(); // next time start at the end of the expanded string + } + s=s.trimmed(); // to strip the bogus space that was added when an argument + // has quotes + //printf("substEnvVarInString(%s) end\n",s.toLatin1().data()); +} + +static void substEnvVarsInStrList(QStringList &sl) +{ + QStringList out; + + foreach (QString result, sl) + { + // an argument with quotes will have an extra space at the end, so wasQuoted will be TRUE. + bool wasQuoted = (result.indexOf(QChar::fromAscii(' '))!=-1) || + (result.indexOf(QChar::fromAscii('\t'))!=-1); + // here we strip the quote again + substEnvVarsInString(result); + + //printf("Result %s was quoted=%d\n",result.toLatin1().data(),wasQuoted); + + if (!wasQuoted) /* as a result of the expansion, a single string + may have expanded into a list, which we'll + add to sl. If the original string already + contained multiple elements no further + splitting is done to allow quoted items with spaces! */ + { + int l=result.length(); + int i,p=0; + // skip spaces + // search for a "word" + for (i=0;i &options + ) +{ + QHashIterator i(options); + g_file = fopen(fileName.toLocal8Bit(),"r"); + if (g_file==NULL) return false; + + // reset all values + i.toFront(); + while (i.hasNext()) + { + i.next(); + if (i.value()) + { + i.value()->reset(); + } + } + + // parse config file + g_options = &options; + g_yyFileName = fileName; + g_includeStack.clear(); + g_includeDepth = 0; + config_doxywYYrestart( config_doxywYYin ); + BEGIN( Start ); + config_doxywYYlex(); + + // update the values in the UI + i.toFront(); + while (i.hasNext()) + { + i.next(); + if (i.value()) + { + //printf("Updating: %s\n",qPrintable(i.key())); + i.value()->update(); + } + else + { + printf("Invalid option: %s\n",qPrintable(i.key())); + } + } + fclose(g_file); + return true; +} + +void writeStringValue(QTextStream &t,QTextCodec *codec,const QString &s) +{ + QChar c; + bool needsEscaping=FALSE; + // convert the string back to it original encoding + //QByteArray se = codec->fromUnicode(s); + t.setCodec(codec); + const QChar *p=s.data(); + if (!s.isEmpty() && !p->isNull()) + { + while (!(c=*p++).isNull() && !needsEscaping) + { + needsEscaping = (c==QChar::fromAscii(' ') || + c==QChar::fromAscii('\n') || + c==QChar::fromAscii('\t') || + c==QChar::fromAscii('"')); + } + if (needsEscaping) + { + t << "\""; + p=s.data(); + while (!p->isNull()) + { + if (*p ==QChar::fromAscii(' ') && + *(p+1)==QChar::fromAscii('\0')) break; // skip inserted space at the end + if (*p ==QChar::fromAscii('"')) t << "\\"; // escape quotes + t << *p++; + } + t << "\""; + } + else + { + t << s; + } + } +} + diff --git a/addon/doxywizard/doxywizard.pro.in b/addon/doxywizard/doxywizard.pro.in index 4ec2b0e..01832df 100644 --- a/addon/doxywizard/doxywizard.pro.in +++ b/addon/doxywizard/doxywizard.pro.in @@ -21,14 +21,21 @@ macx-g++ { # Input HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \ inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h docintf.h -SOURCES += doxywizard.cpp ../../src/version.cpp expert.cpp wizard.cpp \ +SOURCES += doxywizard.cpp expert.cpp wizard.cpp \ inputbool.cpp inputstring.cpp inputint.cpp inputstrlist.cpp -LEXSOURCES += config.l RESOURCES += doxywizard.qrc +INCBUFSIZE=$(PYTHON) ../../src/increasebuffer.py win32:RC_FILE += doxywizard.rc +config.target = config_doxyw.cpp +config.commands = $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp +config.depends = config_doxyw.l ../../src/increasebuffer.py configdoc.target = configdoc.cpp -configdoc.commands = python ../../src/configgen.py -wiz ../../src/config.xml > configdoc.cpp +configdoc.commands = $(PYTHON) ../../src/configgen.py -wiz ../../src/config.xml > configdoc.cpp configdoc.depends = ../../src/config.xml ../../src/configgen.py -QMAKE_EXTRA_TARGETS += configdoc -GENERATED_SOURCES += $$configdoc.target +version.target = ../../src/version.cpp +version.commands = cd ../../src;$(PYTHON) version.py +version.depends = ../../configure +QMAKE_EXTRA_TARGETS += configdoc config version +GENERATED_SOURCES += $$configdoc.target $$config.target $$version.target + diff --git a/configure b/configure index 7b554a3..0434457 100755 --- a/configure +++ b/configure @@ -29,23 +29,31 @@ f_shared=YES f_make=NO f_dot=NO f_perl=NO +f_python=NO f_plf_auto=NO f_prefix=/usr/local f_insttool=NO f_english=NO f_wizard=NO f_app=NO +f_doxmlparser=NO f_thread=NO f_flex=NO f_bison=NO f_search=NO -f_langs=nl,sv,cz,fr,id,it,de,jp,je,es,fi,ru,hr,pl,pt,hu,kr,ke,ro,si,cn,no,mk,br,dk,sk,ua,gr,tw,sr,ca,lt,za,ar,fa,sc,vi,tr,eo,am f_sqlite3=NO f_sqlite3static=NO f_sqlite3_path=NO f_libclang=NO f_libclangstatic=NO +# +# first setup the list with availabe languages, so we cannot forget any +# list will be in case as specified (f_langs) and in uppercase (f_ulangs) as used in the internal perl script +# +f_langs=`ls -1 src/translator_??.h | sed -e 's%src/translator_%%g' | sed -e 's/\.h//' | tr '\012' ',' | sed -e 's/,$//'` +f_ulangs=`echo $f_langs | tr '[a-z]' '[A-Z]'` + while test -n "$1"; do case $1 in --prefix | -prefix) @@ -81,6 +89,9 @@ while test -n "$1"; do --dot | -dot) shift; f_dot=$1 ;; + --python | -python) + shift; f_python=$1 + ;; --perl | -perl) shift; f_perl=$1 ;; @@ -99,6 +110,9 @@ while test -n "$1"; do --with-doxyapp | -with-doxyapp) f_app=YES ;; + --with-doxmlparser | -with-doxmlparser) + f_doxmlparser=YES + ;; --with-doxysearch | -with-doxysearch) f_search=YES ;; @@ -133,13 +147,14 @@ done if test "$f_help" = y; then cat <> $DST fi + if test $f_doxmlparser = YES; then + echo " \$(MAKE) -C addon/doxmlparser/src" >> $DST + echo " \$(MAKE) -C addon/doxmlparser/test" >> $DST + echo " \$(MAKE) -C addon/doxmlparser/examples/metrics" >> $DST + fi echo "" >> $DST echo "doxywizard_install:" >> $DST if test $f_wizard = YES; then @@ -796,8 +872,8 @@ EOF echo " Created $DST from $SRC..." done -cat src/libdoxycfg.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxycfg.t -cat src/libdoxygen.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" > src/libdoxygen.t +cat src/libdoxycfg.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" -e "s|%%PYTHON%%|$f_python|g" > src/libdoxycfg.t +cat src/libdoxygen.t.in | sed -e "s|%%FLEX%%|$f_flex|g" -e "s|%%BISON%%|$f_bison|g" -e "s|%%PYTHON%%|$f_python|g" > src/libdoxygen.t f_inprofiles="qtools/qtools.pro.in src/libdoxygen.pro.in src/libdoxycfg.pro.in src/doxygen.pro.in addon/doxywizard/doxywizard.pro.in addon/doxmlparser/src/doxmlparser.pro.in addon/doxmlparser/test/xmlparse.pro.in addon/doxmlparser/examples/metrics/metrics.pro.in libmd5/libmd5.pro.in addon/doxyapp/doxyapp.pro.in addon/doxysearch/doxysearch.pro.in addon/doxysearch/doxyindexer.pro.in" @@ -831,7 +907,7 @@ fi echo " Generating src/lang_cfg.h..." echo $f_langs | $f_perl -e '@l=split(/,/,); chomp @l; - @allowed=(split(/,/,"NL,SV,CZ,FR,ID,IT,DE,JP,JE,ES,FI,RU,HR,PL,PT,HU,KR,KE,RO,SI,CN,NO,MK,BR,DK,SK,UA,GR,TW,SR,CA,LT,ZA,AR,FA,SC,VI,TR,EO,AM")); + @allowed=(split(/,/,"'$f_ulangs'")); foreach my $elem (@l){ $elem =~ tr/a-z/A-Z/; $r=0; @@ -845,25 +921,11 @@ echo $f_langs | $f_perl -e '@l=split(/,/,); if test -f "src/config.h"; then chmod u+w src/config.h fi -echo " Generating src/settings.h..." -echo "#ifndef SETTINGS_H" > src/settings.h -echo "#define SETTINGS_H" >> src/settings.h -echo "" >> src/settings.h -if test "$f_sqlite3" != NO; then -echo "#define USE_SQLITE3 1" >> src/settings.h -else -echo "#define USE_SQLITE3 0" >> src/settings.h +if test -f "src/settings.h"; then + chmod u+w src/settings.h fi -if test "$f_libclang" != NO; then -echo "#define USE_LIBCLANG 1" >> src/settings.h -else -echo "#define USE_LIBCLANG 0" >> src/settings.h -fi -echo "" >> src/settings.h -echo "#define IS_SUPPORTED(x) \\" >> src/settings.h -echo " ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\" >> src/settings.h -echo " (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\" >> src/settings.h -echo " 0)" >> src/settings.h -echo "" >> src/settings.h -echo "#endif" >> src/settings.h -echo +echo " Generating src/settings.h..." +cd src +$f_python settings.py $f_sqlite3 $f_libclang +cd .. +echo " Finished" diff --git a/doc/Makefile.in b/doc/Makefile.in index cf1e461..5036116 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -31,9 +31,9 @@ clean: language: language.doc language.doc: $(wildcard ../src/translator*.h) maintainers.txt language.tpl translator.py - python translator.py + $(PYTHON) translator.py config.doc: ../src/config.xml ../src/configgen.py - python ../src/configgen.py -doc ../src/config.xml > config.doc + $(PYTHON) ../src/configgen.py -doc ../src/config.xml > config.doc FORCE: diff --git a/doc/config.doc b/doc/config.doc index de563ad..ec19732 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -1056,7 +1056,7 @@ The default value is: YES. If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the brief descriptions of file, namespace and class members alphabetically by member name. If set to \c NO the members will appear in - declaration order. Note the this will also influence the order of the + declaration order. Note that this will also influence the order of the classes in the class list. diff --git a/doc/install.doc b/doc/install.doc index a4fe2f7..2f4373d 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -269,10 +269,10 @@ compile doxygen. Alternatively, you can compile doxygen Cygwin or MinGW. -The next step is to install \c bison, \c flex, and \c tar -(see http://gnuwin32.sourceforge.net/packages.html). +The next step is to install \c bison, \c flex, \c tar +(see http://gnuwin32.sourceforge.net/packages.html) and \c python (version 2, see http://www.python.org). This packages are needed during the -compilation process if you use a CVS snapshot of doxygen (the official source releases +compilation process if you use a GitHub snapshot of doxygen (the official source releases come with pre-generated sources). Download doxygen's source tarball and put it somewhere (e.g. use c:\\tools) diff --git a/doc/language.doc b/doc/language.doc index c9e0945..585b0df 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -201,7 +201,7 @@ when the translator was updated. Latvian Lauris lauris at nix.lv - up-to-date + 1.8.4 Lithuanian @@ -386,7 +386,7 @@ when the translator was updated. \hline KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\ \hline - Latvian & Lauris & {\tt\tiny lauris at nix.lv} & up-to-date \\ + Latvian & Lauris & {\tt\tiny lauris at nix.lv} & 1.8.4 \\ \hline Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden at homelan dot lt} & 1.4.6 \\ ~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius at takas dot lt} & ~ \\ @@ -456,31 +456,22 @@ Just follow the following steps:
  • Tell me for which language you want to add support. If no one else is already working on support for that language, you will be assigned as the maintainer for the language. -
  • Create a copy of `translator_en.h` and name it - `translator_\.h` - I'll use `xx` in the rest of this document. -
  • Add definition of the symbol for your language in the `configure` -script at two places in the script: -
      -
    1. After the f_langs= is statement, in lower case. -
    2. In the string that following \@allowed= in upper case. -
    -The rerun the `configure` script such that is generates `doxygen/src/lang_cfg.h`. +
  • Create a copy of `doxygen/src/translator_en.h` and name it + `doxygen/src/translator_\.h` + I'll use `xx` in the rest of this document (add `XX` for the uppercase version). +
  • Rerun the `configure` script such that it generates `doxygen/src/lang_cfg.h`. This file should now contain a \c \#define for your language code.
  • Edit `doxygen/src/language.cpp`: Add the following code: \verbatim -#ifdef LANG_xx +#ifdef LANG_XX #include #endif \endverbatim - Remember to use the same symbol `LANG_xx` that you added to \c lang_cfg.h. - I.e., the \c xx should be capital letters that identify your language. - On the other hand, the \c xx inside your \c translator_xx.h should use - lower case. + Remember to use the same symbol `LANG_XX` that was added to `doxygen/src/lang_cfg.h`.

    Now, in setTranslator() add \verbatim -#ifdef LANG_xx +#ifdef LANG_XX else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; @@ -491,9 +482,7 @@ This file should now contain a \c \#define for your language code. for creating the English translator at the beginning, and before the else { ... } part that creates the translator for the default language (English again). -

  • Edit `doxygen/src/libdoxygen.pro.in` and add \c translator_xx.h to - the \c HEADERS line. -
  • Edit translator_xx.h: +
  • Edit doxygen/src/translator_xx.h:
    • Use the UTF-8 capable editor and open the file using the UTF-8 mode.
    • Rename TRANSLATOR_EN_H to TRANSLATOR_XX_H @@ -514,12 +503,12 @@ This file should now contain a \c \#define for your language code. the text is expected to be saved using the UTF-8 encoding. Doxygen will translate the characters to proper \f$\mbox{\LaTeX}\f$ and leaves the HTML and man output in UTF-8. -
    • Use HTML codes like \ä for an \c a with an \c umlaut (i.e. ä). +
    • Use HTML codes like `\ä` for an \c a with an \c umlaut (i.e. ä). See the HTML specification for the codes.
  • Run \c configure and \c make again from the root (i.e. in the \c doxygen - directory) of the distribution, in order to regenerate the \c Makefiles. + directory) of the distribution, in order to regenerate the `Makefile`s.
  • Now you can use OUTPUT_LANGUAGE = your_language_name in the config file to generate output in your language.
  • Send translator_xx.h to me so I can add it to doxygen. diff --git a/doc/language.tpl b/doc/language.tpl index f4b7b41..966e669 100644 --- a/doc/language.tpl +++ b/doc/language.tpl @@ -55,31 +55,22 @@ Just follow the following steps:
  • Tell me for which language you want to add support. If no one else is already working on support for that language, you will be assigned as the maintainer for the language. -
  • Create a copy of `translator_en.h` and name it - `translator_\.h` - I'll use `xx` in the rest of this document. -
  • Add definition of the symbol for your language in the `configure` -script at two places in the script: -
      -
    1. After the f_langs= is statement, in lower case. -
    2. In the string that following \@allowed= in upper case. -
    -The rerun the `configure` script such that is generates `doxygen/src/lang_cfg.h`. +
  • Create a copy of `doxygen/src/translator_en.h` and name it + `doxygen/src/translator_\.h` + I'll use `xx` in the rest of this document (add `XX` for the uppercase version). +
  • Rerun the `configure` script such that it generates `doxygen/src/lang_cfg.h`. This file should now contain a \c \#define for your language code.
  • Edit `doxygen/src/language.cpp`: Add the following code: \verbatim -#ifdef LANG_xx +#ifdef LANG_XX #include #endif \endverbatim - Remember to use the same symbol `LANG_xx` that you added to \c lang_cfg.h. - I.e., the \c xx should be capital letters that identify your language. - On the other hand, the \c xx inside your \c translator_xx.h should use - lower case. + Remember to use the same symbol `LANG_XX` that was added to `doxygen/src/lang_cfg.h`.

    Now, in setTranslator() add \verbatim -#ifdef LANG_xx +#ifdef LANG_XX else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; @@ -90,9 +81,7 @@ This file should now contain a \c \#define for your language code. for creating the English translator at the beginning, and before the else { ... } part that creates the translator for the default language (English again). -

  • Edit `doxygen/src/libdoxygen.pro.in` and add \c translator_xx.h to - the \c HEADERS line. -
  • Edit translator_xx.h: +
  • Edit doxygen/src/translator_xx.h:
    • Use the UTF-8 capable editor and open the file using the UTF-8 mode.
    • Rename TRANSLATOR_EN_H to TRANSLATOR_XX_H @@ -113,12 +102,12 @@ This file should now contain a \c \#define for your language code. the text is expected to be saved using the UTF-8 encoding. Doxygen will translate the characters to proper \f$\mbox{\LaTeX}\f$ and leaves the HTML and man output in UTF-8. -
    • Use HTML codes like \ä for an \c a with an \c umlaut (i.e. ä). +
    • Use HTML codes like `\ä` for an \c a with an \c umlaut (i.e. ä). See the HTML specification for the codes.
  • Run \c configure and \c make again from the root (i.e. in the \c doxygen - directory) of the distribution, in order to regenerate the \c Makefiles. + directory) of the distribution, in order to regenerate the `Makefile`s.
  • Now you can use OUTPUT_LANGUAGE = your_language_name in the config file to generate output in your language.
  • Send translator_xx.h to me so I can add it to doxygen. diff --git a/libmd5/Makefile.in b/libmd5/Makefile.in index 1a6caab..08c03b8 100644 --- a/libmd5/Makefile.in +++ b/libmd5/Makefile.in @@ -7,6 +7,8 @@ clean: Makefile.libmd5 distclean: clean $(RM) -f Makefile.libmd5 libmd5.pro Makefile +realclean: distclean + tmake: $(ENV) $(PERL) "$(TMAKE)" libmd5.pro >Makefile.libmd5 diff --git a/qtools/Makefile.in b/qtools/Makefile.in index ca66cc1..c8e1f5a 100644 --- a/qtools/Makefile.in +++ b/qtools/Makefile.in @@ -27,4 +27,6 @@ clean: Makefile.qtools distclean: clean +realclean: distclean + FORCE: diff --git a/src/Makefile.in b/src/Makefile.in index 2e78088..7d1d0d9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,60 +1,61 @@ # -# +# # # Copyright (C) 1997-2013 by Dimitri van Heesch. -# +# # Permission to use, copy, modify, and distribute this software and its -# documentation under the terms of the GNU General Public License is hereby -# granted. No representations are made about the suitability of this software +# documentation under the terms of the GNU General Public License is hereby +# granted. No representations are made about the suitability of this software # for any purpose. It is provided "as is" without express or implied warranty. # See the GNU General Public License for more details. -# +# # Documents produced by Doxygen are derivative works derived from the # input used in their production; they are not affected by this license. -# +# all: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen Makefile - $(MAKE) -f Makefile.libdoxycfg PERL=$(PERL) $@ - $(MAKE) -f Makefile.libdoxygen PERL=$(PERL) $@ - $(MAKE) -f Makefile.doxygen PERL=$(PERL) $@ + $(MAKE) -f Makefile.libdoxycfg $@ + $(MAKE) -f Makefile.libdoxygen $@ + $(MAKE) -f Makefile.doxygen $@ -Makefile.libdoxygen: libdoxygen.pro libdoxygen.t +Makefile.libdoxygen: libdoxygen.pro libdoxygen.t $(ENV) $(PERL) "$(TMAKE)" libdoxygen.pro >Makefile.libdoxygen + echo 'HEADERS += ' `ls -1 translator_??.h` >>Makefile.libdoxygen -Makefile.libdoxycfg: libdoxycfg.pro libdoxycfg.t +Makefile.libdoxycfg: libdoxycfg.pro libdoxycfg.t $(ENV) $(PERL) "$(TMAKE)" libdoxycfg.pro >Makefile.libdoxycfg -Makefile.doxygen: doxygen.pro +Makefile.doxygen: doxygen.pro $(ENV) $(PERL) "$(TMAKE)" doxygen.pro >Makefile.doxygen -tmake: +tmake: $(ENV) $(PERL) "$(TMAKE)" libdoxygen.pro >Makefile.libdoxygen $(ENV) $(PERL) "$(TMAKE)" libdoxycfg.pro >Makefile.libdoxycfg $(ENV) $(PERL) "$(TMAKE)" doxygen.pro >Makefile.doxygen # clean objects -clean: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen - $(MAKE) -f Makefile.libdoxygen clean - $(MAKE) -f Makefile.libdoxycfg clean - $(MAKE) -f Makefile.doxygen clean +clean: Makefile.libdoxygen Makefile.libdoxycfg Makefile.doxygen + $(MAKE) -f Makefile.libdoxygen clean + $(MAKE) -f Makefile.libdoxycfg clean + $(MAKE) -f Makefile.doxygen clean # also clean flex/bison generated files distclean: clean - -$(RM) scanner.cpp code.cpp config.cpp pre.cpp ce_lex.cpp \ - ce_parse.cpp ce_parse.h tag.cpp commentscan.cpp \ + -$(RM) scanner.cpp code.cpp config.cpp pre.cpp constexp.cpp \ + ce_parse.cpp ce_parse.h tag.cpp commentscan.cpp \ declinfo.cpp defargs.cpp commentcnv.cpp doctokenizer.cpp \ pycode.cpp pyscanner.cpp fortrancode.cpp fortranscanner.cpp \ vhdlscanner.cpp vhdlcode.cpp tclscanner.cpp vhdlparser.h \ - vhdlparser.cpp \ + vhdlparser.cpp # clean also the generated files which are in SVN realclean: distclean - -$(RM) index_xsd.h compound_xsd.h layout_default.h \ - header_html.h footer_html.h search_functions_php.h search_opensearch_php.h \ - search_js.h search_css.h doxygen_css.h navtree_js.h navindex_js.h resize_js.h \ - jquery_fx_js.h jquery_p1_js.h jquery_p2_js.h \ - jquery_p3_js.h jquery_ui_js.h navtree_css.h svgpan_js.h dynsections_js.h \ - doxygen_bst.h bib2xhtml.h configoptions.cpp + -$(RM) index.xsd.h compound.xsd.h layout_default.xml.h \ + header.html.h footer.html.h search_functions.php.h search_opensearch.php.h \ + search.js.h search.css.h doxygen.css.h navtree.js.h resize.js.h \ + doxygen.sty.h jquery_fx.js.h jquery_p1.js.h jquery_p2.js.h \ + jquery_p3.js.h jquery_ui.js.h navtree.css.h svgpan.js.h dynsections.js.h \ + doxygen.bst.h bib2xhtml.pl.h configoptions.cpp jquery_pt.js.h extsearch.js.h FORCE: diff --git a/src/bib2xhtml.h b/src/bib2xhtml.h deleted file mode 100644 index 3615cee..0000000 --- a/src/bib2xhtml.h +++ /dev/null @@ -1,319 +0,0 @@ -"#\n" -"# Below is a stripped down version of bib2xhtml used by doxygen.\n" -"# For the full version see http://www.spinellis.gr/sw/textproc/bib2xhtml/\n" -"#\n" -"# Convert from bibtex to XHTML.\n" -"#\n" -"# (C) Copyright 1995, 1996 David Hull.\n" -"# (David Hull / hull@cs.uiuc.edu / http://www.uiuc.edu/ph/www/dlhull)\n" -"#\n" -"# (C) Copyright 2002-2010 Diomidis Spinellis\n" -"# http://www.spinellis.gr\n" -"#\n" -"# This program is free software. You can redistribute it and/or modify\n" -"# it under the terms of the GNU General Public License. See the\n" -"# files README and COPYING for details.\n" -"#\n" -"# This source code contains UTF-8 characters. You might want to use\n" -"# an appropriate editor, if you want to view/modify the LaTeX to Unicode\n" -"# substitution commands.\n" -"#\n" -"\n" -"use Getopt::Std;\n" -"use open IO => ':crlf';\n" -"$label_styles{'numbered'} = $LABEL_NUMBERED = 2;\n" -"$list_start[$LABEL_NUMBERED] = 'dl class=\"citelist\"';\n" -"$list_end[$LABEL_NUMBERED] = \"/dl\";\n" -"@tmpfiles = ();\n" -"sub html_ent {\n" -" s/\\\\i\\b/i/g;\n" -" s/\\\\\\'(\\001\\d+)\\{([AEIOUaeiou])\\1\\}/&$2acute;/gs;\n" -" s/\\\\\\'([AEIOUaeiou])/&$1acute;/g;\n" -" s/\\\\\\`(\\001\\d+)\\{([AEIOUaeiou])\\1\\}/&$2grave;/gs;\n" -" s/\\\\\\`([AEIOUaeiou])/&$1grave;/g;\n" -" s/\\\\\\\"(\\001\\d+)\\{([AEIOUaeiouy])\\1\\}/&$2uml;/gs;\n" -" s/\\\\\\\"([AEIOUaeiouy])/&$1uml;/g;\n" -" s/\\\\\\~(\\001\\d+)\\{([ANOano])\\1\\}/&$2tilde;/gs;\n" -" s/\\\\\\~([ANOano])/&$1tilde;/g;\n" -" s/\\\\\\^(\\001\\d+)\\{([AEIOUaeiou])\\1\\}/&$2circ;/gs;\n" -" s/\\\\\\^([AEIOUaeiou])/&$1circ;/g;\n" -" s/\\\\c(\\001\\d+)\\{([Cc])\\1\\}/&$2cedil;/gs;\n" -" s/\\\\u(\\001\\d+)\\{(.)\\1\\}/$2/gs;\n" -" s/\\\\v(\\001\\d+)\\{(.)\\1\\}/$2/gs;\n" -" s/\\\\([lL])\\b/$1/g;\n" -" s/\\\\\\=(\\001\\d+)\\{(.)\\1\\}/$2/gs;\n" -" s/\\\\\\=(.)/$1/g;\n" -" s/\\\\\\.(\\001\\d+)\\{(.)\\1\\}/$2/gs;\n" -" s/\\\\\\.(.)/$1/g;\n" -" s/\\\\([Oo])\\b\\s*/&$1slash;/g;\n" -" s/\\\\AA\\b\\s*/Å/g;\n" -" s/\\\\aa\\b\\s*/å/g;\n" -" s/\\\\AE\\b\\s*/Æ/g;\n" -" s/\\\\ae\\b\\s*/æ/g;\n" -" s/\\\\ss\\b\\s*/ß/g;\n" -" s/\\\\S\\b\\s*/§/g;\n" -" s/\\\\P\\b\\s*/¶/g;\n" -" s/\\\\pounds\\b\\s*/£/g;\n" -" s/\\?\\`/¿/g;\n" -" s/\\!\\`/¡/g;\n" -" s/\\-\\-\\-/—/g;\n" -" s/([^\\!])\\-\\-([^\\>])/$1–$2/g;\n" -" s/\\\\([aA]lpha)\\b/&$1;/g;\n" -" s/\\\\([bB]eta)\\b/&$1;/g;\n" -" s/\\\\([gG]amma)\\b/&$1;/g;\n" -" s/\\\\([dD]elta)\\b/&$1;/g;\n" -" s/\\\\varepsilon\\b/ε/g;\n" -" s/\\\\([eE]psilon)\\b/&$1;/g;\n" -" s/\\\\([zZ]eta)\\b/&$1;/g;\n" -" s/\\\\([eE]ta)\\b/&$1;/g;\n" -" s/\\\\([tT]heta)\\b/&$1;/g;\n" -" s/\\\\vartheta\\b/θ/g;\n" -" s/\\\\([iI]ota)\\b/&$1;/g;\n" -" s/\\\\([kK]appa)\\b/&$1;/g;\n" -" s/\\\\([lL]ambda)\\b/&$1;/g;\n" -" s/\\\\([mM]u)\\b/&$1;/g;\n" -" s/\\\\([nN]u)\\b/&$1;/g;\n" -" s/\\\\([xX]i)\\b/&$1;/g;\n" -" s/\\\\([oO]micron)\\b/&$1;/g;\n" -" s/\\\\([pP]i)\\b/&$1;/g;\n" -" s/\\\\varpi\\b/π/g;\n" -" s/\\\\([rR]ho)\\b/&$1;/g;\n" -" s/\\\\varrho\\b/ρ/g;\n" -" s/\\\\([sS]igma)\\b/&$1;/g;\n" -" s/\\\\varsigma\\b/ς/g;\n" -" s/\\\\([tT]au)\\b/&$1;/g;\n" -" s/\\\\([uU]psilon)\\b/&$1;/g;\n" -" s/\\\\([pP]hi)\\b/&$1;/g;\n" -" s/\\\\varphi\\b/φ/g;\n" -" s/\\\\([cC]hi)\\b/&$1;/g;\n" -" s/\\\\([pP]si)\\b/&$1;/g;\n" -" s/\\\\([oO]mega)\\b/&$1;/g;\n" -" s/\\\\S\\b/§/g;\n" -" s/^\\\\circ\\b/°/g;\n" -" s/\\\\infty\\b/∞/g;\n" -" s/\\\\emptyset\\b/∅/g;\n" -" s/\\\\pm\\b/±/g;\n" -" s/\\\\times\\b/×/g;\n" -" s/\\\\cdot\\b/⋅/g;\n" -" s/\\\\partial\\b/∂/g;\n" -" s/\\\\nabla\\b/∇/g;\n" -" s/\\\\surd\\b/√/g;\n" -" s/\\\\perp\\b/⊥/g;\n" -" s/\\\\sum\\b/∑/g;\n" -" s/\\\\int\\b/∫/g;\n" -" s/\\\\prod\\b/∏/g;\n" -" s/\\\\sim\\b/∼/g;\n" -" s/\\\\approx\\b/≈/g;\n" -" s/\\\\ne\\b/≠/g;\n" -" s/\\\\equiv\\b/≡/g;\n" -" s/\\\\propto\\b/∝/g;\n" -" s/\\\\le\\b/≤/g;\n" -" s/\\\\ge\\b/≥/g;\n" -" s/\\\\leftarrow\\b/←/g;\n" -" s/\\\\rightarrow\\b/→/g;\n" -" s/\\\\in\\b/∈/g;\n" -" s/\\\\notin\\b/∉/g;\n" -" s/\\\\lceil\\b/⌈/g;\n" -" s/\\\\rceil\\b/⌉/g;\n" -" s/\\\\lfloor\\b/⌊/g;\n" -" s/\\\\rfloor\\b/⌋/g;\n" -"}\n" -"foreach (@ARGV) {\n" -" if (/\\.bib$/) {\n" -" $bibfile = $_;\n" -" $bibfile =~ s/\\.bib$//;\n" -" push(@bibfiles,$bibfile);\n" -" } else {\n" -" $htmlfile = $_;\n" -" }\n" -"}\n" -"exit(1) unless defined($htmlfile);\n" -"$bibdatacmd=\"\\\\bibdata{\".join(',',@bibfiles).\"}\";\n" -"$label_style = $LABEL_NUMBERED;\n" -"$bstfile = \"doxygen\";\n" -"umask(077);\n" -"open(HTMLFILE,\">$htmlfile$$\");\n" -"if (open(OHTMLFILE, \"$htmlfile\")) {\n" -" $mode = (stat OHTMLFILE)[2] & 0xfff;\n" -"} else {\n" -" print \"Error opening $htmlfile\\n\";\n" -" exit(1);\n" -"}\n" -"$beginstring = \"\";\n" -"$endstring = \"\";\n" -"@citations = ();\n" -"loop:\n" -"while () {\n" -" print HTMLFILE;\n" -" last loop if m/^$beginstring$/;\n" -"}\n" -"loop:\n" -"while () {\n" -" print HTMLFILE;\n" -" last loop if m/^$endstring$/;\n" -" push(@citations, $2) if m/^([^\\\\]*)?(.+\\})(.*)?$/;\n" -"}\n" -"push(@citations, $bibdatacmd);\n" -"$auxfile = \"bib$$\";\n" -"push(@tmpfiles, \"$auxfile.aux\");\n" -"open(AUXFILE, \">$auxfile\" . \".aux\");\n" -"print AUXFILE \"\\\\relax\\n\\\\bibstyle{$bstfile}\\n\";\n" -"foreach $citation (@citations) {\n" -" print AUXFILE \"$citation\\n\";\n" -"}\n" -"close(AUXFILE);\n" -"push(@tmpfiles, \"$auxfile.blg\");\n" -"push(@tmpfiles, \"$auxfile.bbl\");\n" -"`bibtex $auxfile 2>&1`;\n" -"if ($?==-1)\n" -"{\n" -" print \"bibtex command failed: $!\\n\";\n" -"}\n" -"$beginstring = \"\";\n" -"$endstring = \"\";\n" -"loop:\n" -"while () {\n" -" last loop if m/^$beginstring$/;\n" -" print HTMLFILE;\n" -"}\n" -"loop:\n" -"while () {\n" -" last loop if m/^$endstring$/;\n" -"}\n" -"print HTMLFILE \"$beginstring\\n\";\n" -"$t = $auxfile . \".bbl\";\n" -"$/ = \"\";\n" -"open(BBLFILE, \"<$t\") || die \"error opening $t: $!\\n\";\n" -"$nentry = 0;\n" -"loop:\n" -"while () {\n" -" if (($nentry == 0) && (m/^#/)) {\n" -" if ((m/#\\s*label-style:\\s*(\\S+)/) && (! defined $label_style)) {\n" -" $label_style = $label_styles{$1};\n" -" if (! defined $label_style) {\n" -" print STDERR \"label style unknown: \\n\";\n" -" next loop;\n" -" }\n" -" }\n" -" next loop;\n" -" }\n" -" $nentry++;\n" -" ($bcite, $blabel) = m+
    \\[([^\\]]*)\\]
    +;\n" -" $blabel = \"$nentry\";\n" -" $bibcite{$bcite} = $blabel;\n" -"}\n" -"close(BBLFILE);\n" -"$label_style = $LABEL_DEFAULT if (! defined $label_style);\n" -"$list_start = $list_start[$label_style];\n" -"$list_end = $list_end[$label_style];\n" -"print HTMLFILE \"<$list_start>\\n\\n\";\n" -"open(BBLFILE, \"<$t\") || die \"error opening $t: $!\\n\";\n" -"$nentry = 0;\n" -"loop:\n" -"while () {\n" -" next loop if (($nentry == 0) && (m/^#/));\n" -" $nentry++;\n" -" s/\\\\\\{/\\002/g;\n" -" s/\\\\\\}/\\003/g;\n" -" s/\\\\\\$/\\004/g;\n" -" {\n" -" local ($c, $l, $z) = (0, 0, ());\n" -" s/([\\{\\}])/join(\"\",\"\\001\",($1 eq \"\\{\" ? $z[$l++]=$c++ : $z[--$l]),$1)/ge;\n" -" }\n" -" s/\\%\\n//g;\n" -" s/(\\.(<\\/cite>|<\\/a>|\\')+)\\./$1/g;\n" -" s:(
    \\[)[^\\]]*(\\]
    ):$1$nentry$2:;\n" -" while (m/(\\\\(cite(label)?)(\\001\\d+)\\{([^\\001]+)\\4\\})/) {\n" -" $old = $1;\n" -" $cmd = $2;\n" -" $doxref = defined($3);\n" -" $bcite = $5;\n" -" if (! defined $bibcite{$bcite}) {\n" -" $blabel = \" [\" . $bcite . \"]\";\n" -" } elsif ($doxref) {\n" -" $blabel = \" [\" . $bibcite{$bcite} . \"]<\\/a>\";\n" -" } else {\n" -" $blabel = \" [\" . $bibcite{$bcite} . \"]\";\n" -" }\n" -" $old =~ s/(\\W)/\\\\$1/g;\n" -" s/\\s*$old/$blabel/g;\n" -" }\n" -" s/In ()([^\\[]+) \\[(\\2)/In $1\\[$2/;\n" -" s/\\\\htmladdnormallink(foot)?(\\001\\d+)\\{([^\\001]+)\\2\\}(\\001\\d+)\\{([^\\001]+)\\4\\}/$3<\\/a>/gs;\n" -" s/\\&/\\005/g;\n" -" s/\\\\?&/&/g;\n" -" s/\\005/&/g;\n" -" html_ent();\n" -" while (m/\\\\char([\\'\\\"]?[0-9a-fA-F]+)/) {\n" -" $o = $r = $1;\n" -" if ($r =~ s/^\\'//) {\n" -" $r = oct($r);\n" -" } elsif ($r =~ s/^\\\"//) {\n" -" $r = hex($r);\n" -" }\n" -" s/\\\\char$o\\s*/&#$r;/g;\n" -" }\n" -" s/{\\\\etalchar\\001(\\d+)\\{(.)}\\001\\1\\}/$2/g;\n" -" s/\\\\par\\b/

    /g;\n" -" s/\\\\url(\\001\\d+)\\{(.*)\\1\\}/$2<\\/a>/gs;\n" -" s/\\\\href(\\001\\d+)\\{(.*)\\1\\}(\\001\\d+)\\{([^\\001]*)\\3\\}/$4<\\/a>/gs;\n" -" s/\\\\href(\\001\\d+)\\{(.*)\\1\\}/$2<\\/a>/gs;\n" -" s/(\\001\\d+)\\{\\\\rm\\s+(.*)\\1\\}/$2/gs;\n" -" s/\\\\textrm(\\001\\d+)\\{(.*)\\1\\}/$2/gs;\n" -" s/(\\001\\d+)\\{\\\\em\\s+(.*)\\1\\}/$2<\\/em>/gs;\n" -" s/(\\001\\d+)\\{\\\\it\\s+(.*)\\1\\}/$2<\\/i>/gs;\n" -" s/(\\001\\d+)\\{\\\\bf\\s+(.*)\\1\\}/$2<\\/b>/gs;\n" -" s/(\\001\\d+)\\{\\\\tt\\s+(.*)\\1\\}/$2<\\/tt>/gs;\n" -" s/\\\\emph(\\001\\d+)\\{(.*)\\1\\}/$2<\\/em>/gs;\n" -" s/\\\\textit(\\001\\d+)\\{(.*)\\1\\}/$2<\\/i>/gs;\n" -" s/\\\\textbf(\\001\\d+)\\{(.*)\\1\\}/$2<\\/b>/gs;\n" -" s/\\\\texttt(\\001\\d+)\\{(.*)\\1\\}/$2<\\/tt>/gs;\n" -" s/\\\\mathrm(\\001\\d+)\\{(.*)\\1\\}/$2/gs;\n" -" s/\\\\mathnormal(\\001\\d+)\\{(.*)\\1\\}/$2/gs;\n" -" s/\\\\mathsf(\\001\\d+)\\{(.*)\\1\\}/$2/gs;\n" -" s/\\\\mathbf(\\001\\d+)\\{(.*)\\1\\}/$2<\\/b>/gs;\n" -" s/\\\\mathcal(\\001\\d+)\\{(.*)\\1\\}/$2<\\/i>/gs;\n" -" s/\\\\mathit(\\001\\d+)\\{(.*)\\1\\}/$2<\\/i>/gs;\n" -" s/\\\\mathtt(\\001\\d+)\\{(.*)\\1\\}/$2<\\/tt>/gs;\n" -" s/\\\\bibxhtmlname(\\001\\d+)\\{(.*)\\1\\}/$2/ges;\n" -" sub domath {\n" -" local($t) = @_;\n" -" $t =~ s/\\^(\\001\\d+)\\{\\\\circ\\1\\}/\\&\\#176;/gs;\n" -" $t =~ s/\\^\\\\circ/\\&\\#176;/g;\n" -" $t =~ s/\\^(\\001\\d+)\\{(.*)\\1\\}/$2<\\/sup>/gs;\n" -" $t =~ s/\\^(\\w)/$1<\\/sup>/g;\n" -" $t =~ s/\\_(\\001\\d+)\\{(.*)\\1\\}/$2<\\/sub>/gs;\n" -" $t =~ s/\\_(\\w)/$1<\\/sub>/g;\n" -" $t;\n" -" }\n" -" s/(\\$([^\\$]+)\\$)/&domath($2)/ge;\n" -" s/(\\\\\\((([^\\\\]|\\\\[^\\(\\)])+)\\\\\\))/&domath($2)/ge;\n" -" s/\\\\mbox(\\001\\d+)\\{(.*)\\1\\}/$2/gs;\n" -" while (s/(\\++;\n" -" s/\\001\\d+[\\{\\}]//gs;\n" -" tr/\\002\\003\\004/{}$/;\n" -" print HTMLFILE $_;\n" -"}\n" -"close(BBLFILE);\n" -"print HTMLFILE \"<$list_end>\\n\\n$endstring\\n\";\n" -"while () {\n" -" print HTMLFILE;\n" -"}\n" -"close (OHTMLFILE);\n" -"close(HTMLFILE);\n" -"chmod($mode, \"$htmlfile$$\");\n" -"rename(\"$htmlfile$$\", $htmlfile);\n" -"unlink(@tmpfiles);\n" -"exit(0);\n" diff --git a/src/cite.cpp b/src/cite.cpp index ca0fb1a..3e3eb43 100644 --- a/src/cite.cpp +++ b/src/cite.cpp @@ -26,11 +26,11 @@ //-------------------------------------------------------------------------- static const char *doxygen_bst = -#include "doxygen_bst.h" +#include "doxygen.bst.h" ; static const char *bib2xhtml_pl = -#include "bib2xhtml.h" +#include "bib2xhtml.pl.h" ; //-------------------------------------------------------------------------- diff --git a/src/commentscan.l b/src/commentscan.l index 51e431c..22d6444 100644 --- a/src/commentscan.l +++ b/src/commentscan.l @@ -2827,9 +2827,9 @@ bool parseCommentBlock(/* in */ ParserInterface *parser, "input=[\n%s]\n",fileName.data(),lineNr,comment.data() ); - commentScanYYrestart( commentScanYYin ); + commentscanYYrestart( commentscanYYin ); BEGIN( Comment ); - commentScanYYlex(); + commentscanYYlex(); setOutput( OutputDoc ); if (YY_START==OverloadParam) // comment ended with \overload @@ -3112,7 +3112,7 @@ static void handleGuard(const QCString &expr) #if !defined(YY_FLEX_SUBMINOR_VERSION) //---------------------------------------------------------------------------- extern "C" { // some bogus code to keep the compiler happy - void commentScanYYdummy() { yy_flex_realloc(0,0); } + void commentscanYYdummy() { yy_flex_realloc(0,0); } } #endif diff --git a/src/config.xml b/src/config.xml index 1174fab..996279c 100644 --- a/src/config.xml +++ b/src/config.xml @@ -911,7 +911,7 @@ Go to the next section or return to the If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the brief descriptions of file, namespace and class members alphabetically by member name. If set to \c NO the members will appear in - declaration order. Note the this will also influence the order of the + declaration order. Note that this will also influence the order of the classes in the class list. ]]> diff --git a/src/configoptions.cpp b/src/configoptions.cpp index d37163b..37ac26d 100644 --- a/src/configoptions.cpp +++ b/src/configoptions.cpp @@ -705,8 +705,8 @@ void addConfigOptions(Config *cfg) "SORT_BRIEF_DOCS", "If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief\n" "descriptions of file, namespace and class members alphabetically by member\n" - "name. If set to NO the members will appear in declaration order. Note the this\n" - "will also influence the order of the classes in the class list.\n" + "name. If set to NO the members will appear in declaration order. Note that\n" + "this will also influence the order of the classes in the class list.\n" "The default value is: NO.", FALSE ); diff --git a/src/constexp.h b/src/constexp.h index 60e4722..1828b0b 100644 --- a/src/constexp.h +++ b/src/constexp.h @@ -22,9 +22,9 @@ #include "cppvalue.h" #include -extern bool parseCppExpression(const char *fileName,int line,const QCString &s); -extern int cppExpYYparse(); -extern int cppExpYYdebug; +extern bool parseconstexp(const char *fileName,int line,const QCString &s); +extern int constexpYYparse(); +extern int constexpYYdebug; extern QCString g_strToken; extern CPPValue g_resultValue; extern QCString g_constExpFileName; diff --git a/src/constexp.l b/src/constexp.l index f72e99d..85ae7fd 100644 --- a/src/constexp.l +++ b/src/constexp.l @@ -103,19 +103,19 @@ CONSTSUFFIX ([uU][lL]?[lL]?)|([lL][lL]?[uU]?) %% -bool parseCppExpression(const char *fileName,int lineNr,const QCString &s) +bool parseconstexp(const char *fileName,int lineNr,const QCString &s) { //printf("Expression: `%s'\n",s.data()); g_constExpFileName = fileName; g_constExpLineNr = lineNr; g_inputString = s; g_inputPosition = 0; - cppExpYYrestart( cppExpYYin ); - cppExpYYparse(); + constexpYYrestart( constexpYYin ); + constexpYYparse(); //printf("Result: %ld\n",(long)g_resultValue); return (long)g_resultValue!=0; } extern "C" { - int cppExpYYwrap() { return 1; } + int constexpYYwrap() { return 1; } } diff --git a/src/constexp.y b/src/constexp.y index f47e7c0..421e26e 100644 --- a/src/constexp.y +++ b/src/constexp.y @@ -31,14 +31,14 @@ #include #include -int cppExpYYerror(const char *s) +int constexpYYerror(const char *s) { warn(g_constExpFileName,g_constExpLineNr, "preprocessing issue while doing constant expression evaluation: %s",s); return 0; } -int cppExpYYlex(); +int constexpYYlex(); %} diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index f869dfb..47d3b98 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -57,13 +57,13 @@ //------------------ static const char index_xsd[] = -#include "index_xsd.h" +#include "index.xsd.h" ; //------------------ // static const char compound_xsd[] = -#include "compound_xsd.h" +#include "compound.xsd.h" ; //------------------ diff --git a/src/fortrancode.l b/src/fortrancode.l index a0965d0..9ba4ba8 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -1156,9 +1156,9 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri startCodeLine(); g_parmName.resize(0); g_parmType.resize(0); - fcodeYYrestart( fcodeYYin ); + fortrancodeYYrestart( fortrancodeYYin ); BEGIN( Start ); - fcodeYYlex(); + fortrancodeYYlex(); if (g_needsTermination) { endFontClass(); @@ -1179,13 +1179,13 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri #if !defined(YY_FLEX_SUBMINOR_VERSION) extern "C" { // some bogus code to keep the compiler happy - void fcodeYYdummy() { yy_flex_realloc(0,0); } + void fortrancodeYYdummy() { yy_flex_realloc(0,0); } } #elif YY_FLEX_SUBMINOR_VERSION<33 #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!" #else extern "C" { // some bogus code to keep the compiler happy - void fcodeYYdummy() { yy_top_state(); } + void fortrancodeYYdummy() { yy_top_state(); } } #endif diff --git a/src/fortranscanner.l b/src/fortranscanner.l index 92cba53..c959fd3 100755 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -738,7 +738,7 @@ private { } {ID} { } -^{BS}"type"{BS_}"is" { } +^{BS}"type"{BS_}"is" { } } { {COMMA} {} @@ -2302,12 +2302,12 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) current = new Entry; current->lang = SrcLangExt_Fortran; - fscanYYrestart( fscanYYin ); + fortranscannerYYrestart( fortranscannerYYin ); { BEGIN( Start ); } - fscanYYlex(); + fortranscannerYYlex(); groupLeaveFile(yyFileName,yyLineNr); endScope(current_root, TRUE); // TRUE - global root @@ -2378,7 +2378,7 @@ void FortranLanguageScanner::parsePrototype(const char *text) pushBuffer(buffer); parsingPrototype = TRUE; BEGIN(Prototype); - fscanYYlex(); + fortranscannerYYlex(); parsingPrototype = FALSE; popBuffer(); } @@ -2411,7 +2411,7 @@ static void scanner_abort() #if !defined(YY_FLEX_SUBMINOR_VERSION) //---------------------------------------------------------------------------- extern "C" { // some bogus code to keep the compiler happy - void fscannerYYdummy() { yy_flex_realloc(0,0); } + void fortranscannernerYYdummy() { yy_flex_realloc(0,0); } } #endif diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 2e8acd9..11d3b1d 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -41,15 +41,15 @@ static const char navtree_script[]= -#include "navtree_js.h" +#include "navtree.js.h" ; static const char resize_script[]= -#include "resize_js.h" +#include "resize.js.h" ; static const char navtree_css[]= -#include "navtree_css.h" +#include "navtree.css.h" ; static unsigned char blank_png[352] = diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 2987e6e..8aa89be 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -47,63 +47,63 @@ #define DBG_HTML(x) static const char defaultHtmlHeader[] = -#include "header_html.h" +#include "header.html.h" ; static const char defaultHtmlFooter[] = -#include "footer_html.h" +#include "footer.html.h" ; static const char defaultStyleSheet[] = -#include "doxygen_css.h" +#include "doxygen.css.h" ; static const char search_functions_script[]= -#include "search_functions_php.h" +#include "search_functions.php.h" ; static const char search_opensearch_script[]= -#include "search_opensearch_php.h" +#include "search_opensearch.php.h" ; static const char search_styleSheet[] = -#include "search_css.h" +#include "search.css.h" ; static const char search_jquery_script1[]= -#include "jquery_p1_js.h" +#include "jquery_p1.js.h" ; static const char search_jquery_script2[]= -#include "jquery_p2_js.h" +#include "jquery_p2.js.h" ; static const char search_jquery_script3[]= -#include "jquery_p3_js.h" +#include "jquery_p3.js.h" ; static const char search_jquery_script4[]= -#include "jquery_ui_js.h" +#include "jquery_ui.js.h" ; static const char search_jquery_script5[]= -#include "jquery_fx_js.h" +#include "jquery_fx.js.h" ; static const char search_jquery_script6[]= -#include "jquery_pt_js.h" +#include "jquery_pt.js.h" ; static const char svgpan_script[]= -#include "svgpan_js.h" +#include "svgpan.js.h" ; static const char dynsections_script[]= -#include "dynsections_js.h" +#include "dynsections.js.h" ; static const char extsearch_script[]= -#include "extsearch_js.h" +#include "extsearch.js.h" ; static QCString g_header; diff --git a/src/increasebuffer.py b/src/increasebuffer.py new file mode 100755 index 0000000..e2b2d0c --- /dev/null +++ b/src/increasebuffer.py @@ -0,0 +1,7 @@ +# Since the internal token buffer of a generated flex file is hardcoded +# to 16K, this script is used to increase the buffer size of a flex +# generated scanner to 256K. +import sys +sys.stdout.write(sys.stdin.read(). + replace('YY_BUF_SIZE 16384','YY_BUF_SIZE 262144'). + replace('YY_READ_BUF_SIZE 8192','YY_READ_BUF_SIZE 262144')) diff --git a/src/lang_cfg.h b/src/lang_cfg.h index 72305af..769696c 100644 --- a/src/lang_cfg.h +++ b/src/lang_cfg.h @@ -1,40 +1,42 @@ -#define LANG_NL -#define LANG_SV +#define LANG_AM +#define LANG_AR +#define LANG_BR +#define LANG_CA +#define LANG_CN #define LANG_CZ -#define LANG_FR -#define LANG_ID -#define LANG_IT #define LANG_DE -#define LANG_JP -#define LANG_JE +#define LANG_DK +#define LANG_EN +#define LANG_EO #define LANG_ES +#define LANG_FA #define LANG_FI -#define LANG_RU +#define LANG_FR +#define LANG_GR #define LANG_HR -#define LANG_PL -#define LANG_PT #define LANG_HU -#define LANG_KR +#define LANG_ID +#define LANG_IT +#define LANG_JE +#define LANG_JP #define LANG_KE +#define LANG_KR +#define LANG_LT +#define LANG_LV +#define LANG_MK +#define LANG_NL +#define LANG_NO +#define LANG_PL +#define LANG_PT #define LANG_RO +#define LANG_RU +#define LANG_SC #define LANG_SI -#define LANG_CN -#define LANG_NO -#define LANG_MK -#define LANG_BR -#define LANG_DK #define LANG_SK -#define LANG_UA -#define LANG_GR -#define LANG_TW #define LANG_SR -#define LANG_CA -#define LANG_LT -#define LANG_ZA -#define LANG_AR -#define LANG_FA -#define LANG_SC -#define LANG_VI +#define LANG_SV #define LANG_TR -#define LANG_EO -#define LANG_AM +#define LANG_TW +#define LANG_UA +#define LANG_VI +#define LANG_ZA diff --git a/src/layout.cpp b/src/layout.cpp index 010c850..bc00745 100644 --- a/src/layout.cpp +++ b/src/layout.cpp @@ -33,7 +33,7 @@ #include static const char layout_default[] = -#include "layout_default.h" +#include "layout_default.xml.h" ; #define ADD_OPTION(langId,text) "|"+QCString().setNum(langId)+"="+text diff --git a/src/libdoxycfg.t.in b/src/libdoxycfg.t.in index 270d090..3a2ce0a 100644 --- a/src/libdoxycfg.t.in +++ b/src/libdoxycfg.t.in @@ -18,6 +18,7 @@ LEX = %%FLEX%% YACC = %%BISON%% +PYTHON = %%PYTHON%% #${ sub GenerateDep { @@ -48,5 +49,5 @@ sub GenerateDep { $(LEX) -PconfigYY -t config.l >config.cpp configoptions.cpp: config.xml configgen.py - python configgen.py -cpp config.xml >configoptions.cpp + $(PYTHON) configgen.py -cpp config.xml >configoptions.cpp diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index c4e79da..4879d07 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -17,6 +17,7 @@ TEMPLATE = libdoxygen.t CONFIG = console warn_on staticlib $extraopts HEADERS = arguments.h \ + bib2xhtml.pl.h \ bufstr.h \ cite.h \ clangparser.h \ @@ -26,7 +27,7 @@ HEADERS = arguments.h \ code.h \ commentcnv.h \ commentscan.h \ - compound_xsd.h \ + compound.xsd.h \ condparser.h \ config.h \ constexp.h \ @@ -45,20 +46,20 @@ HEADERS = arguments.h \ docvisitor.h \ dot.h \ doxygen.h \ - doxygen_bst.h \ - doxygen_css.h \ - doxygen_sty.h \ + doxygen.bst.h \ + doxygen.css.h \ + doxygen.sty.h \ eclipsehelp.h \ entry.h \ example.h \ filedef.h \ filename.h \ - footer_html.h \ + footer.html.h \ formula.h \ ftextstream.h \ ftvhelp.h \ groupdef.h \ - header_html.h \ + header.html.h \ htags.h \ htmlattrib.h \ htmldocvisitor.h \ @@ -66,20 +67,20 @@ HEADERS = arguments.h \ htmlhelp.h \ image.h \ index.h \ - index_xsd.h \ - jquery_p1_js.h \ - jquery_p2_js.h \ - jquery_p3_js.h \ - jquery_ui_js.h \ - jquery_fx_js.h \ - jquery_pt_js.h \ - svgpan_js.h \ - dynsections_js.h \ + index.xsd.h \ + jquery_p1.js.h \ + jquery_p2.js.h \ + jquery_p3.js.h \ + jquery_ui.js.h \ + jquery_fx.js.h \ + jquery_pt.js.h \ + svgpan.js.h \ + dynsections.js.h \ language.h \ latexdocvisitor.h \ latexgen.h \ layout.h \ - layout_default.h \ + layout_default.xml.h \ logos.h \ mandocvisitor.h \ mangen.h \ @@ -93,8 +94,8 @@ HEADERS = arguments.h \ message.h \ msc.h \ namespacedef.h \ - navtree_css.h \ - navtree_js.h \ + navtree.css.h \ + navtree.js.h \ objcache.h \ outputgen.h \ outputlist.h \ @@ -111,17 +112,17 @@ HEADERS = arguments.h \ qhp.h \ qhpxmlwriter.h \ reflist.h \ - resize_js.h \ + resize.js.h \ rtfdocvisitor.h \ rtfgen.h \ rtfstyle.h \ scanner.h \ searchindex.h \ - search_css.h \ - search_js.h \ - extsearch_js.h \ - search_functions_php.h \ - search_opensearch_php.h \ + search.css.h \ + search.js.h \ + extsearch.js.h \ + search_functions.php.h \ + search_opensearch.php.h \ section.h \ sortdict.h \ store.h \ @@ -131,41 +132,6 @@ HEADERS = arguments.h \ tooltip.h \ translator.h \ translator_adapter.h \ - translator_am.h \ - translator_br.h \ - translator_ca.h \ - translator_cn.h \ - translator_cz.h \ - translator_de.h \ - translator_dk.h \ - translator_en.h \ - translator_es.h \ - translator_fi.h \ - translator_fr.h \ - translator_gr.h \ - translator_hr.h \ - translator_hu.h \ - translator_id.h \ - translator_it.h \ - translator_je.h \ - translator_jp.h \ - translator_ke.h \ - translator_kr.h \ - translator_nl.h \ - translator_no.h \ - translator_mk.h \ - translator_pl.h \ - translator_pt.h \ - translator_ro.h \ - translator_ru.h \ - translator_se.h \ - translator_si.h \ - translator_sk.h \ - translator_sr.h \ - translator_tw.h \ - translator_ua.h \ - translator_vi.h \ - translator_za.h \ types.h \ unistd.h \ util.h \ @@ -179,7 +145,7 @@ HEADERS = arguments.h \ docbookgen.h SOURCES = arguments.cpp \ - ce_lex.cpp \ + constexp.cpp \ ce_parse.cpp \ cite.cpp \ clangparser.cpp \ diff --git a/src/libdoxygen.t.in b/src/libdoxygen.t.in index 959fd69..d16c8e9 100644 --- a/src/libdoxygen.t.in +++ b/src/libdoxygen.t.in @@ -18,7 +18,9 @@ LEX = %%FLEX%% YACC = %%BISON%% -INCBUFSIZE = $(PERL) increasebuffer.pl +PYTHON = %%PYTHON%% +PERL = %%PERL%% +INCBUFSIZE = $(PYTHON) increasebuffer.py #${ sub GenerateDep { @@ -46,150 +48,161 @@ sub GenerateDep { #################### #$ GenerateDep("scanner.cpp","scanner.l"); - $(LEX) -PscanYY -t scanner.l | $(INCBUFSIZE) >scanner.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("code.cpp","code.l"); - $(LEX) -PcodeYY -t code.l | $(INCBUFSIZE) >code.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("pyscanner.cpp","pyscanner.l"); - $(LEX) -PpyscanYY -t pyscanner.l | $(INCBUFSIZE) >pyscanner.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("pycode.cpp","pycode.l"); - $(LEX) -PpycodeYY -t pycode.l | $(INCBUFSIZE) >pycode.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("fortranscanner.cpp","fortranscanner.l"); - $(LEX) -i -PfscanYY -t fortranscanner.l | $(INCBUFSIZE) >fortranscanner.cpp + $(LEX) -i -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("fortrancode.cpp","fortrancode.l"); - $(LEX) -i -PfcodeYY -t fortrancode.l | $(INCBUFSIZE) >fortrancode.cpp + $(LEX) -i -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("vhdlcode.cpp","vhdlcode.l"); - $(LEX) -i -PvhdlcodeYY -t vhdlcode.l | $(INCBUFSIZE) >vhdlcode.cpp + $(LEX) -i -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("tclscanner.cpp","tclscanner.l"); - $(LEX) -i -PtclscanYY -t tclscanner.l | $(INCBUFSIZE) >tclscanner.cpp + $(LEX) -i -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("pre.cpp","pre.l"); - $(LEX) -PpreYY -t pre.l | $(INCBUFSIZE) >pre.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("declinfo.cpp","declinfo.l"); - $(LEX) -PdeclinfoYY -t declinfo.l | $(INCBUFSIZE) >declinfo.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("defargs.cpp","defargs.l"); - $(LEX) -PdefargsYY -t defargs.l | $(INCBUFSIZE) >defargs.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("doctokenizer.cpp","doctokenizer.l"); - $(LEX) -PdoctokenizerYY -t doctokenizer.l | $(INCBUFSIZE) >doctokenizer.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("commentcnv.cpp","commentcnv.l"); - $(LEX) -PcommentcnvYY -t commentcnv.l | $(INCBUFSIZE) >commentcnv.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("commentscan.cpp","commentscan.l"); - $(LEX) -PcommentScanYY -t commentscan.l | $(INCBUFSIZE) >commentscan.cpp + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp -#$ GenerateDep("ce_lex.cpp","constexp.l","ce_parse.h"); - $(LEX) -PcppExpYY -t constexp.l | $(INCBUFSIZE) >ce_lex.cpp +#$ GenerateDep("constexp.cpp","constexp.l","ce_parse.h"); + $(LEX) -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("ce_parse.cpp","constexp.y"); - $(YACC) -l -p cppExpYY constexp.y -o ce_parse.cpp + $(YACC) -l -p constexpYY constexp.y -o ce_parse.cpp #$ GenerateDep("ce_parse.h","constexp.y"); - $(YACC) -l -d -p cppExpYY constexp.y -o ce_parse.c + $(YACC) -l -d -p ce_parsexpYY constexp.y -o ce_parse.c -rm ce_parse.c #$ GenerateDep("vhdlscanner.cpp","vhdlscanner.l","vhdlparser.h"); - $(LEX) -i -PvhdlScanYY -t vhdlscanner.l | $(INCBUFSIZE) >vhdlscanner.cpp + $(LEX) -i -P$*YY -t $*.l | $(INCBUFSIZE) >$*.cpp #$ GenerateDep("vhdlparser.cpp","vhdlparser.y"); - $(YACC) -l -p vhdlScanYY vhdlparser.y -o vhdlparser.cpp + $(YACC) -l -p vhdlscannerYY vhdlparser.y -o vhdlparser.cpp #$ GenerateDep("vhdlparser.h","vhdlparser.y"); - $(YACC) -l -d -p vhdlScanYY vhdlparser.y -o vhdlparser.c + $(YACC) -l -d -p vhdlscannerYY vhdlparser.y -o vhdlparser.c -rm vhdlparser.c -#$ GenerateDep("layout.cpp","layout_default.h"); +#$ GenerateDep("layout.cpp","layout_default.xml.h"); -TO_C_CMD=sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" -e "s/^/\"/g" -e "s/$$/\\\\n\"/g" +TO_C_CMD=$(PYTHON) to_c_cmd.py < $< > $@ -index_xsd.h: index.xsd - cat index.xsd | $(TO_C_CMD) >index_xsd.h +cite.cpp: doxygen.bst.h bib2xhtml.pl.h -compound_xsd.h: compound.xsd - cat compound.xsd | $(TO_C_CMD) >compound_xsd.h +ftvhelp.cpp: navtree.js.h resize.js.h navtree.css.h -layout_default.h: layout_default.xml - cat layout_default.xml | $(TO_C_CMD) >layout_default.h +htmlgen.cpp: header.html.h footer.html.h doxygen.css.h search_functions.php.h \ + search_opensearch.php.h search.css.h jquery_p1.js.h jquery_p2.js.h \ + jquery_p3.js.h jquery_ui.js.h jquery_fx.js.h jquery_pt.js.h \ + svgpan.js.h dynsections.js.h extsearch.js.h -header_html.h: header.html - cat header.html | $(TO_C_CMD) >header_html.h +layout.cpp: layout_default.xml.h -footer_html.h: footer.html - cat footer.html | $(TO_C_CMD) >footer_html.h +xmlgen.cpp: index.xsd.h compound.xsd.h -search_functions_php.h: search_functions.php - cat search_functions.php | $(TO_C_CMD) >search_functions_php.h +searchindex.cpp: search.js.h -search_opensearch_php.h: search_opensearch.php - cat search_opensearch.php | $(TO_C_CMD) >search_opensearch_php.h +index.xsd.h: index.xsd + $(TO_C_CMD) -search_js.h: search.js - cat search.js | $(TO_C_CMD) >search_js.h +compound.xsd.h: compound.xsd + $(TO_C_CMD) -search_css.h: search.css - cat search.css | $(TO_C_CMD) >search_css.h +layout_default.xml.h: layout_default.xml + $(TO_C_CMD) -extsearch_js.h: extsearch.js - cat extsearch.js | $(TO_C_CMD) >extsearch_js.h +header.html.h: header.html + $(TO_C_CMD) -doxygen_css.h: doxygen.css - cat doxygen.css | $(TO_C_CMD) >doxygen_css.h +footer.html.h: footer.html + $(TO_C_CMD) -doxygen_sty.h: doxygen.sty - cat doxygen.sty | $(TO_C_CMD) >doxygen_sty.h +search_functions.php.h: search_functions.php + $(TO_C_CMD) -navtree_js.h: navtree.js - cat navtree.js | $(TO_C_CMD) >navtree_js.h +search_opensearch.php.h: search_opensearch.php + $(TO_C_CMD) -navindex_js.h: navindex.js - cat navindex.js | $(TO_C_CMD) >navindex_js.h +search.js.h: search.js + $(TO_C_CMD) -resize_js.h: resize.js - cat resize.js | $(TO_C_CMD) >resize_js.h +search.css.h: search.css + $(TO_C_CMD) -jquery_p1_js.h: jquery_p1.js - cat jquery_p1.js | $(TO_C_CMD) >jquery_p1_js.h +extsearch.js.h: extsearch.js + $(TO_C_CMD) -jquery_p2_js.h: jquery_p2.js - cat jquery_p2.js | $(TO_C_CMD) >jquery_p2_js.h +doxygen.css.h: doxygen.css + $(TO_C_CMD) -jquery_p3_js.h: jquery_p3.js - cat jquery_p3.js | $(TO_C_CMD) >jquery_p3_js.h +doxygen.sty.h: doxygen.sty + $(TO_C_CMD) -jquery_p4_js.h: jquery_p4.js - cat jquery_p4.js | $(TO_C_CMD) >jquery_p4_js.h -jquery_ui_js.h: jquery_ui.js - cat jquery_ui.js | $(TO_C_CMD) >jquery_ui_js.h +navtree.js.h: navtree.js + $(TO_C_CMD) -jquery_fx_js.h: jquery_fx.js - cat jquery_fx.js | $(TO_C_CMD) >jquery_fx_js.h +resize.js.h: resize.js + $(TO_C_CMD) -jquery_pt_js.h: jquery_pt.js - cat jquery_pt.js | $(TO_C_CMD) >jquery_pt_js.h +jquery_p1.js.h: jquery_p1.js + $(TO_C_CMD) -navtree_css.h: navtree.css - cat navtree.css | $(TO_C_CMD) >navtree_css.h +jquery_p2.js.h: jquery_p2.js + $(TO_C_CMD) -svgpan_js.h: svgpan.js - cat svgpan.js | $(TO_C_CMD) >svgpan_js.h +jquery_p3.js.h: jquery_p3.js + $(TO_C_CMD) -dynsections_js.h: dynsections.js - cat dynsections.js | $(TO_C_CMD) >dynsections_js.h +jquery_ui.js.h: jquery_ui.js + $(TO_C_CMD) -doxygen_bst.h: doxygen.bst - cat doxygen.bst | $(TO_C_CMD) >doxygen_bst.h +jquery_fx.js.h: jquery_fx.js + $(TO_C_CMD) -bib2xhtml.h: bib2xhtml.pl - cat bib2xhtml.pl | $(TO_C_CMD) >bib2xhtml.h +jquery_pt.js.h: jquery_pt.js + $(TO_C_CMD) +navtree.css.h: navtree.css + $(TO_C_CMD) +svgpan.js.h: svgpan.js + $(TO_C_CMD) + +dynsections.js.h: dynsections.js + $(TO_C_CMD) + +doxygen.bst.h: doxygen.bst + $(TO_C_CMD) + +bib2xhtml.pl.h: bib2xhtml.pl + $(TO_C_CMD) + +version.cpp: ../configure + $(PYTHON) version.py diff --git a/src/pre.l b/src/pre.l index 2b217b3..822eb65 100644 --- a/src/pre.l +++ b/src/pre.l @@ -1337,7 +1337,7 @@ bool computeExpression(const QCString &expr) e = removeIdsAndMarkers(e); if (e.isEmpty()) return FALSE; //printf("parsing `%s'\n",e.data()); - return parseCppExpression(g_yyFileName,g_yyLineNr,e); + return parseconstexp(g_yyFileName,g_yyLineNr,e); } /*! expands the macro definition in \a name diff --git a/src/pyscanner.l b/src/pyscanner.l index b156097..c113b58 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -1510,7 +1510,7 @@ static void parseCompounds(Entry *rt) // init scanner state inputString = ce->program; inputPosition = 0; - pyscanYYrestart( pyscanYYin ) ; + pyscannerYYrestart( pyscannerYYin ) ; if (ce->section&Entry::COMPOUND_MASK) { current_root = ce ; @@ -1531,7 +1531,7 @@ static void parseCompounds(Entry *rt) groupEnterCompound(yyFileName,yyLineNr,ce->name); - pyscanYYlex() ; + pyscannerYYlex() ; g_lexInit=TRUE; delete current; current=0; ce->program.resize(0); @@ -1600,9 +1600,9 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) current->reset(); initEntry(); - pyscanYYrestart( pyscanYYin ); + pyscannerYYrestart( pyscannerYYin ); BEGIN( Search ); - pyscanYYlex(); + pyscannerYYlex(); g_lexInit=TRUE; groupLeaveFile(yyFileName,yyLineNr); @@ -1637,18 +1637,18 @@ static void parsePrototype(const QCString &text) // save scanner state orgState = YY_CURRENT_BUFFER; - yy_switch_to_buffer(yy_create_buffer(pyscanYYin, YY_BUF_SIZE)); + yy_switch_to_buffer(yy_create_buffer(pyscannerYYin, YY_BUF_SIZE)); orgInputString = inputString; orgInputPosition = inputPosition; // set new string inputString = text; inputPosition = 0; - pyscanYYrestart( pyscanYYin ); + pyscannerYYrestart( pyscannerYYin ); BEGIN( FunctionDec ); - pyscanYYlex(); + pyscannerYYlex(); g_lexInit=TRUE; current->name = current->name.stripWhiteSpace(); @@ -1672,7 +1672,7 @@ void pyscanFreeScanner() #if defined(YY_FLEX_SUBMINOR_VERSION) if (g_lexInit) { - pyscanYYlex_destroy(); + pyscannerYYlex_destroy(); } #endif } diff --git a/src/scanner.l b/src/scanner.l index 2e76c51..5a1f306 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -6630,7 +6630,7 @@ static void parseCompounds(Entry *rt) g_column=0; inputString = ce->program; inputPosition = 0; - scanYYrestart( scanYYin ) ; + scannerYYrestart( scannerYYin ) ; if (ce->section==Entry::ENUM_SEC || (ce->spec&Entry::Enum)) BEGIN( FindFields ) ; else @@ -6700,7 +6700,7 @@ static void parseCompounds(Entry *rt) //memberGroupInside.resize(0); groupEnterCompound(yyFileName,yyLineNr,ce->name); - scanYYlex() ; + scannerYYlex() ; g_lexInit=TRUE; //forceEndGroup(); @@ -6777,7 +6777,7 @@ static void parseMain(const char *fileName, } current->reset(); initEntry(); - scanYYrestart( scanYYin ); + scannerYYrestart( scannerYYin ); if ( insidePHP ) { BEGIN( FindMembersPHP ); @@ -6787,7 +6787,7 @@ static void parseMain(const char *fileName, BEGIN( FindMembers ); } - scanYYlex(); + scannerYYlex(); g_lexInit=TRUE; if (YY_START==Comment) @@ -6841,7 +6841,7 @@ static void parsePrototype(const QCString &text) // save scanner state orgState = YY_CURRENT_BUFFER; - yy_switch_to_buffer(yy_create_buffer(scanYYin, YY_BUF_SIZE)); + yy_switch_to_buffer(yy_create_buffer(scannerYYin, YY_BUF_SIZE)); orgInputString = inputString; orgInputPosition = inputPosition; @@ -6849,9 +6849,9 @@ static void parsePrototype(const QCString &text) inputString = text; inputPosition = 0; g_column = 0; - scanYYrestart( scanYYin ); + scannerYYrestart( scannerYYin ); BEGIN(Prototype); - scanYYlex(); + scannerYYlex(); g_lexInit=TRUE; current->name = current->name.stripWhiteSpace(); @@ -6873,7 +6873,7 @@ void scanFreeScanner() #if defined(YY_FLEX_SUBMINOR_VERSION) if (g_lexInit) { - scanYYlex_destroy(); + scannerYYlex_destroy(); } #endif } diff --git a/src/searchindex.cpp b/src/searchindex.cpp index d2f49ad..f023e4d 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -584,7 +584,7 @@ void SearchIndexExternal::write(const char *fileName) #include "message.h" static const char search_script[]= -#include "search_js.h" +#include "search.js.h" ; #define SEARCH_INDEX_ALL 0 diff --git a/src/settings.py b/src/settings.py new file mode 100755 index 0000000..af24e7b --- /dev/null +++ b/src/settings.py @@ -0,0 +1,28 @@ +# + +import sys + +f_sqlite3 = sys.argv[1] +f_libclang = sys.argv[2] + +f1 = open('../src/settings.h','w') +f1.write("#ifndef SETTINGS_H\n") +f1.write("#define SETTINGS_H\n") +f1.write("\n") +if (f_sqlite3 != "NO"): + f1.write("#define USE_SQLITE3 1\n") +else: + f1.write("#define USE_SQLITE3 0\n") + +if (f_libclang != "NO"): + f1.write("#define USE_LIBCLANG 1\n") +else: + f1.write("#define USE_LIBCLANG 0\n") + +f1.write("\n") +f1.write("#define IS_SUPPORTED(x) \\\n") +f1.write(" ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\\n") +f1.write(" (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\\n") +f1.write(" 0)\n") +f1.write("\n") +f1.write("#endif\n") diff --git a/src/tclscanner.l b/src/tclscanner.l index 7f160e6..5bbb396 100644 --- a/src/tclscanner.l +++ b/src/tclscanner.l @@ -2503,7 +2503,7 @@ static void tcl_parse(const QCString ns, const QCString cls) tcl.ns.insert("::",myEntry); tcl.entry_current = tcl_entry_new(); - tclscanYYrestart( tclscanYYin ); + tclscannerYYrestart( tclscannerYYin ); BEGIN( TOP ); yylineno=1; myScan = new tcl_scan; @@ -2518,7 +2518,7 @@ static void tcl_parse(const QCString ns, const QCString cls) tcl.entry_inside = tcl.entry_file; myScan->entry_scan = tcl.entry_inside; tcl.scan.insert(0,myScan); - tclscanYYlex(); + tclscannerYYlex(); tcl.scan.clear(); tcl.ns.clear(); tcl.cl.clear(); diff --git a/src/to_c_cmd.py b/src/to_c_cmd.py new file mode 100755 index 0000000..52785f1 --- /dev/null +++ b/src/to_c_cmd.py @@ -0,0 +1,8 @@ +# place " at begin of each line +# escape existing '\' and '"' +# remove \n at the end of the line (sometimes the last line does not have a \n +# so we cannot do a replacement with some other text) +# place an escaped \n and " at the end of each line +import sys +for line in sys.stdin: + sys.stdout.write('"' + line.replace('\\','\\\\').replace('"','\\"').replace('\n','') + '\\n"\n') diff --git a/src/translator_lv.h b/src/translator_lv.h index 4460946..054310c 100644 --- a/src/translator_lv.h +++ b/src/translator_lv.h @@ -48,7 +48,7 @@ * Last Doxygen version covered : 1.8.2 */ -class TranslatorLatvian : public Translator +class TranslatorLatvian : public TranslatorAdapter_1_8_4 { public: @@ -602,6 +602,7 @@ class TranslatorLatvian : public Translator case ClassDef::Protocol: result+=" protokola"; break; case ClassDef::Category: result+=" kategorijas"; break; case ClassDef::Exception: result+=" izņēmuma"; break; + default: break; } if (isTemplate) result+=" veidnes"; result+=" apraksts"; @@ -760,6 +761,7 @@ class TranslatorLatvian : public Translator case ClassDef::Protocol: result+=" protokola"; break; case ClassDef::Category: result+="s kategorijas"; break; case ClassDef::Exception: result+=" izņēmuma"; break; + default: break; } result+=" dokumentācijas tika ģenerēta no šāda fail"; if (single) result+="a:"; else result+="iem:"; @@ -1636,6 +1638,7 @@ class TranslatorLatvian : public Translator case ClassDef::Protocol: result+=" protokola"; break; case ClassDef::Category: result+=" kategorijas"; break; case ClassDef::Exception: result+=" izņēmuma"; break; + default: break; } if (isTemplate) result+=" sagataves"; result+=" atsauce"; @@ -1704,6 +1707,7 @@ class TranslatorLatvian : public Translator case ClassDef::Protocol: result+="im protokolam"; break; case ClassDef::Category: result+="ai kategorijai"; break; case ClassDef::Exception: result+="im izņēmumam"; break; + default: break; } result+=" tika ģenerēta no fail"; if (single) result+="a:"; else result+="iem:"; diff --git a/src/version.py b/src/version.py new file mode 100755 index 0000000..c53303d --- /dev/null +++ b/src/version.py @@ -0,0 +1,57 @@ +# + +# script to read the version information from `../configure` +# relevant lines are starting with: +# `doxygen_version_major` +# `doxygen_version_minor` +# `doxygen_version_revision` +# `doxygen_version_mmn` +# the collected information is written to: `../VERSION` and `../src/version.cpp` +# +import sys +# +# set 'default' values +# +major = 0 +minor = 0 +revision = 0 +mnt = 'NO' +# +# open input file +# read file and get relevant information +# close +# +f = open('../configure', 'r') +for line in f: + # check if line can match (saves 3 comparisons) + if (line.startswith('doxygen_version')): + if (line.startswith('doxygen_version_major')): + major = line.replace('doxygen_version_major=','') + elif (line.startswith('doxygen_version_minor')): + minor = line.replace('doxygen_version_minor=','') + elif (line.startswith('doxygen_version_revision')): + revision = line.replace('doxygen_version_revision=','') + elif (line.startswith('doxygen_version_mmn')): + mnt = line.replace('doxygen_version_mmn=','') +f.close() + +# strip superfluous '\n` +major = major.replace('\n','') +minor = minor.replace('\n','') +revision = revision.replace('\n','') +mnt = mnt.replace('\n','') +# +# open output files +# write relevant infomation +# close files +# +f1 = open('../VERSION','w') +f2 = open('../src/version.cpp','w') +if (mnt == 'NO'): + f1.write(major + '.' + minor + '.' + revision) + f2.write('char versionString[]="' + major + '.' + minor + '.' + revision + '";') +else: + f1.write(major + '.' + minor + '.' + revision + '-' + mnt) + f2.write('char versionString[]="' + major + '.' + minor + '.' + revision + '-' + mnt + '";') +f1.close() +f2.close() diff --git a/src/vhdlparser.y b/src/vhdlparser.y index 4e53193..4e4e675 100644 --- a/src/vhdlparser.y +++ b/src/vhdlparser.y @@ -121,8 +121,8 @@ static int parse_sec=0; //---------------------------- functions -------------------------------------------------------------------------------- -int vhdlScanYYlex (); -void vhdlScanYYerror (char const *); +int vhdlscannerYYlex (); +void vhdlscannerYYerror (char const *); static void addVhdlType(const QCString &name,int startLine, int section,uint64 spec, @@ -2266,9 +2266,9 @@ tool_directive: t_ToolDir %% extern FILE* yyout; -extern YYSTYPE vhdlScanYYlval; +extern YYSTYPE vhdlscannerYYlval; -void vhdlScanYYerror(const char* /*str*/) +void vhdlscannerYYerror(const char* /*str*/) { // fprintf(stderr,"\n<---error at line %d : [ %s] in file : %s ---->",s_str.yyLineNr,s_str.qstr.data(),s_str.fileName); // exit(0); @@ -2276,7 +2276,7 @@ void vhdlScanYYerror(const char* /*str*/) void vhdlParse() { - vhdlScanYYparse(); + vhdlscannerYYparse(); } struct VhdlContainer* getVhdlCont() diff --git a/src/vhdlscanner.l b/src/vhdlscanner.l index 6244f5a..e24fd6c 100644 --- a/src/vhdlscanner.l +++ b/src/vhdlscanner.l @@ -112,7 +112,7 @@ static struct } str_doc; #define YY_NEVER_INTERACTIVE 1 -#define YY_USER_ACTION num_chars += (int)vhdlScanYYleng; +#define YY_USER_ACTION num_chars += (int)vhdlscannerYYleng; #define MAX_KEYWORD_LEN 20 @@ -280,7 +280,7 @@ static int find_keyword(char *s) // update current line static void lineCount() { - for (const char* c=vhdlScanYYtext ; *c ; ++c ) + for (const char* c=vhdlscannerYYtext ; *c ; ++c ) { yyLineNr += (*c == '\n') ; } @@ -344,10 +344,10 @@ static bool isConstraintFile(const QCString &fileName,const QCString &ext) //static void resetScanner(const char* s,MyParserVhdl* parse); #undef YY_INPUT -#define YY_INPUT(buf,result,max_size) result=vhdlScanYYread(buf,max_size); +#define YY_INPUT(buf,result,max_size) result=vhdlscannerYYread(buf,max_size); -static int vhdlScanYYread(char *buf,int max_size) +static int vhdlscannerYYread(char *buf,int max_size) { int c=0; while ( c < max_size && inputVhdlString.at(inputPosition) ) @@ -437,14 +437,14 @@ BR [ \t\n\r] {letter}(_?{letter_or_digit})*|{extended_character} { - int itoken=find_keyword(vhdlScanYYtext); + int itoken=find_keyword(vhdlscannerYYtext); - // fprintf(stderr,"\n <<<< search tok: %s %d %d>>>\n",vhdlScanYYtext,itoken,yyLineNr); + // fprintf(stderr,"\n <<<< search tok: %s %d %d>>>\n",vhdlscannerYYtext,itoken,yyLineNr); // tokens in vhdlparser.hpp 258..412 if (itoken>200 && itoken<500 && prevToken!=t_END) { - // printf("\n <<<< insert tok: %s %d %d>>>\n",vhdlScanYYtext,itoken,yyLineNr); + // printf("\n <<<< insert tok: %s %d %d>>>\n",vhdlscannerYYtext,itoken,yyLineNr); lineIndex[itoken]=yyLineNr; } @@ -462,7 +462,7 @@ BR [ \t\n\r] prevToken=itoken; - yycont->qstr=vhdlScanYYtext; + yycont->qstr=vhdlscannerYYtext; yycont->yyLineNr=yyLineNr; if (itoken== -1) { @@ -476,13 +476,13 @@ BR [ \t\n\r] } ({decimal_literal})|({base}#{based_integer}(\.{based_integer})?#({exponent})?)|({base}:{based_integer}(\.{based_integer})?:({exponent})?) { - yycont->qstr=vhdlScanYYtext; + yycont->qstr=vhdlscannerYYtext; return ( t_ABSTRLIST ); } '({graphic_character}|\"|\%)' { - QCString q(vhdlScanYYtext); - yycont->qstr=vhdlScanYYtext; + QCString q(vhdlscannerYYtext); + yycont->qstr=vhdlscannerYYtext; if (q=="'('") // std_logic'('1') ? { @@ -502,19 +502,19 @@ BR [ \t\n\r] } (\"({graphic_character}|(\"\")|\%)*\")|(\%({graphic_character}|(\%\%)|\")*\%) { - yycont->qstr=vhdlScanYYtext; + yycont->qstr=vhdlscannerYYtext; yycont->iLine=yyLineNr; return ( t_STRING ); } {base_specifier}(\"{extended_digit}(_?{extended_digit})*\"|\%{extended_digit}(_?{extended_digit})*\%) { - yycont->qstr=vhdlScanYYtext; + yycont->qstr=vhdlscannerYYtext; yycont->iLine=yyLineNr; return ( t_DIGIT ); } {vhdl2008tooldir} { - yycont->qstr=vhdlScanYYtext; + yycont->qstr=vhdlscannerYYtext; yycont->iLine=yyLineNr; return(t_ToolDir); } @@ -526,7 +526,7 @@ BR [ \t\n\r] <*>"--"[^\n]* { /* comment */ - QCString qcs(vhdlScanYYtext); + QCString qcs(vhdlscannerYYtext); // vhdl comment ? if (qcs.stripPrefix("--!")) { @@ -545,7 +545,7 @@ BR [ \t\n\r] <*>{BR}*"--!"[^{}\n]*[^\n]*\n/{B}*"--!" { // multi line comment if (iDocLine==-1) iDocLine=yyLineNr; - QCString qc(vhdlScanYYtext); + QCString qc(vhdlscannerYYtext); int len=qc.contains('\n')+yyLineNr-1; if (YY_START!=Comment) // Start of the comment block { @@ -555,7 +555,7 @@ BR [ \t\n\r] if(!checkMultiComment(qc,len)) { - strComment+=vhdlScanYYtext; + strComment+=vhdlscannerYYtext; } lineCount(); BEGIN(Comment); @@ -563,7 +563,7 @@ BR [ \t\n\r] ^{B}*"--!"[^\n]* { if (iDocLine==-1) iDocLine=yyLineNr; - strComment+=vhdlScanYYtext; + strComment+=vhdlscannerYYtext; int index=strComment.find("\\code"); if (index>0) { @@ -591,14 +591,14 @@ BR [ \t\n\r] handleCommentBlock(strComment,FALSE); } strComment.resize(0);; - unput(*vhdlScanYYtext); + unput(*vhdlscannerYYtext); doxComment=FALSE; BEGIN(g_lastCommentContext); } <*>"--!"[^\n]* { // one line comment if (iDocLine==-1) iDocLine=yyLineNr; - QCString qcs(vhdlScanYYtext); + QCString qcs(vhdlscannerYYtext); bool isEndCode=qcs.contains("\\endcode"); @@ -630,7 +630,7 @@ BR [ \t\n\r] } <*>"/*" { - strComment+=vhdlScanYYtext; + strComment+=vhdlscannerYYtext; if (yy_hold_char=='!') // found comment starting with "/*!" { doxComment=TRUE; @@ -639,7 +639,7 @@ BR [ \t\n\r] } [^*]*[*]+ { - QCString tt(vhdlScanYYtext); + QCString tt(vhdlscannerYYtext); int len=tt.length(); yyLineNr+=tt.contains('\n'); @@ -712,7 +712,7 @@ void vhdlscanFreeScanner() #if defined(YY_FLEX_SUBMINOR_VERSION) if (g_lexInit) { - vhdlScanYYlex_destroy(); + vhdlscannerYYlex_destroy(); } #endif } @@ -735,7 +735,7 @@ void VHDLLanguageScanner::parsePrototype(const char *text) // do parsing //int VhdlParser::doLex() //{ -// int token=vhdlScanYYlex(); +// int token=vhdlscannerYYlex(); // //fprintf(stderr,"\ntoken: %d at line: %d",token,yyLineNr); // return token; //} @@ -775,7 +775,7 @@ void VHDLLanguageScanner::parseInput(const char *fileName, inputFile.setName(fileName); if (g_lexInit) { - vhdlScanYYrestart( vhdlScanYYin ); + vhdlscannerYYrestart( vhdlscannerYYin ); } g_lexInit=TRUE; g_thisParser=this; diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 9caa935..570901f 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -56,13 +56,13 @@ //------------------ static const char index_xsd[] = -#include "index_xsd.h" +#include "index.xsd.h" ; //------------------ // static const char compound_xsd[] = -#include "compound_xsd.h" +#include "compound.xsd.h" ; //------------------ diff --git a/tmake/lib/unix/generic.t b/tmake/lib/unix/generic.t index 04f7b97..2852b36 100644 --- a/tmake/lib/unix/generic.t +++ b/tmake/lib/unix/generic.t @@ -213,7 +213,7 @@ TARGET1 = #$ Expand("TARGET_x"); #$ Project("TMAKE_APP_FLAG") || DisableOutput(); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) #$ Project("TMAKE_APP_FLAG") || EnableOutput(); #$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); diff --git a/tmake/lib/win32-borland/generic.t b/tmake/lib/win32-borland/generic.t index 0cf8711..aa7f53b 100644 --- a/tmake/lib/win32-borland/generic.t +++ b/tmake/lib/win32-borland/generic.t @@ -192,7 +192,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(LINK) @&&| $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),,$(LIBS) diff --git a/tmake/lib/win32-g++/generic.t b/tmake/lib/win32-g++/generic.t index edc7a47..5f6289f 100644 --- a/tmake/lib/win32-g++/generic.t +++ b/tmake/lib/win32-g++/generic.t @@ -203,7 +203,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) #$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); diff --git a/tmake/lib/win32-mingw/generic.t b/tmake/lib/win32-mingw/generic.t index 4d333c1..ba8e762 100644 --- a/tmake/lib/win32-mingw/generic.t +++ b/tmake/lib/win32-mingw/generic.t @@ -203,7 +203,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) #$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); diff --git a/tmake/lib/win32-msvc/generic.t b/tmake/lib/win32-msvc/generic.t index 388db4b..3344236 100644 --- a/tmake/lib/win32-msvc/generic.t +++ b/tmake/lib/win32-msvc/generic.t @@ -188,7 +188,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(LINK) $(LFLAGS) /OUT:$(TARGET) @<< $(OBJECTS) $(OBJMOC) $(LIBS) diff --git a/tmake/lib/win32-symantec/generic.t b/tmake/lib/win32-symantec/generic.t index 78e1d77..ab39654 100644 --- a/tmake/lib/win32-symantec/generic.t +++ b/tmake/lib/win32-symantec/generic.t @@ -169,7 +169,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(LINK) $(LFLAGS) $(OBJECTS) $(OBJMOC), $(TARGET),, $(LIBS) #$ Project("TMAKE_APP_OR_DLL") || EnableOutput(); diff --git a/tmake/lib/win32-visage/generic.t b/tmake/lib/win32-visage/generic.t index aeec8db..b5b1fb6 100644 --- a/tmake/lib/win32-visage/generic.t +++ b/tmake/lib/win32-visage/generic.t @@ -169,7 +169,7 @@ TARGET = #$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"}); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); $(TARGET): $(OBJECTS) $(LIBS) #$ Expand("TARGETDEPS"); $(LINK) -B"$(LFLAGS)" $(OBJECTS) $(LIBS) -Fe$(TARGET) diff --git a/tmake/lib/win32-watcom/generic.t b/tmake/lib/win32-watcom/generic.t index 0cc47bb..883c794 100644 --- a/tmake/lib/win32-watcom/generic.t +++ b/tmake/lib/win32-watcom/generic.t @@ -157,7 +157,7 @@ TMPLIST = #$ ExpandGlue("TARGET","","",".lst"); all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)'; -$(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); +$(TARGET): $(HEADERS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); @%create $(TMPLIST) #$ Project("TMAKE_APP_OR_DLL") || DisableOutput(); @%append $(TMPLIST) NAME #$ Expand("TARGET"); diff --git a/winbuild/Config.rules b/winbuild/Config.rules new file mode 100644 index 0000000..3b6baf5 --- /dev/null +++ b/winbuild/Config.rules @@ -0,0 +1,30 @@ + + + + + + + + + diff --git a/winbuild/Doxygen.vcproj b/winbuild/Doxygen.vcproj index 1822438..5137f9a 100644 --- a/winbuild/Doxygen.vcproj +++ b/winbuild/Doxygen.vcproj @@ -19,6 +19,18 @@ + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -3550,7 +2126,7 @@ > - - @@ -3990,6 +2562,10 @@ > + + @@ -4082,6 +2658,10 @@ > + + @@ -4114,10 +2694,6 @@ > - - @@ -4130,6 +2706,10 @@ > + + @@ -4158,7 +2738,7 @@ @@ -4168,7 +2748,7 @@ @@ -4178,7 +2758,7 @@ @@ -4188,7 +2768,7 @@ diff --git a/winbuild/Doxywizard.vcproj b/winbuild/Doxywizard.vcproj old mode 100644 new mode 100755 index 228dccc..930adc6 --- a/winbuild/Doxywizard.vcproj +++ b/winbuild/Doxywizard.vcproj @@ -13,6 +13,18 @@ /> + + + + + + + + + + + + + + @@ -275,7 +318,7 @@ @@ -290,7 +333,7 @@ @@ -301,7 +344,7 @@ @@ -316,7 +359,7 @@ @@ -327,7 +370,7 @@ @@ -342,7 +385,7 @@ @@ -353,7 +396,7 @@ @@ -368,7 +411,7 @@ @@ -379,7 +422,7 @@ @@ -394,7 +437,7 @@ @@ -405,7 +448,7 @@ @@ -420,7 +463,7 @@ @@ -431,7 +474,7 @@ @@ -450,7 +493,7 @@ @@ -461,7 +504,7 @@ @@ -474,7 +517,7 @@ UniqueIdentifier="{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}" > + + + + + + + + + + + + + + + + diff --git a/winbuild/Languages.rules b/winbuild/Languages.rules new file mode 100755 index 0000000..b72dd16 --- /dev/null +++ b/winbuild/Languages.rules @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/winbuild/Lex.rules b/winbuild/Lex.rules index 99f2f61..298c978 100644 --- a/winbuild/Lex.rules +++ b/winbuild/Lex.rules @@ -7,39 +7,27 @@ + - - - diff --git a/winbuild/Settings.rules b/winbuild/Settings.rules new file mode 100644 index 0000000..b72dd16 --- /dev/null +++ b/winbuild/Settings.rules @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/winbuild/Version.rules b/winbuild/Version.rules new file mode 100644 index 0000000..7e85679 --- /dev/null +++ b/winbuild/Version.rules @@ -0,0 +1,19 @@ + + + + + + + diff --git a/winbuild/doxyindexer.vcproj b/winbuild/doxyindexer.vcproj index f271f33..b158c77 100644 --- a/winbuild/doxyindexer.vcproj +++ b/winbuild/doxyindexer.vcproj @@ -44,7 +44,7 @@