* utils/hbmk2/hbmk2.prg
! Fixed bug which made gtwvt the default GT for mingw.
! Fixed to create final exe in current dir if no output
filename was specified and the first input file
contained a path.
* Changed to use version-less harbour shared lib names
on *nixes.
! Fixed to pass full path with harbour.so to gcc.
(even when Harbour isn't run from a system location)
! Fixed compilation/linking/cleanup if an input file
wasn't in current dir.
* Temp stub file is now created in system default temp dir,
instead of the current one.
+ Harbour shared lib path is normalized when Harbour
is found on system locations. (so '*/bin/../lib/' becomes
'*/lib')
* Better I hope handling of .so/.dylib/.sl/.dll files passed
on the command line.
* bin/hb-mkdll.bat
! Fixed typo in Borland MT .dll name.
! Fixed to not include maindll.obj, maindllp.obj in
Borland .dlls.
* Minor formatting and cleanup on internal names.
+ Added checking for source lib existence, showing
message if not found.
+ Better user feedback.
* bin/postinst.bat
+ Added running hb_mkdll.bat at the end of the build
process. For now users have to use 'set HB_DLL=yes'
to enable this features. It's experimental yet,
see previous comments.
* source/vm/Makefile
+ Now generating hbmainstd and hbmainwin for remaining
(non-mingw and non-mingwce) compilers. MSVC and BCC
need this for -shared linkage, I'm not sure about the
rest, anyhow we can disable it for other compilers
if it isn't needed in future.
* bin/hb-func.sh
% Refined hbmkcfg.hbp setup to better detect conditions.
* contrib/hbcurl/hbcurl.c
! Pacified this only one new gcc 4.3.3 warning.
* config/win/gcc.cf
* config/win/mingw.cf
+ Added -mtune=pentiumpro gcc optimization.
* make_b32.mak
* make_vc.mak
* contrib/mtpl_b32.mak
* contrib/mtpl_vc.mak
* Minor fix.
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbcurl/Makefile
- Removed recently added HB_HBCURL_USR_C.
* contrib/gtwvg/tests/demowvg.prg
* Replaced '#if __MW__' with 'IF hb_vmmt()'.
(not tested)
* contrib/gtwvg/tests/hbmk_b32.bat
* contrib/gtwvg/tests/hbmk_vc.bat
! Added hbwin.lib to HB_USER_LIBS list.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvgclass.prg
* contrib/gtwvg/wvgax.prg
* contrib/gtwvg/wvgphdlr.prg
* contrib/gtwvg/wvgpaint.prg
* contrib/gtwvg/wvgcore.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwnd.prg
* contrib/gtwvg/wvgcrt.prg
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgsink.c
! SVN IDs missing, mistyped. SVN tags now reset.
; TOFIX: GTWVG is now broken with MSVC 8 and/or C++ and/or 64-bit modes,
also unsafe string function is used:
- strcat() should be hb_strncat().
- Usual but wrong HRESULT to ULONG conversions break in 64-bit.
- Some newest Windows features should be probably guarded.
.\gtwvg.c(1913) : warning C4013: 'TrackMouseEvent' undefined; assuming extern returning int
.\gtwvg.c(3205) : error C2065: 'WS_EX_LAYERED' : undeclared identifier
.\wvgsink.c(128) : warning C4244: 'return' : conversion from 'HB_THREAD_NO' to 'int', possible loss of data
.\wvgsink.c(339) : warning C4245: 'return' : conversion from 'HRESULT' to 'ULONG', signed/unsigned mismatch
.\wvgsink.c(352) : warning C4245: 'return' : conversion from 'HRESULT' to 'ULONG', signed/unsigned mismatch
.\wvgsink.c(368) : warning C4245: 'return' : conversion from 'HRESULT' to 'ULONG', signed/unsigned mismatch
.\wvgsink.c(392) : warning C4245: 'return' : conversion from 'HRESULT' to 'ULONG', signed/unsigned mismatch
.\wvgsink.c(455) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(457) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(460) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(463) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(466) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(469) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(472) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(475) : error C2039: 'n1' : is not a member of 'tagVARIANT'
.\wvgsink.c(633) : warning C4305: 'type cast' : truncation from 'HB_LONG' to 'device_interface *'
.\wvgsink.c(652) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
* contrib/hbcurl/common.mak
* contrib/hbcurl/Makefile
* contrib/hbcurl/hbcurl.c
+ contrib/hbcurl/hbcurlm.c
+ Some disabled (not mainstream) functions moved to
a separate file.
* contrib/hbwin/win_prn2.c
* Minor fix in comment.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added libcurl 7.19.1 features.
% Removed hashing calls from some parts which are
only compiled for libcurl versions which don't need
hashing anyway.
* ChangeLog
* Changed CVS ID tag name in some very old entries to
avoid them being replaced by versioning system.
* contrib/hbcurl/hbcurl.c
% Removed two Harbour level functions not really
adding to functionality but forcing linkage of these
(otherwise unused) curl interfaces.
CURL_SHARE_STRERROR()
CURL_MULTI_STRERROR()
INCOMPATIBLE (but I doubt even a single user would be affected)
* source/rtl/version.c
! Fix to prev.
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbcurl/Makefile
+ Added HB_HBCURL_USR_C envvar to customize C switches
specifically for this contrib.
* contrib/hbcurl/hbcurl.c
! Disabled string hashing for curl_formadd() with
CURLFORM_COPYNAME. I've misread the docs (sorry Przemek),
hashing is only needed for CURLFORM_PTRNAME, which we
currently don't use. I've disbled some code to avoid
unused function warnings, but other than that it may
be good to have the possibility for hashing for future
functions too.
! Fixed/Added support for CURLFORM_COPYNAME parameter
with embedded zeroes by passing the string length
using CURLFORM_NAMELENGTH. Not tested.
* harbour/contrib/hbcurl/hbcurl.c
* activate string hasing in all builds for curl_formadd() with
CURLFORM_COPYNAME
* do not use string hasing fro curl_slist_append()
Many thanks to Viktor for help.
* harbour/source/common/hbwince.c
* formatting
* harbour/contrib/hbcurl/hbcurl.c
+ use hash table to keep strings passed to CURL library accessible
even if HVM destroys them. It should allow to safely use HBCURL
wrapper also with CURL library older then 7.17.0 though it can
be a little bit expensive in some cases. The allocated strings
are freed when CURL pointer is destroyed (directly or by
CURL_EASY_CLEANUP()) or reset by CURL_EASY_RESET().
This feature is enabled only when compiled for CURL libraries
older then 7.17.0 or when user set explicitly compile time macro
HB_CURL_HASH_STRINGS
Viktor, you are more familiar with this code so please check it.
* harbour/contrib/hbmysql/Makefile
* harbour/contrib/hbodbc/Makefile
* harbour/contrib/hbsqlit3/Makefile
* harbour/contrib/hbfbird/Makefile
* harbour/contrib/hbcurl/Makefile
* harbour/contrib/hbhpdf/Makefile
* harbour/contrib/hbpgsql/Makefile
* harbour/contrib/hbfimage/Makefile
* harbour/contrib/hbgd/Makefile
* harbour/contrib/hbgf/hbgfgtk/Makefile
* do not add default system include directory to C_USR during testing
for foreign header files when HB_XBUILD variable is set - protection
against including wrong header files in cross builds
* harbour/contrib/hbtpathy/ChangeLog
* changed SVN EOL style to 'native'
* harbour/contrib/hbbmcdx/bmdbfcdx.c
* pacified warning
* contrib/hbcurl/hbcurl.c
! CURL_EASY_GETINFO() will now return the proper type
(with an empty value) if the given info type is not
supported in the libcurl version used at build-time.
(This makes the test program not crash after latest
hbcurl changes.)
* contrib/hbcurl/hbcurl.c
! Fixed compile errors when compiled with some (but not all
possible) older libcurl versions.
; It still requires libcurl 7.17.0 in order to work properly though.
* contrib/hbcurl/make_gcc.sh
* contrib/hbgd/tests/bld.sh
* contrib/hbhpdf/make_gcc.sh
* contrib/hbsqlit2/make_gcc.sh
* contrib/hbsqlit3/make_gcc.sh
* contrib/hbvpdf/make_gcc.sh
+ svn propset svn:executable ON *
; Thanks Marek. I'm updating my local files to avoid
this in the future.
* 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
* 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/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.
* contrib/Makefile
- contrib/hbgf/gtk
- contrib/hbgf/os2pm
- contrib/hbgf/win32
+ contrib/hbgf/hbgfw32
+ contrib/hbgf/hbgfos2
+ contrib/hbgf/hbgfgtk
+ contrib/hbgf/Makefile
* contrib/hbgf/hbgfos2/Makefile
+ Decentralized GNU make for these contribs.
* Renamed according to stds.
! Fix to be built under Linux/Win32.
(if they don't work they should be fixed/disabled locally)
* contrib/Makefile
* contrib/hbodbc/Makefile
* contrib/hbw32/Makefile
* contrib/rddado/Makefile
* Further decentralization of contrib building decisions.
+ Added all existing contribs to the list. Separated into
two sections: standalone contribs, and ones with external
dependencies.
; TODO: Refine this by some clever commenting.
This is a multiplatform issue, so we need to
work together.
* contrib/examples/Makefile
! Fixed to include newly added examples.
* 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
+ Some steps made to make it possible to disable
any messings with .dlls. This is not yet complete,
and the goal is to be able to use HB_INC_* to
specify include dirs for external packages on
all make systems (GNU, non-GNU .bat, non-GNU .sh)
[TOMERGE 1.0.0RC1]
* include/hbgtinfo.ch
+ Added comment to compatibility #defines, to not use
them, since they deprecated.
[TOMERGE RC1]
* HB_GTI_CB_* -> HB_GTE_* (stands for GT Event). Removed
plain GTI_ versions, GTI_* range is frozen, pls don't
and new codes to them and especially don't use them in
core code.
* include/hbgfx.ch
* include/hbgfxdef.ch
* contrib/gtwvg/gtwvg.c
* source/rtl/gtxwc/gtxwc.c
* source/rtl/gtwvt/gtwvt.c
* GFX_* constants renamed to HB_GFX_*. The old ones are
still working but it's recommended to update to use HB_GFX_*.
#define HB_GT_NO_XHB to disable the compatibility #defines,
if it collides with your code or you want to test after
transition.
; [TOMERGE RC1]
* source/rtl/dirdrive.c
! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled
so it won't make a difference in default builds.
; [TOMERGE RC1]
* source/rtl/filesys.c
! Fixed hb_fsIsDrv() to use GetDriveTypeA() API, to avoid some
win32 system MessageBox() to be shown when certain types of
drives (f.e. USB reader devices) are queried.
; Please test.
; TOFIX: hb_fsChDrv() suffers from the same problem.
; [TOMERGE RC1 - after testing]
* contrib/hbcurl/hbcurl.c
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
% Optimized out explicit function name strings in RTE calls.
! The above is actually a fix (I hope) for the one in
hb_adsCheckLock(). Error text also made more consistent.
; [TOMERGE RC1 - after testing]
* contrib/hbw32/w32_prn.c
% Minor optimizations, cleanups.
* contrib/hbmysql/tmysql.prg
* contrib/hbmysql/mysql.c
* contrib/hbmysql/mysql.ch
* contrib/hbtpathy/telepath.ch
* contrib/hbtpathy/tplinux.c
* contrib/hbtpathy/tpwin32.c
* contrib/hbtpathy/tpos2.c
* contrib/hbtpathy/tpcommon.c
* contrib/hbmsql/msql.h
* contrib/hbmsql/msql.ch
* contrib/hbmsql/msql.c
* contrib/hbfbird/firebird.c
* contrib/hbfbird/tests/test.prg
* contrib/hbapollo/apollo.c
* contrib/hbmisc/hb_f.c
* General code cleanup, formatting, minor optimizations,
Harbour API usage cleanup, ANSI comments.
! Several minor fixes to Firebird interface code, but it
still doesn't seem to work, and the code is very unclear,
partly because of the strange/unsafe Firebird API.
! Firebird test.prg fixes: Variable name typos, undeclared
vars, hard-coded paths.
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* Fixed location where .libs are looked for.
[TOMERGE RC1]
* contrib/hbcurl/hbcurl.c
% Minor cleanups.
[TOMERGE RC1]
* contrib/hbodbc/make_vc.bat
! Removed .dll -> .lib conversion for MSVC,
since the .lib is provided by the MS SDK anyway.
; [TOMERGE RC1]
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/tests/ftp_uldl.prg
! Cleanup the rare case when curl_easy_init() returns NULL.
Functions always return the same type, even in case libcurl
failed to initialize.
+ Returns value for above cases is now HB_CURLE_ERROR (== -1).
! CURL_*() passed pointers now are also checked for the pointer's
type, and RTE is thrown if they are not HBCURL ones. So for
example in the very rare case that any hbcurl functions would
get passed a GC pointer returned by another API, an argument
error would be thrown now.
! CURL_ESCAPE()/CURL_UNESCAPE() fixed picked parameter ordinal.
+ CURL_ESCAPE()/CURL_UNESCAPE() added parameter checking.
; [TOMERGE RC1]
* contrib/rddads/adsmgmnt.c
* Minor formatting.