* make_b32.mak
* make_vc.mak
* make_gcc.mak
* common.mak
+ Added generation of hbmainstd and hbmainwin libs.
* bin/hbmk.bat
+ Changed to use above libs. This also means that '-shared'
can now be used in Harbour binary distributions, too.
* bin/hbmk.bat
+ Added '-shared' support for MSVC.
! Fixed to cleanup mainstd.obj and mainwin.obj.
* ChangeLog
* Some TODO/TOFIX marked as [DONE]. One [DONE] marked
as [DONE - REOPENED].
* 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.
* harbour/include/hbapi.h
* harbour/source/common/hbstr.c
+ added hb_numToStr()
* harbour/source/vm/estack.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/gencc.c
* use hb_numToStr() for integer number conversions
* harbour/source/vm/dlmalloc.c
* disable #pragma warning ... in MinGW builds. If some newer MinGW
versions support it and it's useful then it can be enabled after
checking MinGW version
* include/hbmath.h
! Fixed Pelles C 5.00 not having an 'inf' (HUGE_VAL) symbol
when in -Tarm-coff (~WinCE) mode. Pelles C bug (?).
; NOTE: Now core fully compiles in WinCE mode. So we have
a new port.
; TOFIX: (this is a complete list of all Pelles C WinCE problems)
[except hbmysql errors]
--- WARNINGS
POLINK: warning: Multiple '.rdata' sections found with different flags (0x40000040 and 0xc0000040).
POLINK: warning: Multiple '.rdata' sections found with different flags (0x40000040 and 0xc0000040).
../../ctnet.c(119): warning #2027: Missing prototype for 'WNetGetLastError'.
../../ctnet.c(167): warning #2027: Missing prototype for 'WNetCancelConnection'.
../../ctnet.c(208): warning #2027: Missing prototype for 'WNetAddConnection'.
../../ctnet.c(210): warning #2027: Missing prototype for 'WNetAddConnection'.
../../ctnet.c(251): warning #2027: Missing prototype for 'WNetGetProviderName'.
../../ctnet.c(271): warning #2027: Missing prototype for 'WNetGetProviderName'.
../../disk.c(127): warning #2027: Missing prototype for 'GetDriveType'.
../../disk.c(244): warning #2027: Missing prototype for 'SetVolumeLabel'.
../../disk.c(270): warning #2027: Missing prototype for 'GetVolumeInformation'.
../../disk.c(307): warning #2027: Missing prototype for 'GetVolumeInformation'.
../../disk.c(337): warning #2027: Missing prototype for 'GetFullPathName'.
../../winapi.c(194): warning #2027: Missing prototype for 'InsertMenuItem'.
../../winapi.c(219): warning #2027: Missing prototype for 'SetMenu'.
../../getenvrn.c(177): warning #2027: Missing prototype for 'GetEnvironmentStrings'.
../../getenvrn.c(246): warning #2027: Missing prototype for 'FreeEnvironmentStrings'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9936): warning #2027: Missing prototype for 'localtime'.
../../tpwin32.c(75): warning #2027: Missing prototype for 'BuildCommDCB'.
../../wincorec.c(164): warning #2027: Missing prototype for 'CreateMDIWindow'.
../../fi_winfu.c(97): warning #2027: Missing prototype for 'CreateDIBitmap'.
../../fi_winfu.c(147): warning #2027: Missing prototype for 'GetDIBits'.
../../sqlbase.c(509): warning #2130: Result of unsigned comparison is constant.
--- ERRORS
contrib\gtwvg\gtwvg.h(78): fatal error #1035: Can't find include file <olectl.h>.
../../ctnet.c(119): warning #2027: Missing prototype for 'WNetGetLastError'.
../../disk.c(129): error #2048: Undeclared identifier 'DRIVE_RAMDISK'.
../../disk.c(129): error #2045: Case label must be a constant integer expression.
../../disk.c(132): error #2048: Undeclared identifier 'DRIVE_REMOVABLE'.
../../disk.c(132): error #2045: Case label must be a constant integer expression.
../../disk.c(135): error #2048: Undeclared identifier 'DRIVE_FIXED'.
../../disk.c(135): error #2045: Case label must be a constant integer expression.
../../disk.c(138): error #2048: Undeclared identifier 'DRIVE_CDROM'.
../../disk.c(138): error #2045: Case label must be a constant integer expression.
../../disk.c(141): error #2048: Undeclared identifier 'DRIVE_REMOTE'.
../../disk.c(141): error #2045: Case label must be a constant integer expression.
../../winapi.c(70): error #2048: Undeclared identifier 'CS_OWNDC'.
../../winapi.c(75): error #2048: Undeclared identifier 'IDI_APPLICATION'.
../../winapi.c(75): error #2140: Type error in argument 2 to 'LoadIconW'; found 'int', expected 'const wchar_t *'.
../../winapi.c(181): error #2048: Undeclared identifier 'MFS_DISABLED'.
../../getenvrn.c(177): error #2168: Operands of = have incompatible types 'wchar_t *' and 'int'.
../../odbc.c(94): fatal error #1035: Can't find include file <sql.h>.
contrib\hbsqlit3\sqlite3\sqlite3.c(9936): error #2168: Operands of = have incompatible types '(incomplete) struct tm *' and 'int'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9937): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9938): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9939): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9940): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9941): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(9942): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22136): error #2120: Redeclaration of 'localtime' previously declared at contrib\hbsqlit3\sqlite3\sqlite3.c(9936): found '(incomplete) struct tm * __cdecl function(const unsigned long int *)', expected 'int __cdecl function()'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22137): error #2149: Undefined size for 'y' with type '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22137): error #2149: Undefined size for 'y' with type '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22147): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22148): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22149): error #2152: Unknown field 'tm_wday' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22150): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22151): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22152): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
contrib\hbsqlit3\sqlite3\sqlite3.c(22153): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../win_ole.c(77): fatal error #1035: Can't find include file <olectl.h>.
../../wincorec.c(150): error #2048: Undeclared identifier 'WS_MAXIMIZE'.
../../wincorec.c(166): error #2168: Operands of = have incompatible types 'HWND' and 'int'.
C:\devl\allegro-4.2.2\include\allegro\platform\almsvc.h(23): fatal error #1035: Can't find include file <malloc.h>.
../../firebird.c(456): error #2149: Undefined size for 'times' with type '(incomplete) struct tm'.
../../firebird.c(487): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(488): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(489): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(490): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(491): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(492): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../firebird.c(501): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(501): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(501): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(510): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(511): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(512): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../fi_winfu.c(98): error #2048: Undeclared identifier 'CBM_INIT'.
../../fi_winfu.c(99): error #2168: Operands of = have incompatible types 'HBITMAP' and 'int'.
* source/vm/fm.c
! Fixed missing abort() on WinCE. (for Pelles C only, but
the fix should work for any WinCE compilers).
; TOFIX: Now the only remaining showstopper for PellesC5 WinCE
support is:
../../math.c(652): error #3120: [asm] Symbol 'inf' is undefined.
* make_vc.mak
* config/rules.cf
* config/w32/mingwce.cf
* config/w32/poccce.cf
* config/w32/msvcce.cf
* Use Harbour option -gc0 for WinCE builds.
* Use C option -O2 (instead of -O3) for MinGWCE builds.
; None of these were tested.
* 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.
* make_b32.mak
* make_vc.mak
! Added hbpp.lib and hbcommon.lib to HBRUN_DLL liblist.
* include/hbapi.h
* source/vm/cmdarg.c
* source/common/hbver.c
* source/common/hbverdsp.c
* source/rtl/console.c
* source/rtl/setcolor.c
* source/rtl/setcurs.c
+ Added HB_EXPORT to some functions to make it possible
to build hbrun-dll.exe.
For other reasons, it only works if Harbour built with
set C_USR=-DHB_DYNLIB.
; TODO: Make HB_DYNLIB the default build mode, do gradual
steps to remove separate DLL building pass, and
finally to remove HB_BUILD_DLL option.
The only drawback will be about 10-100K
(currently) overhead in final executable size due
to included export table for BCC and MSVC builds.
* contrib/xhb/hboutdbg.c
! Fixed to compile without warnings and with more
consistent behavior across platforms.
* source/rtl/gtwvt/gtwvt.c
* Minor formatting.
* tests/longstr.prg
* contrib/hbole/oleauto.prg
* contrib/hbole/ole2.c
* contrib/gtwvg/wvgutils.c
* contrib/gtwvg/wvgcore.c
* contrib/hbgd/gdbarcod.prg
* contrib/hbgd/gdbar.prg
* contrib/hbwin/win_tole.prg
* contrib/hbwin/win_ole.c
* contrib/hbvpdf/hbvpdf.prg
* contrib/examples/hbsqlit2/tests/hbsqlite.prg
* contrib/examples/hbsqlit2/TODO.txt
* contrib/examples/hbsqlit2/hbsqlit2.c
* source/debug/dbgwa.prg
* source/rtl/gtwin/gtwin.c
* source/rtl/tget.prg
* source/rtl/tgetint.prg
* source/compiler/gencobj.c
! Removed high chars from comments. This usually means
copyright holders' names. I apologize for touching
them, I also have one in mine, but it's better to
not use them in source code to avoid encoding problems.
* harbour/common.mak
* harbour/make_gcc.mak
! fixed hbtest-dll linking - the path to used harbour shared library
was hardcoded in final binaries
+ added hbrun-dll. Please update make_b32.mak and make_vc.mak
* make_vc.mak
+ Added /nxcompat linker flag for non-WinCE, non-DLL,
HB_VISUALC_VER >= 80 MSVC executables.
This should add extra safety.
* include/hbextern.ch
* source/rtl/rat.c
+ Added HB_RAT() which is similar to RAT(), but also accepts
<nStart> and <nEnd> optional paramaters, similarly to HB_AT().
; Please test.
* source/rtl/at.c
* Minor formatting.
* harbour/source/vm/memvars.c
! fixed 3 tracelog messages
* harbour/source/rtl/hbgtcore.c
* declare core method table as const
* harbour/source/compiler/gencc.c
! fixed accessing data out of buffer in string to hex conversion and
logical expression used to divide strings
* ChangeLog
! Fixed again the UNICODE problem (I've uploaded a wrong
version apparently).
+ Added my last entry which was lost due to above.
! Removed all ending whitespaces.
! Stripped all non-ASCII chars. Sorry to all who's names
were thus modified.
; NOTE: Please don't use any high chars in the future,
only 7-bit ASCII. Same goes for all Harbour source
comments BTW.
This way everyone can read what the other are typing
and it's much easier to fix files if someone
accidentally saves with the wrong codepage.
; TOFIX: We should also possibly fix all high chars in
.prg and .c code _strings_.
* ChangeLog
! Restored last non-UNICODE version, and readded
all entries and reapplied all changes since then.
; NOTE: Please never save any Harbour files in
UNICODE mode. Thank you.
* contrib/make_gcc_all.sh
* contrib/Makefile
- Removed hbdbgfx.
* source/pp/hbpp.c
* source/main/harbour.c
* Excluded hbwmain for __POCC__ WinCE.
; TOFIX: Warning: Not proper fix.
This way it won't link but at least it compiles.
* source/compiler/gencc.c
* Switched to hexadecimal format for high chars, because
octal was tried to be converted to Windows codepage, by
PellesC.
* config/w32/poccce.cf
- Removed -DSTRSAFE_NO_DEPRECATE switch.
* config/w32/pocc.cf
+ Added -MT switch.
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_dll.c
* source/rtl/hbhex.c
* source/rdd/hbsix/sxcompat.prg
* Minor formatting.
* harbour/make_gcc.mak
! declared non file helper rules as .PHONY ones.
! fixed bad typo in helper rules usage - strange that I haven't seen
it before.
* restored non indirect rules - now they should work as expected
also in parallel builds.
TODO: remove static libraries from HB_BUILD_TARGETS in common.mak
if everything is correct then they should be created to satisfy
hbrun and other tools dependencies. It's not necessary to explicitly
duplicate it.
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/gtwvg.h
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/source/rtl/gtwvt/gtwvt.h
+ BOOL bResizing
+ BOOL bAlreadySizing
To control unnecessary code execution while sizing operation is
being carried out. Now the flickering of console window should be
greatly minimized, IMO, please test.
! Fixed behavior of some function not to recreate font if one is already
created given other parameters are the same. SetMode() does nothing if
nRows, nCols are the same as with console prior to calling this function.
; NOTE: Please test extensively as this is one gray area of GTWVT we all
are in a quest to fix.
* harbour/make_gcc.mak
! corrected missing $(HARBOUR_EXE) dependence in .prg files rules
! replaced non indirect rules (::) which are strictly file base with
indirect ones to not confuse dependence logic when parallel
compilation is enabled
! marked harbour.c and cmdarg.c as dependent on pptable.c to fix
compilation order - these files needs hbverbld.h which is generated
together with pptable.c
! fixed HBTESTDLL_EXE dependencies - static library were used instead
of harbour share library. BTW probably it will be good to create also
HBRUNDLL_EXE
With above modification parallel compilation can be enabled for
make_gcc.sh (-j<N> GNU make option). It greatly improves compilation
speed. Probably also make_{bcc,vc}.mak should be fixed even if they
do not support parallel compilation.
* bin/hbmk.bat
+ Added C_USR support for OpenWatcom.
- Removed debug switches from OpenWatcom C compiler cmdline.
* bin/hbmk_os2.cmd
+ Added OpenWatcom support. Pls update it, f.e. I don't know
what is the name of the compiler executable.
! Fixed HB_COMPILER branching. Looks like nobody uses this
file if this problem didn't show up so far, so I'd like to
propose again to remove this file completely, as there is
not much point spending time on maintaining stuff which
nobody uses or needs, is there?
* bin/hbmk.bat
- config/dos/watcom.cf
- config/w32/watcom.cf
- Removed rather obsolete Watcom support. Pls use OpenWatcom.
Update you envvar HB_COMPILER from 'watcom' to 'owatcom'.
* make_b32.bat
* make_vc.bat
* contrib/mtpl_b32.bat
* contrib/mtpl_gcc.sh
* contrib/mtpl_vc.bat
* Sync with GNU make system:
HB_MAKE_FLAGS -> MK_USR
; TOFIX: Maybe it's a good time now to resolve the missing HB_
prefixes for C_USR, L_USR, A_USR, MK_USR.
If there are no objections / better ideas I'd like
to make these changes:
HB_USER_LIBS -> HB_USR_LIBS
PRG_USR -> HB_USR_PRG
C_USR -> HB_USR_C
L_USR -> HB_USR_LINK (or HB_USR_L ?)
A_USR -> HB_USR_LIB (or HB_USR_A ?)
MK_USR -> HB_USR_MAKE (or HB_USR_MAK ?)
As an option we may keep the old names for
compatibility to give some transition time.
* source/vm/set.c
! _SET_EVENTMASK RTE removed to be Clipper compatible.
! _SET_VIDEOMODE RTE removed to be Clipper compatible.
! _SET_MBLOCKSIZE default value set to 64 (was 0) to be Clipper compatible.
(pls correct me if this was intentionally wrong)
* utils/hbtest/rt_misc.prg
+ Added one C5.2 SET()s for two simple tests.
+ Added all C5.3 SET()s for two simple tests each.
; NOFIX: _SET_VIDEOMODE has the type wrong.
; NOTE: It wouldn't be a bad idea to add some more comprehensive
tests for SET()s.
* harbour/make_gcc.sh
* harbour/make_gnu.bat
* harbour/make_gnu.sh
* harbour/config/lib.cf
* harbour/config/bin.cf
+ added MK_USR to pass GNU MAKE flags
* harbour/source/vm/set.c
* minor cleanup and simplifications in hb_setSetItem().
* grouped SETs with the same item type in hb_setSetItem() function
together.
* source/rtl/gtwvt/gtwvt.c
* hb_gt_wvt_ResetWindowSize(): Not very good looking (or
overly efficient) solution added for the windows
resize/positioning problem in case the initally set size
cannot fit on the screen (Windows desktop).
* source/vm/set.c
+ Implemented rest of hb_setSetItem() values.
; TODO: Please review.
! Fixed HB_SET_FILECASE and HB_SET_DIRCASE to not allow
invalid numeric values to be set.
! Added missing 'break;' to hb_setSetItem2();
* source/rtl/gtwvt/gtwvt.c
! Fixed a few places where '+' operator was used
instead of '|'.
* Minor opt/formatting.
; TOFIX: The window positioning bug is still to be solved.
* source/rdd/usrrdd/rdds/arrayrdd.prg
* Changed AR_CREATE( nWA, aOpenInfo ) behaviour, now it not checks
if a table exists in memory but act as dbCreate() does.
+ Added hb_FileArrayRDD() function to check existence of a table
in memory.
* Changed EraseArrayRDD() -> hb_EraseArrayRDD()
* removed string lenght limit in case of a Memo field