* harbour/src/compiler/cmdcheck.c
* minor formatting
* harbour/src/compiler/complex.c
% disabled lexer when -sm is used with -m switch.
In Harbour compiler lexer is only simple translator between PP and
grammar parser tokens so the overhead is rather small anyhow it
eliminates executing some unnecessary code.
If -sm switch is used then we need lexer to detect files included by
statements like:
DO <file> [WITH ... ]
_procReq_( <file> )
_procReq_( <file> + <ext> )
-m switch disable including such files so we can fully eliminate
lexer and preprocess PP tokens directly in a loop.
Now the cost of -sm switch is reduced to the PP cost plus some
minor static overhead.
* harbour/include/hbpp.h
* harbour/include/hbcompdf.h
* harbour/src/pp/ppcore.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/cmdcheck.c
* harbour/src/compiler/ppcomp.c
* harbour/src/compiler/hbusage.c
* harbour/doc/man/harbour.1
+ added support for new compiler switch -sm which can be used to
generate dependencies list.
* modified HB_COMPILEBUF() function to return dependencies list
instead of .HRB file body when -sm switch is used. Files in
single module are separated by spaces and modules are separated
by TABs (chr(9))
To reduce overhead I suggest to use in programs like hbmk2
together with -sm also -kj switch - it disables some time
consuming optimizations in compiler code.
* harbour/src/rtl/hbini.prg
* Changed hb_IniString() function name to hb_IniReadStr()
+ Added hb_IniWriteStr() that returns a string from an Ini hash
hb_iniWriteStr( hIni, cCommentBegin, cCommentEnd, lAutoMain )
-> cData | NIL
! Fixed a previous error in logic in case of hIni with missing MAIN section
* harbour/include/hbextern.ch
- Removed hb_IniString() declaration
+ Added hb_IniReadStr() and hb_IniWriteStr() external declarations
* harbour/tests/parseini.prg
+ Added samples of hb_IniReadStr() and hb_IniWriteStr() functions
* harbour/src/rtl/hbini.prg
* Splitted hb_IniRdLow() internal function into two functions:
hb_IniFileLow( cFileSpec ) -> cData
hb_IniStringLow( hIni, cData, lKeyCaseSens, cSplitters, lAutoMain ) -> hIni
+ Added new hb_IniString() funtion
hb_IniString( cData, lKeyCaseSens, cSplitters, lAutoMain ) -> hIni
that reads directly from a string.
So hb_IniRead() read from a file, hb_IniString() read from memory string.
* harbour/include/hbapicdp.h
* harbour/src/rtl/cdpapi.c
* harbour/src/rtl/is.c
* moved hb_charIs*() functions to cdpapi.c file for easier updating
in the future
% optimized memory allocation for new codepages
* harbour/contrib/hbct/pos1.c
* use hb_charIs*() functions instead of accessing HB_CODEPAGE
structure members
- source
+ src
* src/Makefile
* src/dynlib/mt/Makefile
* src/dynlib/Makefile
* INSTALL
* Makefile
* ChangeLog
* harbour.spec
* mpkg_tgz.sh
* Renamed 'source' dir to 'src' to move closer to other FOSS
projects. It's also easier to type, plus it has the side
effect that some cmdlines will be shorter in the
build process.