* INSTALL
* One 'sf.net' URL changed to sourceforge.net.
(for consistency only. both name works.)
* utils/hbmk2/hbmk2.prg
* Formatting.
+ Added comment to help screen on -l switch, that the <libname>
mustn't contain path, extension and lib prefix.
* harbour/include/hbsetup.h
+ added HB_RESTRICT macro which can be used in some declarations
to reach better code optimization
* harbour/include/hbclass.ch
+ added support for xbase++ compatible method declaration by:
METHOD <methodName1> [ , <methodNameN> ]
* harbour/source/rtl/tthreadx.prg
* redirect parameters passed to ::new() method to ::init() method
as emulation for class object new method
+ added basic support for ::setInterval in xbasee++ THREAD class
* harbour/tests/speedtst.prg
! removed unused variable cDir
* contrib/xhb/Makefile
+ contrib/xhb/bkgtsks.c
+ Added background tasks functions. My only current goal
was to make it compile under Harbour, plus did some
optimizations along the way.
(borrowed from xhb, work of Francesco Saverio Giudice)
; TODO: Adapt to Harbour: MT mode, Set() replacement,
attach it to VM possibly without modifying
the VM itself.
* source/rtl/mlcfunc.c
+ Reenabled for default builds the parameter extension
in memo functions (now guarded with HB_C52_STRICT).
This breaks our effort to not introduce such extensions,
but since was no better idea I've made an exception,
but I personally still don't like it and this practice
stays forbidden.
Talking about the last parameter of these functions:
MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC()
* source/codepage/cphr437.c
* source/codepage/cphr852.c
* source/codepage/cphrwin.c
* Fixed wrongly ordered accented chars.
* Fixed missing accented chars in Windows CP.
; Submitted by Vladimir Miholic on sf.net.
* contrib/xhb/xhb.h
+ Added hb_seconds() compatibility macro.
* tests/speedtst.prg
+ Added SET DATE ANSI and SET CENTURY ON.
* tests/Makefile
+ tests/brwpos.prg
+ Added TBrowse() :rowPos test submitted by Xavi to the list.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
% Minor opt to prev.
* tests/rto_tb.prg
+ Added hb_SToD() compatibility function to make it link
with xhb.
+ Added forced define of HB_COMPAT_C53 in xhb mode, but
commented because it makes it RTE.
* INSTALL
! Term changed to be consistent with rest of doc.
* include/hbapi.h
! Typo in comment.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
% Don't include extra static libs in liblist for mingw targets.
It links & works without it and the .exe is smaller.
* INSTALL
* MinGW examples: version number increase.
* utils/hbmk2/hbmk2.prg
* Internal implementation to support multiple Harbour versions
and dialects has been extended.
+ Added support for -hb10 cmdline switch to force Harbour 1.0.x
compatibility mode. Experimental, please make tests with it,
some more exotic features (like shared mode, cross compiling)
may not work (or not as smoothly). Also added 'hb10' fiter name.
! Fixed to not use -Go C compiler option in xcc mode.
! Filter was returning constant failure due to internal
RTE in certain situations since add 'shared'/'static' filters.
+ Don't cover filter evalution with BEGIN SEQUENCE to avoid
such errors as above being kept hidden.
* examples/superlib/readme.txt
* examples/dbu/readme.txt
+ Made clear in text that we're needing 'GNU Patch' tool.
* harbour/contrib/gtwvg/gtwvg.c
! Some artifacts related with modal windows.
Now it correctly calculates the width/height and initial row/col position.
It now honors correctly parent GT's font size.
* harbour/contrib/gtwvg/wvgdatar.prg
* harbour/contrib/gtwvg/wvgscrlb.prg
* harbour/contrib/gtwvg/wvgtabpg.prg
* harbour/contrib/gtwvg/wvgwnd.prg
! Numerics to Pointer fixes.
* utils/hbmk2/hbmk2.prg
! Fix to path normalizer. Last fix wasn't without side-effects
for relative dirs.
! Fixed potential RTE in yesterday's *.hbp handling.
* utils/hbmk2/hbmk2.prg
+ Added support for wildcarded project specs:
- This command will build each .hbp file found in current dir:
> hbmk2 *.hbp
- This command will build all .prg files in current dir,
each into a separate executable as separate projects:
> hbmk2 -target=*.prg
* contrib/gtwvg/gtwvg.h
+ Added extern for hb_wvt_GetStringAttrib(), hb_wvt_PutStringAttrib().
Required by terminal example.
* contrib/gtwvg/wvggui.h
* Comment format. Synced with gtwvg.h.
- examples/terminal/trm_server.prg
+ examples/terminal/trm_srv.prg
- examples/terminal/trm_client.prg
+ examples/terminal/trm_cli.prg
- examples/terminal/trm_appn.prg
+ examples/terminal/trm_app.prg
- examples/terminal/trm_appn.hbm
+ examples/terminal/trm_app.hbp
+ examples/terminal/trm_misc.c
+ examples/terminal/trm_cli.hbp
+ examples/terminal/trm_srv.hbp
* examples/terminal/terminal.prg
* examples/terminal/terminal.hbc
* examples/terminal/readme.txt
! Removed all inline stuff.
! Fixed problems with mixing C++/C objects due to
inline and missing function declarations.
% Windows only function replaced with RTL one.
* Renamed *.hbm files to .hbp, so now it's easy to build
the whole project with: hbmk2 trm_app.hbp trm_cli.hbp trm_srv.hbp
! Fixed hard coded local executable names + dirs.
! Synced client and server default ports.
; Now all of these tools build ok and they also work.
* contrib/hbwin/legacyc.c
! Deleted recently added compat calls.
(they are static in xhb and they collide with RTL names)
* examples/hbgf/hbgfgtk/hbgfgtk.hbm
! Minor fix.
* utils/hbmk2/hbmk2.prg
+ Added support for filter keywords 'shared' and 'static'.
* bin/postinst.bat
* utils/hbmk2/hbmk2.hbm
* utils/hbrun/hbrun.hbm
* Moved extra libs required in shared mode to .hbm files.
! Fixed hbl= -> hbi=
* utils/hbmk2/hbmk2.prg
! Fix to prev fix reported by Vailton. Could RTE when compiling .hrbs.
+ Added -hbraw switch which will make hbmk2 work like harbour compiler.
+ .hbp extension is also recognized when embedded.
* tests/hbpptest/compare.bat
! Fixed long fn.
* tests/bnch_win.bat
! Fix in comment.
* utils/hbmk2/hbmk2.prg
+ Added -echo= command line parameter. Similar to echo= in .hbc files.
! Fixed filename expansion behaviour on empty strings.
* Tweaked a little the filter parser to recognize keywords using
similar rules to Harbour compiler.
! Fixed filter parser not to RTE on malformed filters.
- examples/hbapollo/Makefile
+ examples/hbapollo/hbapollo.hbm
- examples/hboleold/Makefile
+ examples/hboleold/hboleold.hbm
- examples/hbsqlit2/Makefile
+ examples/hbsqlit2/hbsqlit2.hbm
- examples/hbgf/hbgfwin/Makefile
+ examples/hbgf/hbgfwin/hbgfwin.hbm
- examples/hbgf/hbgfos2/Makefile
+ examples/hbgf/hbgfos2/hbgfos2.hbm
- examples/hbgf/hbgfgtk/Makefile
+ examples/hbgf/hbgfgtk/hbgfgtk.hbm
- examples/hbwhat/Makefile
+ examples/hbwhat/hbwhat.hbm
* Replaced GNU Make files with hbmk2 make files. These should
now work outside the source tree. Please test them, they are
also good examples for .hbm files.
- examples/pe/Makefile
- examples/pp/Makefile
- examples/hbdoc/Makefile
- examples/guestbk/Makefile
- examples/misc/Makefile
- examples/dbu/Makefile
- examples/hscript/Makefile
- examples/rl/Makefile
- examples/Makefile
- examples/hbgf/Makefile
- Deleted unnecessary make files belonging to GNU Make system.
(these wouldn't work outside the source tree, f.e in a binary
distro which includes these examples in source form)
- examples/rdddbt
- Deleted this example as it doesn't build anymore.
* examples/hbsuper/hbsuper.hbm
! Added SVN header.
* source/rtl/Makefile
* source/rtl/errint.c
+ source/rtl/errintlo.c
* Split hb_errInternal() and hb_errInternalRaw() for
easier user override.
* utils/hbmk2/hbmk2.prg
! Fixed typo causing -i Harbour option missed in make
modes where Harbour compiler is the final step (like -gh).
+ Directory for target is now automatically created.
+ Directory for -instpath paths are now automatically created.
! Fixed path normalizer not fully normalizing in some cases
when path didn't begin with path separator (relative path).
! Fixed path builder to not be confused about non-native
path separators.
% Path builder will now normalize first to minimize steps.
+ Now all dirs *beginning* with ".hbmk" will be made hidden.
(previously only dirs named exactly ".hbmk" were made hidden)
(experimental)
* utils/hbmk2/hbmk2.prg
! Fixed -map option for mingw family. Strangely its help
says '-Wl,-Map FILE' is the format but this only works
if FILE exists on disk :/ otherwise it gives an error
that FILE isn't found. 'Wl,-Map,FILE' seems to work for
all cases. Pbly OS/2 and DJGPP should also be fixed.
! Applied above fix for DJGPP and OS/2 GCC. I didn't test
it but probably works the same way as in mingw and *nix
gcc.
+ contrib/examples/hbsuper
+ contrib/examples/hbsuper/hbsuper.hbm
+ contrib/examples/hbsuper/hbsuper.dif
+ contrib/examples/hbsuper/hbsuper.prg
+ contrib/examples/hbsuper/readme.txt
+ Added SuperLib portability patch and Harbour make script.
Original sources need to be downloaded from The Oasis,
just like for DBU and RL.
This is a slightly minimal patch than my previous version
to minimize any unnecessary space/command changes, and
I also reverted to original C code where it was possible.
* utils/hbmk2/hbmk2.prg
* Minor formatting.
* contrib/hbodbc/odbc.c
! Eliminated last UNICODE branching, this also fixes
embedded zero chars not being respected in UNICODE mode
in SQLDESCRIBECOL(). Not tested, ODBC users please do,
also someone pls review me.
* ChangeLog
* TODOs/TOFIXes marked as DONE.
* contrib/gtwvg/wvgwin.c
! Small fix to previous commit.
* contrib/gtwvg/wvgax.c
* contrib/gtwvg/wvgsink.c
! Widely cleaned code.
! Make use of remaining number to pointers.
! Renamed functions to WVG_* namespace.
! WvgActiveXControl() can be tested both with winsink|axcore event handellers.
NOTE: CPP mode generates a GPF when ole is unloaded due to refcount.
Mindaugas can you fix it.
* contrib/hbwin/win_prn2.c
* Cleaned hb_parcx() vs. hb_parc() usage in one function.
(hb_parcx() is only needed if there is no preceding HB_ISCHAR()
check. If there is hb_parc() will also always return a valid
pointer).
+ contrib/hbwin/tests/testprn2.prg
+ Added raw printing test.
* utils/hbmk2/hbmk2.prg
% -undef/-D Harbour options will be reduced in cross-compilation
scenarios. If a __PLATFORM__* value appears as both -undef and
-D it will be omitted. This results in smaller command line,
plus works around this warning:
'Warning W0001 Redefinition or duplicate definition of #define __PLATFORM__WINDOWS'
when using the embedded compiler (doesn't seem to happen with
external compiler).
+ Added autodetection for mingw64 and mingwarm compilers. It should
now be enough to use -arch=wce on the command line to initiate a
WinCE cross-build if the compiler is setup in the path or using
the embedded installation. So it's recommended to use -arch=wce
instead of -arch=mingwarm from now on. For mingw64 builds, no
extra switch is needed, if in the PATH, it will be autodetected.
! Added Harbour command to Harbour command line shown in case of
error.
* contrib/gtwvg/wvgcuig.c
! Fixed one GCC warning. I'm not sure if this is a correct one,
my only goal was to make the warning disappear and to define
a previously undefined case.
; TOFIX: This warning still remains, and indicates unsafe code:
wvgsink.c:516: warning: dereferencing pointer 'hSink.33' does break strict-aliasing rules
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/demowvg.prg
! Fixed hard-wired paths, so that now some more samples
work regardless of Harbour installation dir.
; NOTE: Never use hard-wired absolute paths inside any Harbour
component. We now have hb_DirBase(), please make use of it.
; NOTE: For me most of the samples still don't work, AX toolbar icons
don't appear, and most of the AX samples fail with an unclosable
window.
* contrib/hbwin/axcore.c
* contrib/gtwvg/wvgsink.c
* Moved recently added extra AX functions to GTWVG.
* Kept optimized, hbwin version of HB_AX_ATLCREATEWINDOW().
* Others renamed and commented:
WIN_AXGETUNKNOWN() -> WVG_AXGETUNKNOWN()
WIN_AXSETVERB -> WVG_AXDOVERB()
! HB_AX_ATLSETVERB() now accepts HWND pointers, too.
! HB_AX_ATLAXGETCONTROL() now accepts HWND pointers, too.
; TOFIX: GTWVG uses HB_AX_* prefix to denote AX function, while
these should be named WVG_AX*().
; TODO: Probably the full content, or at least the universally
useful portion of wvgsink.c should eventually go to hbwin,
but all these functions need further cleanups,
and they also have to be renamed. I don't know what we
should stay compatible with so it's difficult to make
any moves. Some test code showing the usefulness of
these function would be probably help.
* harbour/harbour.spec
* harbour/mpkg_tgz.sh
+ added hbformat
* harbour/include/hbdefs.h
* harbour/include/hbapi.h
* harbour/source/common/hbarch.c
* redefined macros used to store/retrieve integer and double values
to/from byte arrays in little and big endian order.
Now GCC uses inline functions which are hardly optimized by compiler
giving on x86 machines the same code as direct casting (with the
exception to march=i686 where putting double value forces strict
alignment to avoid hidden CPU exception) but they respect strict
aliasing rules. It also means that now GCC builds always respect
strict alignment even if HB_STRICT_ALIGNMENT macro is not set.
* include/hbsetup.h
* source/common/hbver.c
+ Moved CPU detection to core header. Introduced
HB_CPU_* macros. Now they can be used to branch code
by CPU type.
* contrib/rddads/adsmgmnt.c
+ Added my copyright.
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
! Fixed remaining hb_parc() vs hb_parcx() usages.
% WAPI_TABCTRL_CREATE() further simplified.
Please review, it may be wrong.
* utils/hbmk2/hbmk2.prg
* Minor internal change.
* include/hbver.ch
* source/rtl/version.c
+ Added hb_Version( HB_VER_COMPILER_CPP ) which
returns if the C compiler was used in C++ mode.
Mainly added for HB_BUILDINFO() emulation, maybe it
can be useful to set defaults in hbmk2, we will see.
* contrib/xhb/Makefile
+ contrib/xhb/xhbver.prg
+ Added emulation of HB_BUILDINFO() xhb function.
+ contrib/xhb/xhbver.ch
+ Copied xhb's hbver.ch under this name.
(borrowed from xhb, work of Andi Jahja)