* mpkg_deb.sh
* mpkg_rpm.sh
* mpkg_rpm_win.sh
* mpkg_nightly.sh
* mpkg_src.sh
* mpkg_rpm_wce.sh
* mpkg_tgz.sh
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* bin/postinst.sh
- Do not force bash.
(QNX by default doesn't have bash f.e., and now with the
limited amount of .sh code in SVN, we can focus on making
the code POSIX compliant.)
* ChangeLog
! One QNX TODO marked as DONE.
* bin/hb-func.sh
* bin/postinst.sh
- Deleted 'hbmk' script. Now superceded by hbmk2, which is
backward compatible with hbmk.
- Deleted 'hb-mkslib' compatibility synonym. Use 'hb-mkdyn'
instead.
* src/rtl/hbsocket.c
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* config/win/global.mk
+ Restored to work with ws2_32.dll. (instead of wsock32)
* INSTALL
+ Added information on Win9x/ME support.
* src/rtl/diskspac.c
* src/rtl/disksphb.c
+ Added comment about the reason why GetDiskFreeSpaceEx()
is called dynamically (win95 first edition support).
+ Added support for HB_NO_WIN95 build-time flag to drop
Win95 compatibility. Unfortunately current dynamic load
trick fails with UNICOWS, returning zero for disk
space related calls in this scenario. If we drop the
dynamic call, we lose support for Win95 first edition,
but these functions will work properly on Win95b/98/ME
in return. I'm still thinking about it, but maybe it's
better to drop Win95 first edition support altogether
and make newer versions work properly. Any opinions?
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_wingdi_font.c
! Fixed to use WIDE/ANSI versions of dynamically executed
functions according to UNICODE setting.
* bin/hb-mkdyn.sh
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* config/win/global.mk
! Stepping back to link against wsock32 instead of ws2_32.
The only reason is Win95 (even OSR2) compatibility.
This is a little bit less efficient unfortunately.
* src/rtl/hbsocket.c
! Fixed to use WSAioctl via dynamic call for non WinCE
builds, and if HB_NO_WIN95 macro is no defined.
WSAioctl is present in ws2_32.dll, which .dll isn't
available on Win95.
; Not tested since I don't know how to test it, pls
review and test.
; NOTE: There seem to exist a package which add ws2_32
support for Win95, but I couldn't find it, if
someone has, we can drop this ugly trick and
simply document the requirement.
* src/rtl/gtwin/gtwin.c
* Formatting.
* harbour/bin/hb-func.sh
* updated new contrib libraries
* harbour/contrib/xhb/regexrpl.prg
! fixed hb_RegexReplace() to respect lCaseSensitive and lNewLine flags
* harbour/src/rtl/filesys.c
% use in OS2 builds system API functions instead of CRTL ones
to get/set current drive
% use in OS2 builds system API function DosQueryCurrentDisk() to
check if disk drives are available in hb_fsIsDrv() function
! use in OS2 builds system API function DosQCurDir() to extract current
directory. It fixed buffer overflow due to ignored buffer size in
GCC OS2 builds and makes MT safe getting current directory for non
current drive.
* harbour/include/Makefile
* harbour/include/hbmath.h
+ harbour/include/hbmather.h
* harbour/include/hbsetup.h
* harbour/include/hbapi.h
* moved math error handler definitions and settings separate header file
* moved hb_random_num() declaration from hbmath.h to hbapi.h
After above modification hbmath file should be use only by code which
wants to use math functions declared usually in math.h
+ harbour/include/hbfloat.h
+ added header file with test macros for floating point numbers
this file should be included before any other files
* harbour/src/vm/hvmall.c
* harbour/src/vm/itemapi.c
* harbour/src/common/hbprintf.c
* harbour/src/rtl/math.c
* use new macros from hbfloat.h
* harbour/src/rtl/math.c
+ include "hbmather.h"
* harbour/src/rtl/hbrandom.c
* harbour/src/rdd/dbf1.c
* harbour/contrib/xhb/hboutdbg.c
- removed not longer necessary include "hbmath.h"
* harbour/contrib/hbct/ctmath.h
- do not include <float.h> and <limits.h>
* harbour/contrib/hbct/ct.h
- do not include "hbmath.h" and "ctmath.h"
* harbour/contrib/hbct/ctmath.c
* harbour/contrib/hbct/exponent.c
* harbour/contrib/hbct/ctc.c
+ include "ctmath.h"
* harbour/contrib/hbct/trig.c
* harbour/contrib/hbct/finan.c
* harbour/contrib/hbct/ctmath2.c
+ include "ctmath.h"
+ include "hbmather.h"
* harbour/contrib/hbct/num1.c
+ include "ctmath.h"
+ include <float.h>
* harbour/include/hbinit.h
* harbour/src/rtl/hbsocket.c
* added patches from Tamas - thanks
* harbour/bin/hb-func.sh
* harbour/harbour.spec
+ create /etc/ld.so.conf.d/harbour.conf with Harbour shared lib directory
if /etc/ld.so.conf.d directory exists and user has sufficient write
permission or install package is created.
This modification allows to install Harbour anywhere and in modern
distros using /etc/ld.so.conf.d/ harbour shared libraries will be
always available for all programs
[TOMERGE 2.0]
* harbour/include/hbgtcore.h
* harbour/include/hbapigt.h
* moved declaration of hb_gtSetDefault() from hbgtcore.h to hbapigt.h
* harbour/include/hbapi.h
* harbour/src/vm/hvm.c
+ added new function hb_vmSetDefaultGT()
* harbour/bin/hb-func.sh
* harbour/utils/hbmk2/hbmk2.prg
* use hb_vmSetDefaultGT() to set default GT
* removed extern declarations for functions defined in hbapi.h
* harbour/src/vm/dynlibhb.c
+ added support for HB_LIBLOAD()/HB_LIBFREE() in DJGPP 2.04 builds
* harbour/config/global.mk
* use 8.3 names for harbour dynamic libraries in all DOS builds
* harbour/config/dos/djgpp.mk
+ added support for dynamic libraries (DXE) in DJGPP builds.
DXE is sth similar to DLL in Windows and can be used with
DJGPP 2.04. I had to make some modifications in DXE header
files to make it working so it will not work in default DJGPP
installation. I'll document these modifications in the future.
* harbour/config/dos/watcom.mk
* enable creating of harbour dynamic libraries only when HB_BUILD_DLL
is explictly set by user to 'yes'. In DOS DJGPP and OpenWatcom builds
DLLs support is not functional yet.
* harbour/config/dyn.mk
* added an option to create harbour dynamic libraries from static
ones instead of .o|.obj files. It's necessary for DXE3GEN which
internally calls LD which has some limited on maximum size of passed
parameters.
TODO: make HB_DYN_LIBS definition common for dyn.mk and lib.mk
* harbour/bin/hb-func.sh
! use CC_HB_USER_LIBS instead of HB_USER_LIBS in linked library list
current HB_USER_LIBS has different meaning in build process then
in the past
* harbour/include/hbsetup.h
* harbour/include/hbdefs.h
* harbour/include/hbthread.h
* harbour/src/common/hbver.c
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* harbour/config/linux/gcc.mk
+ harbour/config/linux/open64.mk
+ added support for Open64 C/C++ compiler in Linux builds
* harbour/src/common/hbver.c
* removed unnecessary casting compiler version number parameters
to 'short'
* extended the size of szBuf buffer as requested by Tamas
* harbour/bin/hb-func.sh
- removed not longer working HB_DB_DRVEXT
+ added HB_USER_DLL_ADDONS which can be used to activate rebuilding
Harbour shared library in postinst phase with additional libraries
specified by user in above envvar - it's not officially supported
functionality but temporary workaround until we will not add some
more generic support for above feature so I do not document it in
INSTALL
* harbour/contrib/hbwin/olecore.c
+ added support for conversion safe arrays with any type variants
to Harbour - please test
* INSTALL
* Minor formatting.
+ Added information about some commonly used, but yet useless
environment settings. These:
set HB_PATH=<Harbour root dir>
set HRB_DIR=<Some Harbour dir>
set INCLUDE=<Harbour include dir>
set LIB=<Harbour lib dir>
* Bumped copyright year.
+ Added 'documentation' section to link section.
+ Added netiquette RFC link for a start.
+ Added hbrun to required tools for cross-builds.
* bin/hb-func.sh
* harbour.spec
+ Added hbsms lib.
* harbour/bin/hb-func.sh
! added links with full version number to harbour shared library
It fixes problem with Harbour tools linked with libharbour-*.so
in system wide installation (i.e. in RPM or DEB packages)
* harbour/harbour.spec
! fixed to build with postinst.prg executed by shared linked hbrun
* harbour/bin/hb-func.sh
* harbour/debian/rules
* harbour/harbour.spec
% use HB_INST_PKGPREF instead of _DEFAULT_*_DIR
Please test DEB building in Debian, Ubuntu or in other DPKG
based distro. It probably has the same problem with postinst.prg
as all other builds.
* harbour/debian/rules
* harbour/harbour.spec
* harbour/mpkg_tgz.sh
* harbour/source/compiler/gencobj.c
* updated harbour.cfg localization in *nix builds
* harbour/utils/hbrun/Makefile
! restored support for default include directory in system wide builds
* harbour/config/instsh.mk
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
+ added support for HB_INST_PKGPREF which can be used as package
temporary install directory
* harbour/mpkg_tgz.sh
! use HB_INST_PKGPREF to allow creating install packages without
special user rights and to protect against damaging original system
installation during package building if sufficient user rights were
guarantied
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/bin/hb-func.sh
* harbour/config/global.mk
* updated to work with modified base make internals and envvars
* do not overload defined by user HB_TOOLS_PREF
! fixed c&p typo in DJGPP cross build HB_TOOLS_PREF
Warning: it still needs export HB_BUILD_SHARED=no before creating
RPMs but it should be fixed in base make together with native builds.
TODO: we should agree some conditions for alternative system wide
cross build installation, like .cfg file name and localization.
* harbour/bin/hb-func.sh
! fixed few problems introduced by macro name modifications and removed
some wrong RT checking
* harbour/bin/hb-func.sh
* harbour/source/common/hbprintf.c
* harbour/source/rtl/fstemp.c
* harbour/config/bsd/libs.mk
* updated for NetBSD builds
* harbour/bin/hb-func.sh
* harbour/config/beos/libs.mk
! use network system library instead of socket in BEOS/HAIKU builds
* harbour/source/rtl/hbsocket.c
! translate protocol/address families in BEOS/HAIKU builds
Thanks to Tomas for locating both problems
* harbour/bin/hb-func.sh
* updated hb* scripts to work modified bast build conditions
* harbour/source/rtl/gttrm/gttrm.c
* added support for terminals with automatic scroll at maxrow,maxcol
position - now it's enabled for BSD console though it may be also
usable in other terminals with such behavior but it's hard to detect
it without real tests.
* harbour/source/rtl/filebuf.c
* clear FS error code in dummy close
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiosrv.c
* added special error code which is used if some operation fails
but without setting hb_fsError()
* replaced const value with macro as Tomas suggested
* bin/hb-func.sh
* config/beos/libs.mk
* config/global.mk
* config/bsd/libs.mk
* config/darwin/libs.mk
* config/hpux/libs.mk
* config/dos/djgpp.mk
* config/linux/libs.mk
* config/sunos/libs.mk
* Renamed two variables to be in sync with latest changes:
HB_CRS_LIB -> HB_LIBNAME_CURSES
HB_SLN_LIB -> HB_LIBNAME_SLANG
(this one is not honored by GNU Make system)
; TOFIX: Honor HB_LIBNAME_SLANG in GNU Make system? Is that
needed in some cases?
* config/dos/djgpp.mk
+ Synced system lib/libpath logic with libs.mk found on
other platforms.
* harbour/bin/hb-func.sh
* updated hb* scripts to work with HAIKU/BEOS
* harbour/source/vm/dynlibhb.c
* enabled dlopen()/dlclose() in HAIKU/BEOS builds
* added TODO warning in non DOS builds which does not support
dynamic library loading
* harbour/source/rtl/fserr.c
! fixed errno translation
* harbour/source/rtl/gttrm/gttrm.c
+ added support for CTRL+{UP,DOWN,RIGHT,LEFT} keys in HAIKU XTerm.
+ added hack for UP,DOWN,RIGHT,LEFT keys in HAIKU XTerm - it works
only locally.
* added two notes about problems with HAIKU XTerm which cannot be
cleanly resolved by us:
- reverted MIDDLE and RIGHT button
- UP,DOWN,RIGHT,LEFT use the same sequences as
CTRL+{UP,DOWN,RIGHT,LEFT} in XTerm 3.x.x
any hardcoded solution is wrong in such case because XTerm can
be used for remote access.
* harbour-win-spec
* harbour-wce-spec
* INSTALL
* bin/hb-func.sh
* config/detfun.mk
* config/global.mk
* Renamed HB_XBUILD to HB_BUILD_EXTDEF=no[|yes].
Not the perfect name, but anyway.
+ Documented HB_BUILD_EXTDEF setting.
; TOFIX: There is an HB_XBUILD reference in mpkg_tgz.sh which
I couldn't correct.
* Makefile
+ Moved building of external libs before utils.
This will allow to add embedded external libs which are used
by Harbour core.
* config/darwin/clang.mk
+ Disable -c option to avoid warnings when --analyze user option is used.
* utils/hbmk2/hbmk2.prg
! Implemented fix from hbmk script for shared mingw targets in GUI mode.
* bin/hb-func.sh
! Synced wce .dll name with rest of Harbour.
* harbour/bin/hb-func.sh
* updated hb* script to work with import library and new
harbour.dll names.
+ added workaround for problem with shared linking in gui mode caused
by wrong import library in MinGW builds - without it hb* scripts
can work only with pure .DLLs
TOFIX: shared linking in gui mode does not work in hbmk2 at least
with MinGW cross builds I have in my Linux box, i.e.:
/*** tst.prg ***/
? "TEST"; WAIT
hbmk2 tst.prg -shared -gtwvt -mwindows
./tst.exe
-> Unrecoverable error 10001: It's not a GUI program
* INSTALL
+ Little improvements.
* bin/hb-func.sh
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
! Fixed gpm lib to be added at the end of liblist to make
it link after removal of lib grouping switches.
* harbour/harbour.spec
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/bin/hb-func.sh
* harbour/contrib/Makefile
+ harbour/contrib/hbnetio
+ harbour/contrib/hbnetio/netio.h
+ harbour/contrib/hbnetio/netiomt.prg
+ harbour/contrib/hbnetio/netiocli.c
+ harbour/contrib/hbnetio/netiosrv.c
+ harbour/contrib/hbnetio/Makefile
+ added new library: HBNETIO.
It implements alternative RDD IO API which uses own TCP/IP sockets
to exchange data between client and server.
This library contains client and server code and is fully MT safe.
On client side it's enough to execute:
NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>] ) -> <lOK>
function to register alternative NETIO RDD API and set default
server address and port.
<cServer> - server addres (default 127.0.0.1)
<cPort> - server port (default 2941)
<nTimeOut> - connection timeout (default -1 - not timeout)
Above settings are thread local and parameters of the 1-st successful
connection are used as default values for each new thread.
After registering NETIO client by above function each file starting
"net:" prefix is automatically redirected to given NETIO server, i.e.
use "net:mytable"
It's also possible to pass NETIO server and port as part of file name,
i.e.:
use "net:192.168.0.1:10005:mytable"
On the server side the following functions are available:
create NETIO listen socket:
NETIO_LISTEN( [<nPort>], [<cAddress>], [<cRootDir>] )
-> <pListenSocket> | NIL
accept new connection on NETIO listen socket:
NETIO_ACCEPT( <pListenSocket> [, <nTimeOut>] )
-> <pConnectionSocket> | NIL
start connection server:
NETIO_SERVER( <pConnectionSocket> ) -> NIL
stop connection accepting or connection server:
NETIO_SERVERSTOP( <pListenSocket> | <pConnectionSocket>, <lStop> )
-> NIL
activate MT NETIO server (it needs MT HVM):
NETIO_MTSERVER( [<nPort>], [<cAddress>] ) -> <pListenSocket> | NIL
To create NETIO server is enough to compile and link with MT HVM
this code:
proc main()
local pListenSocket
pListenSocket := netio_mtserver()
if empty( pListenSocket )
? "Cannot start server."
else
wait "Press any key to stop NETIO server."
netio_serverstop( pListenSocket )
pListenSocket := NIL
endif
return
NETIO works with all core RDDs (DBF, DBFFPT, DBFBLOB, DBFNTX, DBFCDX,
DBFNSX, SDF, DELIM) and any other RDD which inherits from above or
use standard RDD IO API (hb_file*() functions).
Without touching even single line in RDD code it gives the same
functionality as REDBFCDX in xHarbour but for all RDDs.
It's possible that such direct TCP/IP connection is faster then
file server protocols especially if they need more then one IP frame
to exchange data so it's one of the reason to use it in such cases.
Please make real speed tests.
The second reason to use NETIO server is resolving problem with
concurrent access to the same files using Harbour applications
compiled for different platforms, i.e. DOS, LINUX, Windows and OS2.
It's very hard to configure all client stations to use correct
locking system. NETIO fully resolves this problem so it can be
interesting alternative also for MS-Windows users only if they
do not want to play with oplocks setting on each station.
I'm interesting in user opinions about real life NETIO usage.
Have a fun with this new toy ;-)
+ harbour/contrib/hbnetio/tests
+ harbour/contrib/hbnetio/tests/netiotst.prg
+ harbour/contrib/hbnetio/tests/netiotst.hbp
+ harbour/contrib/hbnetio/tests/data
+ added simple test code for NETIO. It activates NETIO MT server
and then connects to this server to create and browse table with
memo file and production index with few tags.
* contrib/hbssl/bio.c
- Disabled feature which doesn't seem to be exported via
implibs.
+ contrib/hbssl/hbssls.hbc
+ contrib/hbssl/hbssls
+ contrib/hbssl/hbssls/Makefile
* contrib/hbssl/hbssl.hbc
* contrib/hbssl/Makefile
* Default hbssl lib is now created to link dynamically (on Windows).
+ Added static build of hbssl by the name hbssls, with new .hbc
file linking to static OpenSSL libs.
* contrib/hbssl/Makefile
+ contrib/hbssl/hbssls.hbc
* contrib/hbssl/hbssl.hbc
* bin/hb-func.sh
- Commented creation of dynamic libs. Now it's done on GNU Make
level.
* config/os2/gcc.mk
- Disabled os2/gcc .dll creation. If someone comes up with a working
solution we can readd it, but in current form it just broke os2/gcc
target with no short-term hope for a solution.
* source/common/hbver.c
+ Added "Embarcadero" to Borland C compiler name.
Borrowed from xhb / Andi Jahja
+ Readded also "Borland" to both Embarcadero and CodeGear compiler
names. Probably for most ppl "Borland" tells a hell lot more than
these names which keep changing every second year.
* contrib/gtwvg/Makefile
* contrib/hbtip/Makefile
* contrib/hbtip/hbtipssl/Makefile
* Formatting.
* bin/hb-func.sh
! Fixed recent mistake in gpm detection at postinst (now redundant)
dynlib generation phase.
* source/rtl/fssize.c
! Fixed warnings shown by mingw64 4.5.0.
* config/detfun.mk
+ Now accepting HB_WITH_* control variables in place of HB_INC_* once.
If HB_WITH_* is set it overrides HB_INC_*. Experimental yet.
* Minor in comments.
* config/detect.mk
* Minor correction for conf.mk inclusion.
* mpkg_deb.sh
* bin/hb-func.sh
* harbour.spec
* mpkg_tgz.sh
* HB_WITHOUT_GTCRS -> HB_INC_CURSES
* HB_WITHOUT_GTSLN -> HB_INC_SLANG
* HB_WITHOUT_X11 -> HB_INC_X11
* HB_GPM_MOUSE -> HB_INC_MOUSE (in few remaining hbmk script places)
; NOTE: After all this cleanup/leveling is done, probably
HB_INC_* variables will be changed to more standard
HB_WITH_* format. First I want to finish this part.
* mpkg_deb.sh
* mpkg_tgz.sh
* bin/hb-func.sh
* harbour.spec
+ HB_GPM_MOUSE -> HB_INC_GPM and HB_HAS_GPM depending on whether
it's a config var or a reaction to config (in postinst)
I've left some value in hbmk script which may need further
attention.
I didn't test these changes, please do.
* INSTALL
* Cleaned examples.
- Arranged them by host platform
- Fixed a few examples (DJGPP on NT missed HB_PLATFORM)
- Moved 'set HB_COMPILE' to make cmdline.
- Consistency changes.
- Deleted empty 'rem' lines.
- Moved log redirection from each example to general NOTE.
- Moved %1 %2 from example to general NOTE.
- Added generic *nix section.
- Added information about possible cross-build targets.
; Hopefully they are much cleaner now. In fact most information
deal with how to setup the compiler.
* config/global.mk
+ Added link to GNU Make free book.
% path checking functions rearranged, so now it can be indented.
+ Added log header line.
! Fixed to display only the first autodetect location.
* bin/postinst.cmd
* bin/postinst.bat
* bin/hb-func.sh
* Wording: 'Generating' -> 'Making'
* 'Harbour Make (hbmk2)' -> 'hbmk2' in generated hbmk.cfg.
* utils/hbmk2/hbmk2.prg
* Wording: 'Generating' -> 'Creating'
* source/pp/Makefile
- Deleted just added global.mk. It's not needed.
* config/globsh.mk
+ Added $(MV) variable with move command.
+ Added $(LN) variable with *nix link command.
! Fixed $(RM) in os2 shell rules to use os2-rm.exe
instead of shell provided del. Latter show errors
if filename doesn't exist, and we're now using
clean rules copied from dos shell, which doesn't
make extra existance checks. Well, to put it
shortly I've synced $(RM) with dos shell solution.
+ config/dj-mv.exe
* config/readme.txt
+ Added DJGPP mv tool.
* bin/hb-func.sh
! Fixed typo in syslib lone in a recent commit.
* harbour/bin/hb-func.sh
! do not strip system libraries in windows shared linking - unused
ones are not attached to harbour*.dll
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/olecore.c
+ added support to pass strings with embedded chr(0) characters
+ added new public C function:
IDispatch* hb_oleItemGet( PHB_ITEM pItem );
it extracts IDispatch* pointer from Harbour OLE pointer item.
+ added new public C function:
void hb_oleVariantUpdate( VARIANT* pVariant, PHB_ITEM pItem );
it updates pVariant structure using values from given pointer item
(used to update parameter passed by reference to activex event handler)
% optimized some code
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/axcore.c
+ added new public C function:
BOOL hb_oleAxInit( void );
+ added new public C function:
PHB_ITEM hb_oleAxControlNew( PHB_ITEM pItem, HWND hWnd );
It's C function with the same functionality as __AXGETCONTROL()
! allocate ISink structure using hb_xgrab() not hb_gcAlloc()
! initialize ISink reference counter to 0
! fixed Release() method to free all allocated resources when
reference counter reach 0
* return new Active-X control as Harbour OLE item pointer.
Warning !!! hb_parptr() and hb_itemGetPtr() do not return valid
pointer for controls created by hb_oleAxControlNew()/__AXGETCONTROL()
Use hb_oleItemGet() and hb_oleParam() to extract pointer to IDispatch
Please update existing code which used __AXGETCONTROL() pointers
at C level.
- removed not longer used hb_sink_destructor
! removed WIN_AXRELEASEOBJECT() - this function breaks reference counters
used by OLE object which needs strict updating to avoid memory leaks
(not freed OLE object) or GPF traps (accessing freed object)
+ extended Invoke() method to update OLE parameters passed by reference.
+ accept as event handler hash arrays indexed by event numbers and
values with codeblocks or function pointers. Similar functionality
exists in HWGUI when it's compiled with __USEHASHEVENTS macro and
it's much better then passing two arrays.
% optimized some code
Please test above Active-X modifications. I'm not MS-Windows user so
they have to be verified by real MS-Windows developers.
They should fix problems with memory leaks (OLE objects where never
freed) or GPF traps in C code which tired to strictly manage reference
counters.
To C programmers: if you increase reference counter to activex control
(AddRef()) then you have to release it (Release()) or activex control
will never be freed even after clearing all .prg references. It's
released only when last reference owner calls Release() method so now
valid code can keep references to IDispatch at C level without any
problem but it also means that this code can exploit problems in
existing wrong code.
* harbour/bin/hb-func.sh
* use -I<path> parameter passed to Harbour compiler in hb* scripts
also with C compiler for C code inside #pragma begindump/enddump
* harbour/bin/hb-func.sh
* updated list of system libraries used in to create harbour*.dll
in MinGW builds
* harbour/bin/postinst.sh
- removed not longer used code for build library in postinst phase
* use 'suncc' instead of 'cc' to create harbour shared library without
any platform dependent non default settings
* synced flags used in build process with flags used to create
harbour shared library in sunpro builds
* harbour/config/linux/sunpro.cf
* harbour/config/sunos/sunpro.cf
* removed options which explicitly force platform
* added -xbuiltin=%none as workaround for problems in x86 PIC builds
exploited by hbpcre library code
* changed the order of C/LD flags settings so they can be easy
overwritten by HB_ISAOPT
* bin/hb-func.sh
* make_gnu.sh
% Deleted crs/sln detection. Not needed anymore for hbmk.cfg
generation.
* config/global.cf
! Don't set DOC dir for *nix targets.