* INSTALL
* Made clear that GNU Make installation isn't needed for mingw
targets.
* include/hbextern.ch
+ Added HB_EXECMSG().
* contrib/xhb/tests/xhb.hbc
+ Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
has these libs as part of the core.
* utils/hbmk2/hbmk2.prg
+ Environment variables can not be used as filters.
If an envvar with the name of the filter exists and it's
value isn't "0" or "no", it's considered a match.
- Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
This was copied from Harbour Make files, and most probably they
aren't necessary even there, especially since they are set
inconsistently (differently) for depending on msvc compiler
version and win/wce target. These flags deal with exception
handling, so I doubt any core code (with the exception of hbqt)
would need it.
+ Added some level of internal support for build modes
(release, debug, fulldebug) and unicode/ascii selection. Added
to TODO anyway, will continue with them in the future.
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
+ added hb_vmProc() function - it's hb_vmDo() but without hack to send
messages.
TODO: remove from hb_vmDo() support for messages so it can replace
new hb_vmProc() function or if we really need such mixed common
execution function then replace in HVM calls to hb_vmDo() with
hb_vmProc()
* harbour/source/vm/classes.c
* replaced hb_vmFunction() call by hb_vmDo()
* harbour/source/vm/arrays.c
* harbour/source/vm/thread.c
! cleaned hb_vmDo()/hb_vmSend() usage
* harbour/source/vm/eval.c
! replaced hb_vmFunction() calls by hb_vmSend()
+ added .prg function hb_execMsg( <sFuncSym>, <object>, [<params,...>] )
which executes <sFuncSym> with <object> set as QSELF() value.
Mindaugas, you can use it in your HashObject to execute functions
like pseudo messages.
* utils/hbmk2/hbmk2.prg
+ Added autodetection for recently released (version 0.55) mingw32ce
packages.According to their homepage, they use slightly different
names for packages, which is now recognized by hbmk2.
I didn't test it though on Linux, and there is no Windows binary
release yet for this new version.
* utils/hbmk2/hbmk2.prg
+ Added filter support for input files without extension.
* Reverted prev change because it didn't solve any problems
as *.*/* input masks aren't expanded anyway on non-*nix
shells and it would create several problems to support it.
Explicitly added .ch and other files are probably done with
an intent, so there is no point in filtering them (well
except for *nix shells, but I don't deal with this issue
for now). It isn't a good idea to pass *.*/* to hbmk2
anyway as it may pickup everything in the way.
* contrib/hbqt/hbqt.h
* contrib/hbqt/qth/QConicalGradient.qth
* contrib/hbqt/qth/QLinearGradient.qth
* contrib/hbqt/hbqt_qconicalgradient.cpp
* contrib/hbqt/hbqt_qlineargradient.cpp
! Fixed two missing function name from .qth template.
(the ones reported on the dev list)
- contrib/hbqt/generator/rebuild_hbqt.bat
- Deleted, it's no longer needed.
Enough to build hbqtgen with:
hbmk2 hbqtgen.prg
Then run it:
hbqtgen
* harbour/source/rtl/errintlo.c
! fixed GPF inside internal error handler for errors without default
description and error codes not in the form 9000 + <n>
* harbour/source/rtl/errapiu.c
* minor formatting
* utils/hbmk2/hbmk2.prg
* Input files with following extensions won't be considered
.prg source files anymore: .ch, .h, .hpp, .hxx.
This means *.* input mask can now be used more freely.
I cannot imagine a situation where this could be limitation,
but if someone has any concern with this, please tell.
! Minor typo in code.
* harbour/source/rdd/dbfnsx/dbfnsx1.c
! fixed stupid typo in C else block scope which caused false alarm
about corrupted index. Many thanks to Vitor Mangabeira for information
and self contain example.
* bin/hb-mkdyn.bat
! Applied version number change to this file, too.
* contrib/xpp/xpp.ch
+ Added minor tweak to not confuse non-Harbour compilers
if included.
* contrib/rddsql/sddfb/fbirddd.c
* contrib/rddsql/sddpg/pgsqldd.c
! Warnings fixed.
* contrib/hbmysql/mysql.c
! Fixed wrong type for file handle, causing problems for x64 builds.
* contrib/hbnf/descendn.c
! Removed 'auto' keyword which is no longer recognized by
MSVC 2010.
* bin/postinst.bat
+ Creating implibs for msvc64/mingw64 platforms where 3rd
parties support it. (libcurl, firebird, mysql)
* contrib/gtwvg/wvggui.h
! Fixed to compile with MSVS 2010. Thanks Pritpal.
* contrib/gtwvg/wvggui.c
* Reenabled for MSVS 2010 after applying fix.
+ config/mingw32-make.exe
+ Added GNU Make (Windows, 32-bit) executable (size: 173KB),
this is the version recommended by INSTALL, found here:
https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918
* make_gnu.bat
* Modified to utilize above GNU Make binary for Harbour
Windows/WinCE builds in order to make one thing less to
worry about for users wishing to build from source.
From this point the only two requirements for building
Harbour are a C compiler and the source itself. Much less
things to go/get wrong. If this works out good, we can
remove a few instructions from INSTALL.
If someone wants to override supplied version (not very
good idea, but who knows) the supplied version has to be
replaced by custom version.
In case group thinks it's onorthodox or inappropriate
(or outright illegal) to have such binaries stored in
our repository, please shout, it's not yet late to undo
this change.
Also please test.
* include/hbsetup.h
+ Added MSVS 2010 version information.
* contrib/gtwvg/wvggui.c
- Temporarily disabled whole file for MSVS 2010 due to lots
of compilation errors, similar to the ones recently seen
with letdb. (errors posted on the list)
* contrib/Makefile
+ contrib/xpp
+ contrib/xpp/Makefile
+ contrib/xpp/xpp.ch
+ Added startup of an Xbase++ dialect lib (similar to xhb).
The idea is that these will hold all Xbase++ specific functions
with an xpp_*() prefix, and they will eventually be moved
inside the core into source/dialect/xpp lib, so that dialect
selection can be better integrated into Harbour compiler tools.
Currently it holds one header only.
+ utils/hbmk2/examples/oohg.hbc
+ Added oohg hbmk2 config file. (untested)
* utils/hbmk2/examples/fwh.hbc
* utils/hbmk2/examples/hmg.hbc
* utils/hbmk2/examples/hwgui.hbc
% Minor simplification.
+ examples/hbmake
+ examples/hbmake/hbmake.hbp
+ examples/hbmake/hbmakec.c
+ examples/hbmake/hbmake.prg
+ Readded old and unsupported hbmake for convenience to
those users who still use it. This tool won't work in
the next (to 2.0.x) major release of Harbour, so please
take some time and check hbmk2, its successor.
You can build hbmake with this command:
'hbmk2 hbmake.hbp'
It will be copied to Harbour binary directory automatically.
* utils/hbmk2/hbmk2.prg
+ Added macros: ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}.
Representing HB_*_INSTALL dirs. They can be useful in
-instpath=, if someone wants to have a copy of the target in
a Harbour dir for easy access: -instpath=${hb_lib}/
* utils/hbmk2/hbmk2.prg
+ In -rebuild mode now targets will be deleted by hbmk2
before calling compilers to create them. This will resolve
some potential errors when compiler tools get confused about
an existing file with the same name but perhaps created with
another compiler. It will also make sure no attempts will be
made to create an incremental build. If target cannot be
deleted, a warning message will be shown by hbmk2.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* mpkg_win.bat
* include/hbver.h
* doc/whatsnew.txt
* source/vm/maindllp.c
* 1.1.0dev -> 2.0.0dev
; Preparation for next rc1.
* INSTALL
* Long lines reflowed.
* utils/hbmk2/hbmk2.prg
+ Now if hbmk2 is renamed to a name which ends with '10',
like 'hbmk210', it will automatically function in -hb10
(Harbour 1.0.x) compatibility mode.
% Don't add doubly defined include paths or include try paths.
* Minor change in BCC system lib ordering.
* examples/terminal/trm_cli.prg
* examples/terminal/terminal.prg
* examples/terminal/trm_srv.prg
* examples/terminal/trm_app.prg
! Fixed 100% CPU utiliziation of server.
* NTRIM()/LTrim(Str()) -> hb_ntos()
; After initial testing with real app, I've found following
issues with this solution compared to an "ideal" GTNET
implementation. Anyhow it's a good start and nice to see
it working.
TOFIX: SetMode(), mouse, shift modifier, ecryption,
incremental screen updates, port passing,
GTWVG dependence, Windows dependence,
ctwin support, other GT status changes
(HB_GTI_*, like titlebar, etc), file transfer,
remote file launch support, printing, cp
conversions?, tone() support, direct GT
driver instead of polling.
* INSTALL
* Removed 'not recommended' text to not hurt any feelings.
+ Added hint to TROUBLESHOOTING section how to clear PATH
with a simple and safe method.
* utils/hbmk2/hbmk2.prg
* Internal variable name change.
* ChangeLog
! Fixed terminology in my prev entry (embedding -> nesting)
* harbour/include/hbclass.ch
+ extended support for xbase++ compatible method declaration:
[SYNC] METHOD <methodName1>[([<params>])] ;
[ , <methodNameN>[([<params>])] ]
* harbour/include/hbthread.h
* harbour/source/vm/thread.c
* harbour/source/vm/classes.c
+ added alternative support for SYNC method which does not use
sync mutexes. The old method is still present. I'll remove it
when xbase++ users confirm that the new one exactly emulates
xbase++ behavior.
* harbour/source/vm/classes.c
* harbour/source/rtl/tthreadx.prg
* switch to alternative SYNC method implementation which seems to be
xbase++ compatible - please test
! fixed missing thread interrupt in recent modification for ::setInterval
* utils/hbmk2/hbmk2.prg
+ Added support for hbcs= lins in .hbc files. This means
they can now be embedded. Filters and macros are accepted,
extension optional, .hbc will be added.
! Fixed wrongly calculated embedding level, counting now made
simpler.
+ Added warning message if embedding level reached the maximum,
instead of just ignoring the to be embedded files.
* COPYING
+ Added utils/hbmk2 to the COMPILER LICENSE section.
- Deleted OLD HARBOUR LICENSE section.
* source/lang/msgeu.c
* source/lang/msgsr852.c
* source/lang/msgsriso.c
* source/lang/msgsliso.c
* source/lang/msgslwin.c
* source/lang/msgsl437.c
* source/lang/msgsl852.c
* Changed copyright to new Harbour license by group (silent)
consent. Copyright holders kept intact, if that's a problem
for anyone in the future, we shall delete these files from
the repository and retranslate (or do whatever else we
decide), notice however that msgsr*.c and msgsl*.c files
were only containing translations for month and day names.
msgeu.c contained translation work spanning to 40 strings.
* source/compiler/hbusage.c
* Updated Lorenzo Fiorini's e-mail address in credit list.
* INSTALL
+ Change section title from:
HOW TO BUILD AND INSTALL HARBOUR
to
HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE
+ Added sentence which hopefully will make sure users
understand that 'msys' isn't required (not even recommended)
to build Harbour with MinGW. It's included because it's
supported and possible and may give some benefit for some
users.
* utils/hbmk2/hbmk2.prg
! Fixed to make pos= files relativ to .hbc container location.
! Fixed to not macro process pos= entries, because it breaks
${lng} macros.
+ Added -debugi18n messages for .po update.
* contrib/xhb/Makefile
+ contrib/xhb/xhberr.c
+ Added SETUNHANDLEDEXCEPTIONFILTER() as a dummy function,
actual code is commented and won't work in Harbour.
(borrowed from xhb)
* contrib/xhb/Makefile
+ contrib/xhb/xhbsave.c
+ contrib/xhb/xhbtrim.c
+ Added "extended" versions of some core functions,
supporting some extra parameters formerly available
in Harbour when compiled with (now removed) HB_EXTENSION
option:
XHB_TRIM(), XHB_RTRIM(), XHB_ALLTRIM(),
XHB_SAVESCREEN(), XHB_RESTSCREEN().
* utils/hbmk2/hbmk2.prg
+ Added feature to automatically process make script
with the name hbmk.hbm if found in local directory.
This will be processed before the first command line
option.
! -quiet switch wasn't effective on embedded Harbour
compiler command line displayed in case of error.
* examples/rl/readme.txt
+ examples/rl/rl.dif
+ Added patch file for original RL sources to make them
work with Harbour. The issue was with some longer than
10 chars PRIVATE vars which were saved and restored from
.mem files and they were cut to 10 chars on restore.
* examples/uhttpd/readme.txt
* Minor update to instructions (really minor).
- examples/uhttpd/modules/allmod.hbp
+ examples/uhttpd/modules.hbp
* examples/uhttpd/readme.txt
* Simplified build and maintainance of modules.
Now simply with: 'hbmk2 modules.hbp'
There is no need to update it when adding new modules.
* examples/rl/rl.hbp
+ Added options to create running rl executable.
* source/rtl/achoice.prg
! Fixed strange and undocumented ACHOICE() calling convention
used in RLDIALG.PRG from RL tool supplied with Clipper 5.x
versions. In this case the user function is passed as 6th
parameter.
* INSTALL
+ Added note that when compiling for mingw without msys, sh.exe
of msys musn't be in the PATH, otherwise the build won't work.