* utils/hbmk/hbmk2.prg
+ Added rest of default *nix system paths.
% Minor optimization regarding the above.
! Fix regarding the above (include/lib were swapped).
* make_gnu.sh
* Formatting.
* config/global.cf
+ Added link to GNU make docs.
+ Added .SUFFIXES: to delete all built-in rules. This does
the same as the -r switch which we were using so far,
so this one is no more necessary. Now GNU make can be
started by simply running 'make' without parameters.
* make_gcc.sh
* make_gnu_os2.cmd
* make_gnu.bat
% Removed make -r switches.
; TODO: Do the same in the rest of the scripts.
* ChangeLog
* utils/hbmk/hbmk2.prg
* TODOs moved to source file.
+ Added hbp comment syntax to help screen.
* config/win/install.cf
! Reverted previous fix (with xcopy) and replaced with
official method to suppress return value.
* harbour/include/hbthread.h
* harbour/source/vm/thread.c
! added support for conditional variables working like in PTHREADS
in OS2 builds - it fixes the problem with possible dead lock or
starvation effect which can also cause dead lock in some cases.
OS2 users please test current code.
* utils/hbmk/hbmk2.prg
% Optimizations in FindInPath().
! Fixed handling dirs in PATH with embedded path separator
in them.
! Possible fix for owatcom compilers by forcing link
script instead of passing options on the command line.
* utils/hbmk/examples/winapi.hbp
! Updated for BCC.
* source/vm/cmdarg.c
* little hack from Przemyslaw to make it work under OS/2 where
executable name hasen't got extension if extension was not give when
executable was started.
* utils/hbmk/hbmk2.prg
* Changed to work under OS/2 with GCC; other OS/2 compilers not tested.
* utils/hbmk/hbmk2.prg
* '-l-' is now passed to Harbour instead of being considered
as a lib spec.
* Arch/comp is now case-insensitive in filters too.
* Removed GTSTD usage.
It caused a stall at startup for BCC, and Ctrl+C had
to be pressed to proceed. I didn't investigate further,
maybe it's a local problem.
* config/win/bcc32.cf
* Synced flags with non-GNU make. This adds MT support.
* config/win/install.cf
! Install command modified to not give errors and block
the whole build process if the target file already exists.
The workaround consisted of changing 'copy' to 'xcopy /d /y'.
* include/inkey.ch
+ Added comments on K_MM*DOWN codes.
These also should be protected, and moved to
local the local headers belonging to GTs
supporting this feature (GTWVG notably).
* source/rtl/gtwvt/gtwvt.c
+ Protected non-Clipper compatible extension regarding
K_MM*DOWN with __HB_GTWVT_GEN_K_MMDOWN_EVENTS #define.
Also see notes in about app level code modification
needed if you want to continue using default Harbour build:
2009-02-18 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/gtalleg/tests/gtalleg-static.hbp
+ Added some Windows libs. The libs seem compiler
and/or SDK dependent, so pls update this, current state
is probably enough to get an idea of it.
+ utils/hbmk/examples/winapi.hbp
+ Created hbp file for Windows libs.
* utils/hbmk/hbmk2.prg
* utils/hbmk/examples/xbgtk.hbp
* utils/hbmk/examples/xhgtk.hbp
* Formatting.
* utils/hbmk/hbmk2.prg
+ Added handling of quoted options (with double quotes) for
items containing spaces. hb_AToken( , , .T. ) is used, so
these rules apply. Outer double quote pair will be stripped
from the quoted items.
We will probably need extra code to add the quote back
when forming the command lines. Anyway this feature mainly
targets to support pkg-config options, which have their
own special quotes anyway.
! Minor change to not use hb_cmdline() for -q option detection,
and also to ignore -q in main option processing loop.
! Fixed explicit .hbp processing.
* contrib/gtalleg/tests/gtalleg-shared.hbp
* contrib/gtalleg/tests/gtalleg-static.hbp
* utils/hbmk/examples/xbgtk.hbp
* utils/hbmk/examples/hwgui.hbp
* utils/hbmk/examples/xhgtk.hbp
* Updated pkg-config related lines.
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
* source/rtl/mouse53.c
+ Added HB_MMIDDLEDOWN() functions, plus MMIDDLEDOWN() alias.
These are always available regardless of the CLIP53
compatibility setting.
; TOFIX: K_MM*DOWN events _override_ C5.3 compatible
K_MOUSEMOVE events (in GTWVT only), which created
an unfortunate incompatibility with our target
C5.x compiler when using some specific GT. Ideas
are welcome how to fix this. We should probably
either send out both codes and let the inkey queue
do the filtering as requested by app (we need a
new filter then), or remove these event code and
generate proper K_MOUSEMOVE events instead. Apps
using this these incompatible keycodes are encouraged
to replace expressions:
'( key == K_KK*DOWN )' with the compatible:
'( key == K_MOUSEMOVE .AND. M*DOWN() )' to prepare
for the fix.
* bin/postinst.bat
+ Added generation of hbcc[.bat|.cmd], hbcmp[.bat|.cmd]
and hblnk[.bat|.cmd].
; NOTE: Available only when using GNU-make to build Harbour.
* utils/hbmk/hbmk2.prg
% Minor optimizations.
+ HB_USER_LIBS now gets automatic path separator adjustment.
* config/win/msvc.cf
! Added missing system libs.
! Tweaked C options to be like in non-GNU make.
* make_gcc.sh
* make_gnu.sh
- Removed compatibility with HB_ARCHITECTURE = w32.
* harbour/include/hbapi.h
* harbour/source/vm/cmdarg.c
* harbour/source/vm/hvm.c
* added hb_cmdargUpdate() function which makes final argc/argv updating
(code moved from hb_cmdargInit())
! use hb_cmdargUpdate() - it fixes GPF in MT mode when some fs* functions
were called before allocating HVM stack
; TOFIX: change some hb_setGet*() functions to work without HVM stack.
* harbour/source/rtl/hbtoken.c
* formatting
* utils/hbmk/hbmk2.prg
! Fixed not recognising hbp lines if the filter was at BOL.
! Two minor fixes.
* utils/hbmk/examples/xbgtk.hbp
+ Added cflags, it was already supported, just forgot about it.
* contrib/hbblat/tests/hbblat.hbp
* contrib/hbblat/tests/blatcmd.prg
% Using WIN_GETCOMMANDLINEPARAM().
* contrib/hbwin/win_misc.c
* contrib/hbwin/tests/testreg.prg
+ Added WIN_GETCOMMANDLINEPARAM().
Similar to WAPI_GETCOMMANDLINE() but returns
only the parameter part. Handles UNICODE,
_SET_OSCODEPAGE and appnames with spaces.
* contrib/hbwin/tests/hbwin.hbp
! Fixed to include shell32 lib.
* contrib/hbwin/Makefile
* contrib/hbwin/common.mak
+ contrib/hbwin/wapi_winbase.c
* contrib/hbwin/tests/testreg.prg
+ Added WAPI_GETCOMMANDLINE().
With UNICODE and _SET_OSCODEPAGE support.
* ChangeLog
* TOFIX (hb_cmdline()) marked as POSTPONED with explanation.
* source/rtl/listbox.prg
! Restored _SET_EXACT dependent code parts to have the
same logic as before my modifications a few years ago.
Przemek, is it right now? I honestly didn't understand
the issue here.
+ contrib/gtalleg/tests
+ contrib/gtalleg/tests/gtalleg-shared.hbp
+ contrib/gtalleg/tests/gtalleg-static.hbp
* utils/hbmk/examples/whoo.hbp
* utils/hbmk/examples/c4w.hbp
* utils/hbmk/examples/minigui.hbp
* utils/hbmk/examples/hwgui.hbp
* utils/hbmk/examples/fwh.hbp
+ utils/hbmk/examples/xbgtk.hbp
+ utils/hbmk/examples/xhgtk.hbp
+ Added new hbp files and settings to cover support by current
hbmk script features.
+ Added new gtalleg hbp files for Windows, both static
and shared. Added logic from hbmk script for Linux.
; NOTE: This is a work in progress, I'll have to investigate
-I support needed for xbgtk, hbmk can't handle that yet.
Also pkgconfig notation isn't parsed well yet, there needs
to be added syntax to allow spaces inside items.
Expect some possible incompatible changes in this area.
* utils/hbmk/hbmk2.prg
+ Made HB_ARCHITECTURE and HB_COMPILER case-insensitive.
Notice however that other parts of Harbour (notably the
GNU-make system) will only accept them in lowercase, so
that's the recommended way to setup these values.
* One error message made more informative.
* utils/hbmk/hbmk2.prg
+ HB_COMPILER now automatically set to gcc for Linux.
You can override it if you need gpp or owatcom.
+ xcc, icc autodetection for win.
+ Added support for HB_MT=mt|MT for compatibility.
+ Added support for -mwindows/-mconsole for compatibility.
+ 0/1 is accepted instead of yes/no for compatibility.
* utils/hbmk/hbmk2.prg
+ Added support for -fullstatic.
+ Added '-lm' to linux/gcc. Still needs to tweaking, like gpm.
* bin/hbmk.bat
+ Added missing '@'.
* make_b32.mak
* make_vc.mak
* common.mak
+ bin/hbmk.bat
* utils/hbmk/Makefile
- utils/hbmk/hbmk.prg
+ utils/hbmk/hbmk2.prg
+ Renamed hbmk to hbmk2 to avoid collision with hbmk script,
and to allow parallel testing.
+ Readded hbmk.bat to redirect to hbmk2.exe.
This will be removed in the future. Win9x/OS/2 isn't
supported with this batch file.
* utils/hbmk/hbmk.prg
+ Added support for multiple -L (lib path) options.
+ Added support for libpaths= option in .hbp files.
! Fix/cleanup to help screen.
! Fixed handling of libs specified in an explicitly passed
.hbp file due to typo.
* utils/hbmk/hbmk.prg
+ Added support for -cc switch. This will stop hbmk after creating
the Harbour .c outputs to emulate hbcc tool behaviour.
'hbcc' -> 'hbmk -cc $*'
+ Added support for -cmp switch. This will stop hbmk after creating
the object outputs from the C compiler.
'hbcmp' -> 'hbmk -cmp $*'
+ From now on objects file passed on the command line will also
be considered as final executable name if passed before the other
files.
* Tweaked internals to cope with some new combinations, like
passing object only for a compiler having separate C compiler
and link phases. Launching C compiler even if there are only
object files.
- contrib/hbmysql/utils/hbmk.bat
+ contrib/hbmysql/utils/hbmysql.hbp
- contrib/hbblat/tests/hbmk.bat
+ contrib/hbblat/tests/hbblat.hbp
* Switched from WIN/DOS specific to .hbp.
- contrib/hbgd/tests/hbmk_gnu.sh
* contrib/hbgd/tests/hbgd.hbp
* Switched from *NIX specific to .hbp.
* contrib/hbblat/tests/blatcmd.prg
! Reverted fix of mine until we properly fix hb_cmdline().
; TOFIX: Fix hb_cmdline() to work more consistently on Windows.
* config/linux/install.cf
! Added hack to ignore copy errors.
This probably isn't the ultimate solution, but since a few
weeks Harbour cannot be installed in the same dirs where
sources are located, since it fails with
cp: `file' and `/harbour/include/file' are the same file
which causes that no binaries will be installed either.
* contrib/gtwvg/make_b32.bat
* contrib/gtwvg/make_vc.bat
* contrib/gtwvg/Makefile
* Trying new method to point to hbwin, so that
we're not relying on hbwin headers being installed.
; Please test.
* contrib/Makefile
+ Added hbblat.
* contrib/make_vc_all.bat
* contrib/make_b32_all.bat
* contrib/make_gcc_all.sh
* contrib/hbblat/Makefile
* contrib/hbblat/common.mak
* contrib/hbblat/make_b32.bat
* contrib/hbblat/make_vc.bat
* contrib/hbblat/blatwrp.c
* contrib/hbblat/tests/hbmk.bat
* contrib/hbblat/tests/blatcmd.prg
+ Added support for HB_INC_BLAT (needed for releases).
* Some EOLs added.
* Minor correction to .ch name in make files.
% Replaced command line retrieval with hb_cmdline() call.
* Cleaned some headers/#defines.
* GNU make file got protection to only compile for win,
and to install headers.
* make_gnu.bat
* contrib/hbct/Makefile
* contrib/hbwin/Makefile
* Minor formatting.
- tests/hbmk_gnu.bat
- Removed.
* contrib/examples/uhttpd/hbmk.bat
* contrib/examples/dbu/hbmk.bat
* contrib/examples/rl/hbmk.bat
* Made them compatible with Win9x/NT systems again.
* source/lang/msg_tpl.c
+ Added NOTE about date format.
* source/lang/msgbe866.c
* source/lang/msgbewin.c
* source/lang/msgbg866.c
* source/lang/msgbgiso.c
* source/lang/msgbgmik.c
* source/lang/msgbgwin.c
* source/lang/msgit.c
* source/lang/msgnl.c
* source/lang/msgsl437.c
* source/lang/msgsl852.c
* source/lang/msgsliso.c
* source/lang/msgslwin.c
! Fixed date formats to only contain YYYY MM and DD.
Plus the format itself corrected in a few places.
* utils/hbmk/hbmk.prg
+ Added TODO
% Added ANNOUNCE HB_GTSYS / REQUEST HB_GT_STD_DEFAULT.
Since this tools doesn't need anything fullscreen, and
this way it's faster smaller, yet portable.
* ChangeLog
* Few old TODO/TOFIX statuses updated.
* harbour/include/dbinfo.ch
+ added DBI_ISTEMPORARY
* harbour/include/hbapirdd.h
* harbour/source/rdd/wafunc.c
+ added hb_rddCreateTableTemp() C function to create temporary
table which are automatically deleted on close. All indexes and
memo files for such tables are also in temporary files and
automatically deleted on close. Please remember that Harbour uses
OS functions to create temporary files so it's installation dependent
how much disk space is available for them. Some RDDs may also do
not create temporary files but keep everything in memory if they
decide it's more efficient.
* harbour/source/rdd/dbcmd.c
+ added .prg function to create temporary files:
dbCreateTemp( <cAlias>, <aStruct>, <cRDD>, ;
<cCodePage>, <nConnection> ) -> <lSuccess>
Not all RDDs have to support it. It's verified by support for
DBI_ISTEMPORARY dbInfo() action.
* harbour/include/hbrdddbf.h
* harbour/include/hbrddnsx.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
+ added support for temporary tables in native RDDs.
Most of above modifications were done by Viktor Szakats.
* harbour/source/vm/thread.c
! fixed typo in PTHREAD (*nixes) version of hb_threadMutexTimedLock()
(.prg HB_MUTEXLOCK() with timeout parameter)
! unlock HVM in *nix version of hb_threadWait()
; added TODO note