* package/winuni/mpkg_win_uni.bat
! added workaround for what it seems like a BCC IMPLIB tool
bug (met in the past a few times already), where IMPLIB
will forget to add leading underscore for certain symbols,
leading to unexplained "unresolved external" errors when
trying hbmk2 with -shared option with BCC. The bug is present
in BCC 5.5 and BCC 5.8, no newer versions tested.
The workaround is to convert to .def file first using IMPDEF,
then correct the .def to avoid an IMPLIB pitfall, where it
cannot handle '-' char in library name unless enclosed between
double-quotes (but IMPDEF doesn't add those double quotes).
[ So now winuni pkg builder script requires GNU SED tool.]
Then the corrected .def file can be converted to .lib by
IMPLIB correctly.
[TOMERGE 3.0]
* harbour/src/vm/classes.c
! added missing initialization of onError and destructor flags.
The problem could be exploited when class inherits from more
then one parent classes and onError handler[s] or destructor[s]
were neither defined in the class nor in the first ancestor.
* harbour/contrib/hbwin/olecore.c
+ added helper PRG functions:
__oleInvokeMethod(), __oleInvokePut(), __oleInvokeGet(),
__oleGetNameId()
* contrib/hbct/ctwin.c
! use correct format string for int
* contrib/hbexpat/internal.c
! fix comparison of integers of different signs
* contrib/hbnf/fttext.c
! remove extraneous parentheses
; issues found by Clang
* harbour/src/rtl/hbcomhb.c
* indenting
* harbour/contrib/xhb/xhb.hbp
- harbour/contrib/xhb/xthrow.prg
+ harbour/contrib/xhb/xthrow.c
* rewritten THROW() function in C
* harbour/contrib/hbwin/olecore.c
+ add PRG function __OLEISDISP() which can be used to verify if given
parameter is Harbour OLE pointer item.
* harbour/src/vm/runner.c
* do not execute EXIT procedures inside HB_HRBDO() call.
This modification allows to call HB_HRBDO() more then
once for the same HRB module without activating INIT
and EXIT procedures on each call. EXIT procedures will
be activated when HRB modules is unloaded or on HVM QUIT.
* harbour/contrib/hbwin/axcore.c
! cleaned casting
* contrib/gtwvg/wvgutils.c
- Removed: WVT__GetOpenFileName() and WVT__GetSaveFileName() functions.
* contrib/gtwvg/wvgpaint.prg
* Swapped: Wvg_GetOpenFileName() now calls hbwin/Win_GetOpenFileName()
and Wvg_GetSaveFileName() now calls hbwin/Win_GetSaveFileName().
hbwin implementation is far superior.
* harbour/src/rtl/fserr.c
! moved HB_TRACE() message - it was overwritting OS error code.
* harbour/src/rtl/filesys.c
! removed dup2() function call left by mistake during some modifications
* harbour/include/hbstack.h
* harbour/src/vm/estack.c
+ added internal function hb_stackLockCount()
* harbour/src/vm/hvm.c
* modified hb_vmRequestReenter() to return HB_FALSE instead of GPF
when called from non HVM thread.
* extended hb_vmRequestReenter[Ext]()/hb_vmRequestRestore() to
save and restore HVM stack lock state and lock HVM stack before
successful return.
This extensions is critical for MT applications which need
to safely reenter HVM also from code encapsulated inside unknown
number of hb_vnUnlock()/hb_vnLock() calls.
[TOMERGE 3.0]
* harbour/src/compiler/cmdcheck.c
% removed redundant conditions
* src/3rd/png/pngerror.c
* src/3rd/png/pngwrite.c
* src/3rd/png/pngconf.h
* src/3rd/png/pngwtran.c
* src/3rd/png/pngset.c
* src/3rd/png/pngpread.c
* src/3rd/png/LICENSE
* src/3rd/png/pngrutil.c
* src/3rd/png/png.dif
* src/3rd/png/pnginfo.h
* src/3rd/png/pngstru.h
* src/3rd/png/pngwutil.c
* src/3rd/png/pnglconf.h
* src/3rd/png/pngread.c
* src/3rd/png/pngmem.c
* src/3rd/png/png.c
* src/3rd/png/png.h
* src/3rd/png/pngpriv.h
* src/3rd/png/pngrtran.c
* src/3rd/png/Makefile
* src/3rd/png/pngtrans.c
* update to 1.5.4
* contrib/3rd/sqlite3/sqlite3.c
* contrib/3rd/sqlite3/sqlite3.dif
* contrib/3rd/sqlite3/sqlite3.h
* contrib/3rd/sqlite3/sqlite3.hbp
* update to 3.7.7.1
; Both patch from Tamas Tevesz. Thank you.
; Administrative note: I'm also giving up applying patches,
so I'm looking for devs taking over this task. I'd be
most happy if Tamas could commit directly his own, since
he is doing a great job and the patches almost never require
any touchups, so I'm gladly opening R/W access for direct
commit. Tamas, what do you think?
* package/winuni/RELNOTES
! adjusted hbmk2 cmdline example for building wce apps
(it gets around the problem fixed in hbmk2 below)
[TOMERGE 3.0]
* utils/hbmk2/hbmk2.prg
! fixed to only look for ccprefix/ccpostfix-ed gcc executable
on wce, if ccprefix/ccpostfix is non-empty. This fixes misdetection
of cygwin when -plat=wce is used.
* contrib/hbnf/menutonf.prg
! FT_MenuTo() fixed to default 3rd parameter if non-logical type
is passed. this is original NFLIB bug. Spotted and fix siggested
by Klas Engwall.
* ChangeLog
+ added TOMERGE to previous entry
* src/compiler/cmdcheck.c
! added workaround for what it seems like a clang bug in latest Apple XCode 4.1
'Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)',
manifesting in this error:
---
/Developer/usr/bin/clang -I. -I../../../../../include -fno-common -W -Wall -O3 -o cmdcheck.o -c ../../../cmdcheck.c
clang: error: unable to execute command: Segmentation fault: 11
clang: error: clang frontend command failed due to signal 1 (use -v to see invocation)
---
The fix simply introduces a new variable to use ptr reference instead of
indexed vector access in one specific loop.
Please review/refix it, I didn't make functional tests.
* contrib/hbide/idemain.prg
+ Implemented: Order of "Functions List" is remembered as per
last setting initiated by the user via context menu. The order
can be "Natural" or "Ascending".
* harbour/contrib/hbwin/olecore.c
! fixed to use Harbour STR API instead of hardcoded ANSI CP for
conversions between Harbour and OLE items.
Patch provided by Phil Krylov with some minor modifications.
* harbour/src/vm/hvm.c
! added protection against self-recursive iterating in code like:
FOR EACH var in @var
[...]
NEXT
Now RTE is generated in such case instead of GPF
* NEWS
+ copied known issues from recent Harbour thread
+ added text redirecting users to ChangeLog for new
featues, changes and possible incompatibilities.
[TOMERGE 3.0]
* debian/changelog
! forgot to bump version in debian packaging
best is to use plain make, apparently debian packaging was
not tested since quite long.
[TOMERGE 3.0]
2011-07-18 01:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* debian/rules
- disabled contrib dynlibs.
[TOMERGE 3.0]
* include/extend.api
* include/harbour.hbx
* include/hbdefs.h
* include/hbapi.h
* include/hbvm.h
* include/hbapigt.h
* include/clipdefs.h
- src/pp/pplib3.c
* src/pp/Makefile
* src/vm/hvm.c
* src/rtl/hbtoken.c
* src/rtl/inkey.c
* src/rdd/usrrdd/usrrdd.c
* contrib/hbmysql/hbmysql.hbx
- contrib/hbmysql/mysqlold.c
* contrib/hbmysql/mysql.c
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmysql/mysql.ch
* contrib/hbpgsql/hbpgsql.hbx
* contrib/hbpgsql/postgres.c
* contrib/hbwin/hbwin.hbp
* contrib/hbwin/hbwin.hbx
- contrib/hbwin/legacy.prg
- contrib/hbwin/legacycd.c
- contrib/hbwin/legacyco.c
- contrib/hbwin/legacycp.c
* contrib/hbodbc/hbodbc.hbx
- contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* contrib/hbodbc/hbodbc.hbp
* contrib/hbtip/utils.c
* contrib/hbtip/hbtip.hbx
* deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
job started many years ago.
; this also means that windows.h and os2.h will no longer be
included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
so if someone needs these headers to access system APIs, they
should be manually included in each source file. Some old
hacks have also been removed which disabled some Clipper
compatibility macros/types in compatibility headers (clipdefs.h, *.api),
if someone uses these alongside windows.h/os2.h inclusion, it will
be broken, here the strategy is to move to Harbour types and
Harbour API headers, simply Clipper headers and newer OS headers
are not compatible.
; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
; INKEY_RAW is no more, use HB_INKEY_RAW instead.
; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
Harbour alternative which has it.
; Some legacy PP functions are no more.
; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
ones instead.
; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
; hbmysql, hbodbc compatibilty and deprecated functions were deleted
; hbwin compatibility functions were deleted. If there is demand, mainly to
help migrating xhb users, they can be readded to xhb lib by interested
developers, now deleted code should be changed to fall back to dummies
on non-Windows builds.
; some deprecated hbpgsql functions were deleted
; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.
; Anyone affected by above changes has the option to stick with 3.0.x Harbour
versions or to update their source code according to above instructions
(or instructions included in past ChangeLog entries)
; Some fallouts in Harbour build is possible after these changes
* include/extend.api
* include/hbdefs.h
* include/hbapi.h
* include/clipdefs.h
* contrib/hbpost.hbm
* contrib/hbfimage/hbfimage.hbp
* config/rules.mk
- deleted HB_LEGACY_TYPES_OFF macro. it is the default
in post 3.0.x Harbour versions.
+ added HB_LEGACY_TYPES_ON macro. This should be used when
building C code which uses Clipper/Harbour legacy types
(f.e. LONG or BOOL).
It will stay until next stable version when all legacy
types will be permanently removed. This gives time for
3rd party developers to update code to use Harbour
(non-legacy) types in C code.
See '2009-11-01 11:35 UTC+0100 Viktor Szakats' ChangeLog
entry about non-legacy Harbour types.
* contrib/hbmysql/hbmysql.hbc
* contrib/sddmy/sddmy.hbc
- deleted (most probably static) OpenSSL libs forced in .hbc file.
if such requirements are present for certain versions/builds of
3rd party lib I suggest to add them via HB_USER_LDFLAGS options
at build time. This way the build will not break when using
different builds of these libs. The bottom line is that Harbour
.hbc files are not the best place to track the dependency tree
of libs linked statically to 3rd party libs. [to help such
cases, maybe we can add them as comments, but even better if
dynamic versions of these libs are used, so user don't have
to deal with dependency tree at build time at all]
* src/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
! fixed to use LONG instead of DWORD for GetWindowLong() values
! fixed to use LONG_PTR instead of LONG for GetWindowLongPtr() values
on systems requiring it, f.e. win64 builds
; review me pls
; TODO: GTWVG would have to be synced with recent GTWVT changes
* contrib/hbmysql/hbmysql.hbc
* contrib/sddmy/sddmy.hbc
! modified non-*nix 3rd party libs references to fix them for OS/2.
based on David's test results