* contrib/hbapollo/make_b32.bat
* contrib/hbapollo/make_vc.bat
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* contrib/hbfimage/make_b32.bat
* contrib/hbfimage/make_vc.bat
* contrib/hbgd/make_b32.bat
* contrib/hbgd/make_vc.bat
* contrib/hbhpdf/make_b32.bat
* contrib/hbhpdf/make_vc.bat
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
* contrib/hbpgsql/make_b32.bat
* contrib/hbpgsql/make_vc.bat
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
+ Added possibility to use HB_INC_* envvars to
specify the header directories for external
packages. This way _all_ Harbour make systems
now able to use the same common logic to specify
external header dirs. (For GNU-make you can even
use a dir list).
If HB_INC_* is used with the non-GNU make system,
the .dll to .lib generation _won't_ happen, which
is desirable for binary builds for distribution.
HB_DIR_* envvars continue to work, in this case
.libs are copied/generated from the external .dlls,
and this is useful who build their Harbour from
source.
For official Harbour binary distributions HB_INC_*
must be used.
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/common.mak
- harbour/contrib/xhb/hbchksum.c
* removed HB_CHECKSUM() code - it's not necessary
* harbour/contrib/xhb/xhbfunc.c
+ redirected HB_CHECKSUM() to HB_ADLER32()
* harbour/source/rtl/gtwvt/gtwvt.c
! fixed WINCE builds. It was only for MiGWCE which partially emulates
GetSystemMenu() but probably other builds will report that this
function is missing.
If possible please test if current Harbour application can be
executed in real WinCE environment.
* harbour/make_deb.sh
* updated contrib library list
* harbour/contrib/hbmysql/mysql.c
! fixed compilation for older MYSQL versions
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgutils.c
! fixed UNICODE builds
+ harbour/config/none.cf
+ added dummy header file for GNU make to avoid errors on unsupported
platforms
* harbour/contrib/hbw32ddr/Makefile
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbwhat32/Makefile
* harbour/contrib/hbtpathy/Makefile
* harbour/contrib/hbw32/Makefile
* harbour/contrib/hbole/Makefile
* harbour/contrib/hbapollo/Makefile
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbziparch/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/rddado/Makefile
* harbour/contrib/gtwvg/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/rddads/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbgf/hbgfw32/Makefile
* harbour/contrib/hbgf/hbgfos2/Makefile
* harbour/contrib/hbgf/hbgfgtk/Makefile
* harbour/contrib/hbtip/Makefile
* harbour/contrib/hbbmcdx/Makefile
* updated to not generate errors for unsupported builds
* include/hbdefs.h
! Fixed DLL creation for MSVC (and maybe compilers, too).
Thanks to Marek Paliwoda for the hint.
* contrib/hbtpathy/tpos2.c
! Blind attempt to fix OS/2 compile error.
* contrib/xhb/hbcomprs.c
* contrib/xhb/hbcomprs.h
% Stripped yet another copy of an old embedded ZLIB version
from Harbour. Now xhb compatibility compression functions
use Harbour hbzlib.lib, thus reducing binary size and
avoiding security problems with old ZLIB.
; Now the only copy of ZLIB in Harbour is in source/hbzlib.
% Using HB_ERR_FUNCNAME.
* contrib/hbziparch/hbzipnew.cpp
! Fixed a potential GPFs. (GCC warnings)
* contrib/hbpgsql/postgres.c
* contrib/hbwhat32/_wininet.c
! Fixed two const casting warnings in MSVS non-CPP mode.
- tests/run_test.bat
+ tests/run_prg_all.bat
- tests/gnu_test.bat
+ tests/bld_gnu.bat
- tests/bld4dll.bat
+ tests/bld_b32_dll.bat
+ Some renames in the hope they will be easier to
understand, and more standard.
! Fixed .dll reference.
* contrib/hbziparch/Makefile
! Excluded from Darwin and OS/2 builds.
; NOTE: The Windows build I've tried are now building relatively
clearly, only with the 1) known warnings 2) warnings in
foreign code, plus 3) quite some in contrib/hbwhat32.
Tested compilers:
Win32
BCC551 - OK
BCC582 - OK
MSVS2005 - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2005cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2008 - OK (doesn't work with set HB_BUILD_DLL=yes)
MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
MinGW412 - OK
MinGW430
Win64
MSVS2008
Fails with:
'include\hbinit.h(218) : fatal error C1189: #error : Unknown initialization method.
MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes)
Linux-Ubuntu (7.10)
GCC413 - OK (FreeImage f.e. fails.)
Darwin (OS X Leopard 10.5.4)
GCC401
Fails with a lot of:
'Wrong type of codeblock parameter, is: 1, should be: 8'
* source/rtl/hbinet.c
% Recently added code fixed to use HB_ERR_FUNCNAME.
! Quick fix to recently added code to compile with MSVC.
Please review, it seem that get/setsockopt() 4th parameter
is void* in Linux but char* in Windows.
* harbour-ce-spec
* harbour-w32-spec
* include/hbver.h
* harbour.spec
* RC1 -> RC2
* contrib/hbziparch/hbziparc.c
! Fixed potential GPF in HBZIPCLEANUP().
! HBZIPCLEANUP() changed to be a HB_FUNC() (from HB_EXIT_FUNC()),
so now it has to be called manually, but at least it's
now doing something useful. (HB_EXIT_FUNC() in .c code
never gets executed by itself).
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* define whole contrib library list for new contrib/Makefile
+ added header files to respect differences between platform
native and Windows only headers
* harbour/harbour.spec
* define whole contrib library list for new contrib/Makefile
* divided libraries which needs external references into
separated packages
! removed unnecessary dependences in binaries rebuild in shared
mode
* harbour/contrib/hbodbc/odbc.c
* pacified warnings
% minor optimization
* harbour/contrib/hbcurl/hbcurl.c
* harbour/contrib/hbfbird/firebird.c
* harbour/source/vm/extrap.c
* casting to pacify warnings
* harbour/contrib/gtwvg/gtwvg.c
! fixed pointer comparison - C uses different precedence for !
operator then Clipper/xbase
* harbour/source/rtl/hbinet.c
! fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong
socket parameter is passed. Please remember that after
RT error the control is returned to application.
% removed any hardcoded limits for size of data passed in
single read/write call during normal stream operations
- removed iSndBufSize/iRcvBufSize
* contrib/hbapollo/Makefile
* contrib/hbcurl/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmysql/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
* Changed to use default for all architecture.
Let's hope that checking existence for mixed platform
paths won't create problems on any platforms.
+ Added include path detection logic to hbapollo, too.
+ Added Darwin path to hbgd include path list.
+ Added std Linux path to hbfbird include path list.
; TOFIX: Seems that 'ifneq ($(HB_INC_*_OK),)' doesn't
really work if no path in the path list is valid.
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
* contrib/hbmysql/Makefile
- Removed -DBIG_JOINS. If someone needs this, it can be
specified via C_USR, but to me it seem this is a MySQL
build-time switch, and it has no effect for interface
code.
* contrib/hbapollo/Makefile
* contrib/hbcurl/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmysql/Makefile
* contrib/hbpgsql/Makefile
* contrib/rddads/Makefile
+ Now possible to specify external header location using
the HB_INC_* envars (similar to the ones used in non-GNU
makefiles). In GNU make, multiple dirs can be specified,
and the make system will always autodetect whether the
headers are really there. If not, the build process will
be skipped for that contrib.
Additionally in Linux, the HB_INC_* vars will be inited
with a default, if not specified by the builder. These
default should be verified by Linux users and extended/fixed
accordingly. Most of them were already initialized for
Linux, so there should be no big surprises here.
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
+ Synced C options with GNU make. (-DBIG_JOINS=1 added)
* contrib/hbmysql/make_vc.bat
- Removed -D__WIN32__. Now it seems to work without it.
* contrib/hbcurl/make_gcc.sh
! Fixed example dir in comment.
* include/hbapi.h
* source/rtl/set.c
* source/vm/fm.c
! Fixed _SET_HBOUTLOG, _SET_HBOUTLOGINFO handling in fm.c.
hb_setget*() functions cannot be used here as the set
system is deinited at this point. So local buffers are
holding the values.
* contrib/gtwvg/Makefile
* contrib/hbapollo/Makefile
* contrib/hbbtree/Makefile
* contrib/hbclipsm/Makefile
* contrib/hbct/Makefile
* contrib/hbfbird/Makefile
* contrib/hbfimage/Makefile
* contrib/hbgd/Makefile
* contrib/hbhpdf/Makefile
* contrib/hbmisc/Makefile
* contrib/hbmsql/Makefile
* contrib/hbmysql/Makefile
* contrib/hbmzip/Makefile
* contrib/hbnf/Makefile
* contrib/hbodbc/Makefile
* contrib/hbpgsql/Makefile
* contrib/hbsqlit2/Makefile
* contrib/hbsqlit3/Makefile
* contrib/hbtip/Makefile
* contrib/hbtpathy/Makefile
* contrib/hbvpdf/Makefile
* contrib/hbw32/Makefile
* contrib/hbw32ddr/Makefile
* contrib/hbwhat32/Makefile
* contrib/rddado/Makefile
* contrib/rddads/Makefile
! CFLAGS -> C_USR
* var = var + x -> var += x
! Added header install rules for all places where such
headers are defined. I wonder why isn't this the default
in our GNU-make system.
* few other minor cleanups.
* contrib/rddads/Makefile
* Experimenting with HB_INC_ADS implementation in GNU-make system.
HB_INC_ADS can now used to enable to rddads builds.
In GNU-make HB_INC_ADS can contain a list of possible places
where headers may be found. GNU-make will validate these and
if the headers were found in any of these places, rddads will
be built. For Linux there are some default dirs which will
always be checked.
'HB_WITHOUT_ADS' and 'ACE_DIRS' is not longer used.
; Please test. If this works out okay, we can use this method
for the rest of 3rd party dependent contribs.
* contrib/rddads/Makefile
% Don't define WIN32 in GNU-makefiles for w32.
* contrib/hbmisc/Makefile
! Don't include non-existing 'test' dir in make.
* contrib/gtwvg/Makefile
* contrib/gtwvg/common.mak
! Not installing private .h file to common include dir.
* contrib/hbw32ddr/w32_ddrw.cpp
! Fixed one GCC warning. (Some remain)
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/hbgtwvg.ch
+ Implemented application to run as a System Tray Icon.
; IMPLEMENTATION:
Hb_GtInfo( HB_GTI_SPEC, HB_GTS_SYSTRAYICON, ;
{ nMode /*NIM_ADD/MODIFY/DELETE*/, ;
nIconType /*NIT_FILE/RESOURCEBYNAME/RESOURCEBYID*/, ;
cnFileNameOrResourceName|Id, ;
cTooltip } )
Right-click on SysTrayIcon will restore the appln in its original state.
: TOKNOW: Does it qualify for GTWVT?
* tests/wvtext.prg
! Modified to show the SysTrayIcon feature if linked with GTWVG.
Link Guarded againt __GTWVG__ define.
* source/vm/extrap.c
+ Added Windows GPF detailed information dump (with some
modifications) provided by Mindaugas Kavaliauskas.
Many thanks.
; It would be very nice to have similar for Linux, OS/2,
Darwin.
* tests/extend2.c
* source/debug/dbgentry.c
* contrib/hbodbc/odbc.c
* contrib/hbw32/tprinter.c
* contrib/hbziparch/hbziparc.c
* contrib/hbziparch/hbzipnew.cpp
* contrib/hbpgsql/postgres.c
! Changed strcpy() -> hb_strncpy()
! Changed strcat() -> hb_strncat()
! Some possible buffer overruns fixed along the way in hbziparch.lib
! Fixed some filename buffer sizes in hbziparch.lib
; TOFIX: There are still some remaining strcpy()/strcat()
calls in Harbour code:
core: dbgentry.c, hbwince.c
contrib: hbnf, hbw32, hbwhat32, hbtip
foreign code: zlib, sqlite2/3
Not all of these are necessarily bugs (but it's
difficult to know without checking each).
* include/set.ch
* include/hbset.h
* source/rtl/set.c
* source/vm/fm.c
* source/vm/extrap.c
+ Added: Set( _SET_HBOUTLOGINFO[, <cValue>] ) -> <cOldValue>
Default value: ""
This user defined text will be included in each hb_out.log
messages. This way it's possible to include custom information
in these entries to help identify and locate them.
! Fixed a few string not marked with HB_I_() translation
marker.
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcln.prg
* contrib/hbtip/httpcln.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/sendmail.prg
+ Added methods setget to interrogate buffer size send/recive
METHOD InetRcvBufSize( SocketCon, nSizeBuff )
METHOD InetSndBufSize( SocketCon, nSizeBuff )
+ Added data members to assign default buffer sizes
DATA nDefaultRcvBuffSize
DATA nDefaultSndBuffSize
+ Asigned default buffer size to 64kb only for FTP transfer, previous to open sockets
::nDefaultSndBuffSize := 65536
::nDefaultRcvBuffSize := 65536
* Fixed port ftp protocol.
* source/rtl/hbinet.c
* now works with default system buffer, for example 8kb at W2000. instead of harcoded 1400
* contrib/hbwhat32/wincorec.c
* contrib/hbwhat32/_winwnd.c
* contrib/hbwhat32/wincore.prg
+ hb_retnl()/hb_parnl() calls replaced with hb_retptr()/hb_parptr().
This way it won't break on Win64.
; NOTE1: Functions dealing with wndproc/dlgproc functions on the
Harbour level will now return/require POINTER types instead
of numerics. App level code should be updated accordingly.
INCOMPATIBLE.
; NOTE2: There might be other places in hbwhat32 where such conversion
would be necessary.
; Please test.