* contrib/hbole/oleauto.prg
* contrib/hbw32/w32_tole.prg
* MessageBox() calls converted to Alert()s.
A #translate added for the to be reconverted to MessageBox(),
since I'm not sure why should we use MessageBox()es here?
IMO it'd be better to throw RTEs, or handle these cases more
"natively". Opinions?
* contrib/hbole/oleauto.prg
+ Modified to generate RTE when the object could not
be created, so that it works more like OLE in hbw32.lib,
and the test doesn't crash in this case. I don't have
Excel, and this is what I could fix without it.
* contrib/hbw32/w32_tole.prg
* contrib/hbw32/w32_ole.c
! Typos, minor formatting.
* common.mak
* source/hbpcre/Makefile
* source/hbpcre/cnv_hb2o.bat
* source/hbpcre/cnv_o2hb.bat
- source/hbpcre/ucpinter.h
- source/hbpcre/ucptable.h
- source/hbpcre/pcrefind.c
+ source/hbpcre/pcreucd.c
* source/hbpcre/pcrevutf.c
* source/hbpcre/pcre.h
* source/hbpcre/pcreconf.c
* source/hbpcre/pcreinfo.c
* source/hbpcre/pcremktb.c
* source/hbpcre/config.h
* source/hbpcre/pcrenewl.c
* source/hbpcre/pcreoutf.c
* source/hbpcre/chartabs.c
* source/hbpcre/pcrerefc.c
* source/hbpcre/pcreget.c
* source/hbpcre/pcrefinf.c
* source/hbpcre/pcretryf.c
* source/hbpcre/pcreexec.c
* source/hbpcre/pcreinal.h
* source/hbpcre/pcretabs.c
* source/hbpcre/pcredfa.c
* source/hbpcre/pcrever.c
* source/hbpcre/pcrecomp.c
* source/hbpcre/pcrexcls.c
* source/hbpcre/pcrestud.c
* source/hbpcre/ucp.h
+ Updated to PCRE 7.8 RC1
(will be updated to final pretty soon)
This version contains the small patches we
so far had locally in Harbour. Thanks to
Philip Hazel for applying them.
* utils/hbmake/hbmake.prg
; Applied patch created by Bill Robertson:
* The following functions aren't used in hbmake and were removed:
FindCfile(), TestforPrg(), AsDll(), ExtenPrg(), GetMakeDir()
* ChangeLog
! Minor typo.
* utils/hbmake/hbmake.prg
% Minor cleanup.
* source/common/hbver.c
* Further cleanup of constant usage.
+ Changed Borland to CodeGear to BCC5.9 and above.
(borrowed from xhb / Andi Jahja)
* config/w32/gcc.cf
* config/w32/dm.cf
* contrib syslibs moved to separate lines.
* source/rtl/gtchrmap.c
* source/rtl/hbgtcore.c
* source/vm/hvm.c
+ Added three TOFIXes regarding namespace violations.
s_pszLinkedMain -> hb_vm_pszLinkedMain
s_defaultGT -> hb_gt_szNameDefault
s_szDefaultCharMapFile -> hb_gt_szCharMapFileDefault
TOFIX: These should be fixed in 1.1 (or maybe even in
1.0.1 if this isn't such a big problem for 3rd
parties).
* contrib/gtwvg/wvgutils.c
! Fixed to use documented Harbour API hb_winmainArgGet()
instead of the (since cleaned away) undocumented Harbour
global variable hb_hInstance.
* make_vc.bat
* Updated usage text.
* include/hbwince.h
! Fix for Pelles C 5.0 in WinCE/ARM mode.
* include/hbsetup.h
+ Detecting Pelles C 5.0 in ARM mode as HB_WINCE.
* ChangeLog
- Removed some advices not valid anymore from previous entry.
* contrib/mtpl_b32.bat
* contrib/mtpl_vc.bat
* Synced with /make_*.bat so that the name of the .mak
file is now hard-wired instead of being HB_CC_NAME dependent.
This way contribs may be built for WinCE in the future
(this still needs adding WinCE support to mtpl_vc.mak).
* contrib/mtpl_gcc.sh
+ Darwin autodetection was missing.
* contrib/hbfimage/fi_winfu.c
! Added CBM_INIT definition for Pellec C in WinCE mode.
* source/rtl/gtclip.c
+ Added GMEM_MOVEABLE definiction for Pelles C in WinCE mode.
+ config/w32/poccce.cf
+ Added Pellec C WinCE make file.
+ config/w32/msvcce.cf
+ Added WinCE GNU make file for MSVC. Untested, probably not working,
this is just a small step to make the GNU-make equal in feature
with the non-GNU make one.
* config/w32/bcc32.cf
* Minor sync of C options with non-GNU make file.
* config/w32/msvc.cf
* Attempt to sync C options with non-GNU make file.
* contrib/hbfbird/firebird.c
* Minor formatting.
; NOTE1: For better consistency I'd like to rename GNU make compiler names
'mingw32' to 'mingw' (they've dropped '32' long ago), and
'cemgw' to 'mingwce'.
; NOTE2: Pelles C WinCE build still generates following errors:
POLINK: error: Unresolved external symbol 'GetModuleFileNameA'.
POLINK: error: Unresolved external symbol 'RegOpenKeyExA'.
../../math.c(605): error #3120: [asm] Symbol 'inf' is undefined.
contrib\gtwvg\gtwvg.h(78): fatal error #1035: Can't find include file <olectl.h>.
../../ctmath2.c(324): error #3120: [asm] Symbol 'inf' is undefined.
../../win32.c(70): error #2048: Undeclared identifier 'CS_OWNDC'.
../../win32.c(75): error #2048: Undeclared identifier 'IDI_APPLICATION'.
../../win32.c(75): error #2140: Type error in argument 2 to 'LoadIconA'; found 'int', expected 'const char *'.
../../win32.c(181): error #2048: Undeclared identifier 'MFS_DISABLED'.
../../win32.c(194): warning #2027: Missing prototype for 'InsertMenuItem'.
../../win32.c(219): warning #2027: Missing prototype for 'SetMenu'.
../../odbc.c(94): fatal error #1035: Can't find include file <sql.h>.
contrib\hbsqlit3\sqlite3\sqlite3.c(9936): warning #2027: Missing prototype for 'localtime'. [ ... ]
../../w32_ole.c(403): error #2152: Unknown field 'pllVal' of 'union (no name)'.
../../w32_ole.c(403): error #2168: Operands of = have incompatible types 'int' and 'long long int *'.
../../w32_ole.c(408): error #2152: Unknown field 'llVal' of 'union (no name)'.
../../w32_ole.c(786): error #2152: Unknown field 'pllVal' of 'union (no name)'.
../../w32_ole.c(786): error #2144: Type error: pointer expected.
../../w32_ole.c(792): error #2152: Unknown field 'llVal' of 'union (no name)'.
../../hbsyslog.c(31): error #2140: Type error in argument 2 to 'RegisterEventSourceW'; found 'const char *', expected 'const wchar_t *'.
../../hbsyslog.c(97): error #2140: Type error in argument 8 to 'ReportEventW'; found 'const char * *', expected 'const wchar_t * *'.
../../firebird.c(448): error #2149: Undefined size for 'times' with type '(incomplete) struct tm'.
../../firebird.c(479): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(480): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(481): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(482): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(483): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(484): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_year' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_mon' of '(incomplete) struct tm'.
../../firebird.c(493): error #2152: Unknown field 'tm_mday' of '(incomplete) struct tm'.
../../firebird.c(502): error #2152: Unknown field 'tm_hour' of '(incomplete) struct tm'.
../../firebird.c(503): error #2152: Unknown field 'tm_min' of '(incomplete) struct tm'.
../../firebird.c(504): error #2152: Unknown field 'tm_sec' of '(incomplete) struct tm'.
../../fi_winfu.c(97): warning #2027: Missing prototype for 'CreateDIBitmap'.
../../fi_winfu.c(98): error #2048: Undeclared identifier 'CBM_INIT'.
../../fi_winfu.c(99): error #2168: Operands of = have incompatible types 'HBITMAP' and 'int'.
../../fi_winfu.c(150): warning #2027: Missing prototype for 'GetDIBits'.
[ lots of them with hbmysql ]
* make_b32.bat
* make_vc.bat
* exit_err.bat -> hbmkpost.bat
Please update your environment if you used this feature.
INCOMPATIBLE.
* make_vcce.bat
! Adjusted to latest change.
* make_gnu.bat
* Minor formatting.
* make_b32.bat
* make_vc.bat
! Made makefile name independent of the HB_CC_NAME envvar.
NOTE: If this poses a limitation for someone, please shout,
we may add an additional variable to control/override
makefile name (but it cannot directly depend on
HB_CC_NAME now that make_vc.mak and make_vcce.mak
got merged.)
* make_vcce.bat
! Fixed.
* contrib/rddads/make_vc.bat
! Undone previous modification. Quotes are needed to support
dirs containing spaces (this is actually the case for the
default install dir of ACE SDK).
For very old MSVC compilers not understanding quotes
in -I (and possibly other) switches, pls specify the
external package #include directories directly through:
set C_USR=-IC:\mypath\pkg\include
and so on. MSVC98 is a very old product and there is
probably no way to make all features of our build systems
100% compatible with it, but with this manual workaround,
it can properly work (until a recommended VC upgrade :).
* utils/hbmake/hbmake.prg
; Applied patches made by Bill Robertson. (Thanks!)
% Removed Function C( STRING ) as it was only used in the function,
Attention(), to center a line on the screen.
% Removed Static Function IsWin() since it wasn't being used.
! Replace all remaining calls to hb_OSNewLine() with s_cEOL.
! Changed some calls from OutStd() to OutErr() since they were
essentially errors mesages.
% Replaced some long series of FWrite()s with a single FWrite()
where convientent so I could see what was being written to
the makefile easier.
! Replaced some comparisons from '=' to '=='.
* source/rtl/filesys.c
! Disabled hb_fsPOpen() body for __CYGWIN__.
This way __CYGWIN__ compiles cleanly.
(although I'm not sure how important Cygwin support is)
* source/rtl/hbinet.c
! Bad workaround for the '__WSAFDIsSet unresolved' problem
in Pelles C 5.00.13 AMD64 mode, to make final executables
link at all. Some hbinet.c features (or the whole module)
won't properly work though.
This possible bug has been reported on the Pellec C forums:
http://forum.pellesc.de/index.php?topic=2590.0
* include/hbinit.h
* source/rtl/gtwin/gtwin.c
* source/rtl/gtwvt/gtwvt.c
* source/compiler/genc.c
+ Enabled init functions for MSVC 64-bit in C mode.
; NOTE: You get the idea, please comment. If there is
no simpler/easier/shorter way to achieve this,
I'll update the rest 150 files, too.
* contrib/gtalleg/Makefile
* Excluded for POCC and XCC.
* contrib/gtalleg/ssf.h
! Setting platform before include Allegro headers.
(I'm not sure this is necessary for all platforms,
but it surely is for BCC and MinGW).
* contrib/gtwvg/gtwvg.h
! __MINGW__ -> __MINGW32__. __MINGW__ is not #defined by MinGW.
* contrib/hbct/atnum.c
! Workaround for PelleC 5.00.1 bug in AMD64 mode.
'fatal error: Internal error: reduce_tree()'
I didn't test if it actually works, but at least now
is compiles.
Bug reported on Pelles C forum.
* source/common/hbver.c
* hb_verCompiler() buffer size cleanup.
* source/rtl/hbinet.c
* Minor formatting.
* utils/hbmake/hbmake.prg
* PRG -> .prg on some screen messages.
* config/w32/xcc.cf
* config/w32/pocc.cf
+ Added ws2_32.lib. Didn't solve the problem, but
as per MS docs of some functions we use, we should
use this instead of wsock2 (everywhere actually)
[and ws2 instead of winsock for WinCE]. Someone pls
correct me if I'm wrong, or if there is any reason
we're using both and/or the older one?
* config/w32/pocc.cf
- Removed C switch -Zx (Enable Pelles C extensions).
We don't need this.
* harbour/source/compiler/hbmain.c
! reset class and functions static declarations to avoid GPF
when more then one file is compiled with -w3 switch
NOTE: Whole this code will have to be removed and written
from scratch
- source/rtl/gtalleg
+ contrib/gtalleg
* TODO
* doc/dirstruc.txt
* include/hbgtcore.h
* contrib/gtalleg/Makefile
* contrib/gtalleg/make_b32.bat
* contrib/gtalleg/make_vc.bat
* contrib/gtalleg/make_gcc.sh
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_gcc_all.sh
* contrib/Makefile
* config/hpux/gcc.cf
* config/hpux/global.cf
* config/darwin/gcc.cf
* config/darwin/global.cf
* config/dos/global.cf
* config/linux/gcc.cf
* config/linux/global.cf
* config/sunos/gcc.cf
* config/sunos/global.cf
* config/bsd/gcc.cf
* config/bsd/global.cf
* config/w32/global.cf
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* GTALLEG moved to contrib to make it possible to build
using the non-GNU make system, also to align the build
process with other 3rd party package dependent parts
of Harbour.
HB_INC_ALLEGRO or HB_DIR_ALLEGRO may be used to point
to Allegro package directory. This is generally necessary
on non-*nix systems.
; NOTE: Review and test build processes and modified files,
and unmodified, but potentially related files:
bin/hb-func.sh
make_gnu.sh
make_rpm.sh
make_rpmce.sh
make_rpmw32.sh
* make_vc.bat
* make_vcce.bat
* make_vc.mak
- make_vcce.mak
% make_vcce functionality merged into make_vc.
* make_vcce.bat changed to a stub calling make_vc.bat.
; WinCE builds can be triggered using envvars:
set HB_BUILD_WINCE=yes
set HB_CC_NAME=vcce
Please update your environment and test WinCE builds
after this change.
* make_vc.mak
* contrib/mtpl_vc.mak
* Changed HB_VISUALC_VER default to 80.
It was 60 for non-WinCE builds and contribs,
80 for WinCE builds. Now it is 80 for all
these cases.
* make_b32.mak
* Minor comment visual sync with make_vc.mak.
* include/hbsetup.h
! Fixed OS_UNIX_COMPATIBLE
+ Small comments added.
; NOTE: I'd like to do the following global renames:
HB_WINCE -> HB_OS_WIN_CE
HB_OS_WIN_32 -> HB_OS_WIN
Opinions? Especially on the latter.
* include/hbdefs.h
* include/hbinit.h
* contrib/hbodbc/odbc.c
* _WIN64 -> HB_OS_WIN_64
* include/hbsetup.h
* source/common/hbver.c
- Removed HB_OS_MAC support. It was nothing more than a simple
detection and a static version string, so we didn't lose much.
* make_vcce.mak
! Attempt to fix /MANIFEST:NO warnings for MSVC 6.0.
! Attempt to fix WinCE .dll linking error.
; Jose, another test would be great.
* make_vc.bat
* make_vc.mak
* make_vcce.bat
* make_vcce.mak
* Some syncing and minor fixes in comments.
* make_vcce.mak
! Fixed system library list to not contain gdi32.lib.
This lib was previously used for harbour.dll generation,
so I wonder if it was correct, but probably not.
It would be great if someone could try an MSVC WinCE .dll
build using the option:
set HB_BUILD_DLL=yes
* config/w32/mingw32.cf
% -mno-cygwin options removed. No longer needed. If someone
wants to compile a mingw build using cygwin, this option
should be explicitly specified as C_USR/L_USR and 'gcc'
should be used as a compiler. But this setup is barely
supported in Harbour, so don't expect it work.
(Rather, install MinGW)
* utils/hbmake/hbmake.prg
! Harbour executable detection cleanups and fix to look
into current dir and detect Darwin as a Unix platform.
(usable state is still very far)
* harbour/contrib/hbw32/w32_ole.c
* removed hack with malloc()/free() directly used to avoid
memory leak reports - it's not necessary in Harbour.
* harbour/contrib/hbfbird/firebird.c
* harbour/contrib/examples/pp/hbppcore.c
! fixed buffer size calculation in hbstrnc*() functions
* harbour/contrib/hbziparch/hbzipnew.cpp
% use hb_strdup() instead of hb_xgrab()/hb_strncpy()
* harbour/contrib/hbnf/getenvrn.c
! use hb_xgrab() instead of hb_xalloc() - the returned value
was not checked and internal error is for sure better then
GPF on NULL pointer
* harbour/source/rdd/dbfntx/dbfntx1.c
! use memcpy() instead of hb_strncpy() to avoid problems when
there is no place for tailing 0