* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_gcc_all.sh
+ contrib/hbsqlit3
+ contrib/hbsqlit3/Makefile
+ contrib/hbsqlit3/make_b32.bat
+ contrib/hbsqlit3/make_vc.bat
+ contrib/hbsqlit3/make_gcc.sh
+ contrib/hbsqlit3/common.mak
+ contrib/hbsqlit3/hbsqlit3.c
+ contrib/hbsqlit3/hbsqlit3.ch
+ contrib/hbsqlit3/sqlite3/sqlite3.c
+ contrib/hbsqlit3/sqlite3/sqlite3.h
+ contrib/hbsqlit3/tests/bld_b32.bat
+ contrib/hbsqlit3/tests/bld_vc.bat
+ contrib/hbsqlit3/tests/blob.prg
+ contrib/hbsqlit3/tests/pack.prg
+ contrib/hbsqlit3/tests/metadata.prg
+ contrib/hbsqlit3/tests/sqlite3_test.prg
+ Added Harbour interface for SQLite 3.x.
Thanks goes to Petr Chornyj <myorg63/at/mail.ru> for
creating this code and making it available for this project.
(The code also based on Alejandro de G rate
<alex_degarate/at/hotmail.com> SQLite 2 interface work)
+ Added make files, arranged std contrib layout.
* Renamed header, source and lib name to comply with 8.3 rules.
+ Added to 'all' make files.
+ Added foreign SQLite 3.5.9 (amalgamation) latest version
source code to the repository.
Compiles with lots of warnings under BCC and
doesn't compile in C++ mode in MSVC (due to missing
casts).
; We may remove foreign code once the warnings
has been fixed and retrofitted in the original
package. Since the two required files are simply
#included in the Harbour source code, moving them
anywhere, or accessing them from anywhere is a matter
of -I switch.
; TOFIX:
- Replace MessageBox() with RTE or HB_TRACE().
- Remove HB_OS_WIN_32_USED dependency.
- Review if __XHARBOUR__ branches are indeed necessary.
* source/vm/extrap.c
! Fixed missing header for OS/2.
* source/vm/classes.c
! Minor fix in internal error text.
* contrib/hbcurl/make_b32.bat
* contrib/hbcurl/make_vc.bat
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/tests/ftp_uldl.prg
! non-GNU make will also look into the /bin folder
for .dlls.
! Lots of fixes, too many to mention.
+ Enabled GC pointers. (see TOFIX though)
+ Added all remaining CURL 'easy' API parts and
implemented all options existing in 7.18.1:
+ All option values (except bit-level ones) made available in hbcurl.ch
+ All options updated to latest CURL version in hbcurl.ch
+ All error codes made available in hbcurl.ch
+ CURL_EASY_DUPLICATE()
+ CURL_EASY_RESET()
+ CURL_EASY_PAUSE()
+ CURL_EASY_SEND() (not yet available in stable builds)
+ CURL_EASY_RECV() (not yet available in stable builds)
+ CURL_EASY_GETINFO()
+ CURL_ESCAPE() (obsolete)
+ CURL_UNESCAPE() (obsolete)
+ CURL_GETDATE()
; TOFIX1: Could someone look at it? In case I call the destructor
(curl_easy_cleanup()) manually, the garbage collector
will run into an invalid pointer, when terminating the
test program.
; TOFIX2: The casting to 'curl_off_t' goes wrong. Could someone
help?
; NOTE1: Harbour needs at least libcurl 7.17.0. Unfortunately
compile time version detection is not working at this time,
so try with the latest version 7.18.1.
; NOTE2: Most callback interfaces are not implemented on the
Harbour level.
; NOTE3: Harbour is currently not optimizing
"<const1> ** <const2>" type of expressions at compile time.
Could we add it? This expression is not widespread,
but anyways, it cannot hurt, if isn't too much
work to do.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/tests/ftp_uldl.prg
+ Using hb_fsReadLarge()/hb_fsWriteLarge()
+ Added redefinitiion of memory allocator functions.
(doesn't work, disabled. hb_xgrab() is getting ptrs
not allocated by us.)
! Fixes handling of size options in CURL_EASY_SETOPT().
+ CURL_VERSION()
+ CURL_VERSION_INFO()
+ CURL_EASY_STRERROR()
+ CURL_SHARE_STRERROR()
+ CURL_EASY_ESCAPE() (see TOFIX)
+ CURL_EASY_UNESCAPE() (see TOFIX)
+ Test app extended.
* Renames.
; Added several more TOFIXes.
* source/rtl/tget.prg
* Minor formatting.
+ contrib/hbcurl
+ contrib/hbcurl/Makefile
+ contrib/hbcurl/make_b32.bat
+ contrib/hbcurl/make_vc.bat
+ contrib/hbcurl/common.mak
+ contrib/hbcurl/make_gcc.sh
+ contrib/hbcurl/hbcurl.ch
+ contrib/hbcurl/hbcurl.c
+ contrib/hbcurl/tests
+ contrib/hbcurl/tests/bld_b32.bat
+ contrib/hbcurl/tests/bld_vc.bat
+ contrib/hbcurl/tests/ftp_uldl.prg
+ Added hbcurl - CURL interface library.
; Based on original work of Luiz Rafael Culik / xhb,
but heavily reworked and fixed, and still a work
in progress.
* harbour/source/debug/debugger.prg
* removed some unused var, formatting
* harbour/source/pp/ppcore.c
* harbour/source/common/expropt1.c
* harbour/source/common/expropt2.c
* harbour/source/common/hbdate.c
* casting
* harbour/source/common/hbstr.c
* casting
* use HB_ISSPACE() instead of isspace() for strict Clipper
compatibility
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
! never use 'char' to 'int' casting for parameters of
toupper()/to*()/isuper()/is*() functions
* include/hbsetup.h
* include/hbinit.h
* source/compiler/harbour.yyc
* source/compiler/harbour.y
* HARBOUR_YYDEBUG -> HB_YYDEBUG
(do we need this? it's a synomym for YYDEBUG)
* HARBOUR_STRICT_ANSI_C -> HB_STRICT_ANSI_C
(do we need this?)
+ HB_PCRE_REGEX added.
+ HB_PCRE_REGEX_BCC added.
+ HB_POSIX_REGEX added.
- HB_MACRO_STATEMENTS
* source/common/hbverdsp.c
* Some cleanups on appearance.
* Company names removed (except CA).
* contrib/rddads/adsmgmnt.c
* Minor formatting.
+ contrib/examples/dbu/hb_dbu.dif
* contrib/examples/dbu/bld_b32.bat
* contrib/examples/dbu/readme.txt
+ Added .dif file with a patch fixing some
multiplatforms issues in original dbu source.
It's a quick hack, I might have missed something,
and I didn't do any testing. Add your own fix,
if you have some.
* DBU_DIR -> HB_DIR_DBU
* make_b32.mak
* contrib/mtpl_b32.mak
* config/w32/bcc32.cf
+ Added following switches for BCC:
-d: merge duplicate strings (was enabled already in GNU make)
-w: enable warnings.
-w-sig-: disable 'Conversion may lose significant digits' warnings.
* include/hbdefs.h
- Removed WIN32_LEAN_AND_MEAN to make things more standard.
We're losing some compile time performance for Windows build,
but it's marginal. Runtime performance is not affected.
* contrib/hbgd/gdwrp.c
* Removed BCC55 hack to workaround WIN32_LEAN_AND_MEAN
problem.
* include/hbsetup.ch
* include/hbsetup.h
* source/common/hbverdsp.c
* source/vm/arrays.c
- HB_FUNC_CALLCONV - no longer used.
- HARBOUR_OBJ_GENERATION - no longer used.
+ Added profiler setting to build info.
- YACC debug setting removed frmo build info.
* Build info strict compatibility line now says 5.2e/5.3b.
* HB_EXTENSION renamed to "non-portable extension"
- HB_COMP_STRONG_TYPES - no longer used.
- HB_FIX_ACOPY_BUG
Replaced with a HB_C52_STRICT guard, but locally
overridden to always be strict (thus replicating
the bug). This means no change in functionality
for default builds. In any ways this is not a decision
to make by the Harbour users. If anyone had this
locally #defined anyway, pls shout.
; NOTE: It's nice that I'm removing unused stuff, but
my impression is that by time we have added
quite some new such settings burried in the code,
so if you're aware of any such ones, please
add them to hbsetup.h (or let's discuss which
ones to add).
* harbour/source/vm/extrap.c
! disabled SetUnhandledExceptionFilter() for WinCE builds
* harbour/contrib/hbole/ole2.c
* cleaned compilation in different env C/C++/UNICODE/compilers
* harbour/contrib/hbw32/w32_ole.c
* harbour/contrib/hbole/ole2.c
* harbour/contrib/gtwvg/gtwvg.h
! do not use HB_ID_REF() for _WIN64 - I would like to ask someone
with Win64 to verify current Harbour build status?
* contrib/hbapollo/apollo.c
! Added __BORLAND__ specific hack to suppress numerous
non-ANSI warnings in foreign header.
(#define _declspec __declspec)
* contrib/hbapollo/apollo1.prg
+ File ending CRLF.
* contrib/hbgd/gdwrp.c
! Fixed to explicitly include <windows.h> for __BORLANDC__
only. The reason for this hack is still unknwown, if
anyone could help to investigate this, it would be great.
* harbour/source/rtl/hbgtcore.c
* removed unnecessary variable
* harbour/contrib/hbw32/w32_ole.c
* harbour/contrib/hbole/ole2.c
* harbour/contrib/gtwvg/gtwvg.h
! use trick with HB_ID_REF() only for BCC and MSVC
some other C++ compilers like OpenWatcom have different
header files and does not need it.
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
* harbour/source/vm/extrap.c
* moved code to set exception handler from hvm.c to extrap.c
+ added void hb_vmSetExceptionHandler( void ) to set exception
filter
! fixed problem with C++ builds caused by missing extern "C"
declaration for exception handlers in extrap.c
* harbour/source/vm/estack.c
* declare hb_stack as static variable when HB_STACK_MACROS is
disabled to be sure that non extern code will access hb_stack
It's very important to eliminate such code before we add MT
support.
* harbour/source/vm/hvm.c
* changed hb_vmFrame() to work in the same way as hb_vmVFrame()
* harbour/source/rtl/hbgtcore.c
! fixed wrong clear column in right horizontal scrolling
* harbour/source/rtl/memoedit.prg
* use hb_inkeySetLast( n ) instead of KEYBOARD Chr( n ) ; InKey()
* source/rtl/dateshb.c
* source/rtl/datesx.c
% Reworked to be a bit faster than non-HB_FAST_STOD.
- Removed HB_FAST_STOD build time option, because it wasn't
safe. It caused reaching into undefined buffers when
passed string was shorter than 8 chars.
* common.mak
* source/vm/Makefile
* source/vm/mainwin.c
* source/vm/estack.c
+ source/vm/extrap.c
* source/vm/hvm.c
* Rearranged/cleaned up exception handlers.
* Renamed OS/2 one to comply with namespace rules.
* Moved from estack.c/mainwin.c to extrap.c and hvm.c.
* win32 ex.handler now enabled by default at HVM startup.
* win32 ex.handler now writes exception info into hb_ex.log.
* win32 ex.handler now pops up a MessageBox() by default.
We should consider removing this but currently the default
Windows handler kicks in anyway, which is also a GUI dialog.
; TODO: A common way to log these errors across all platforms.
; NOTE: HB_INCLUDE_WINEXCHANDLER is not used by Harbour anymore.
; NOTE: Please test OS/2
* contrib/hbmysql/make_gcc.sh
* contrib/hbmysql/make_b32.bat
* contrib/hbmysql/make_vc.bat
* contrib/make_b32_all.bat
* contrib/make_gcc_all.sh
* contrib/hbfbird/make_gcc.sh
* contrib/hbfbird/make_b32.bat
* contrib/hbfbird/make_vc.bat
* contrib/hbapollo/make_gcc.sh
* contrib/hbapollo/make_b32.bat
* contrib/hbapollo/make_vc.bat
* contrib/make_vc_all.bat
* contrib/hbhpdf/make_gcc.sh
* contrib/hbhpdf/make_b32.bat
* contrib/hbhpdf/make_vc.bat
* contrib/hbpgsql/make_gcc.sh
* contrib/hbpgsql/make_b32.bat
* contrib/hbpgsql/make_vc.bat
* contrib/rddads/make_gcc.sh
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
* contrib/hbfimage/make_gcc.sh
* contrib/hbfimage/make_b32.bat
* contrib/hbfimage/make_vc.bat
* contrib/hbgd/make_b32.bat
* contrib/hbgd/make_gcc.sh
* contrib/hbgd/make_vc.bat
* Changed envvars pointing to external packages to comply
with our own rules:
APOLLO_DIR -> HB_DIR_APOLLO
FIREBIRD_DIR -> HB_DIR_FIREBIRD
FREEIMAGE_DIR -> HB_DIR_FREEIMAGE
GD_DIR -> HB_DIR_GD
MYSQL_DIR -> HB_DIR_MYSQL
PDFLIB_DIR -> HB_DIR_PDFLIB
PGSQL_DIR -> HB_DIR_PGSQL
ADS_DIR -> HB_DIR_ADS
LIBHARU_DIR -> HB_DIR_LIBHARU
(same rule for <package>_INC -> HB_INC_<package>)
Sorry folks, but you'll need to update your env.
(I can send a 'gsar' script to help that)
+ Added option for non-GNU BCC/VC contrib makes to
accept HB_INC_<package> format envvars to specify
the include dir only, so that we're now in sync with
the non-GNU GCC build system (make_gcc.sh).
; TODO: HB_LIB_<package> (or HB_BIN_<package>) is still
to be done any .dll/.lib handling.
* source/rtl/tget.prg
* ::picture(), ::PutMask(), ::unTransform() moved next
to each other for easier editing/fixing.
* common.mak
- source/common/hbfhnd.c
* source/common/Makefile
- Removed file not used by Harbour anymore.
* contrib/hbole/ole2.c
! Fixed OLE C++ errors under MSVC. Using Przemek's method.
; TOFIX: This one is still left:
.\ole2.c(714) : error C2664: 'HRESULT (IUnknown *,const IID &,void **)' : cannot convert parameter 2 from 'LPIID' to 'const IID &'
Reason: cannot convert from 'LPIID' to 'const IID'
No constructor could take the source type, or constructor overload resolution was ambiguous
* tests/rto_get.prg
+ Some tests added.
* source/rtl/tget.prg
+ Some notes about C5.x behaviour.
! Formatting/indentation fixes.
% Minor optimizations.
* contrib/xhb/Makefile
* contrib/xhb/common.mak
! Added hbfast.h, hbxml.h
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
! Fixed two BCC warnings in new code.
* contrib/hbgd/gdwrp.c
! Changed to generate proper extern references even
for BCC. Now tests compile OK.
The trick was to explicitly #include <windows.h>
before all the other headers, instead of just requesting
it using HB_OS_WIN_32_USED.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbct/ct.h
* contrib/hbpgsql/postgres.c
- Removed #defining _CLIPDEFS_H. It's only needed when
using Clipper compatibility API headers (*.api, extend.h).
* source/hbpcre/cnv_o2hb.bat
* source/hbpcre/cnv_hb2o.bat
+ Added COPYING
* contrib/hbfimage/tests/fitest.prg
* contrib/hbfimage/fi_wrp.c
+ Added FI_LOADFROMMEM(), FI_GETFILETYPEFROMMEM()
; Borrowed from Pavel Tsarenko / xhb.
* contrib/hbclipsm/gauge.c
% Minor rearrangement.
* contrib/hbmysql/make_vc.bat
! #defining __WIN32__ to make it build under VC.
; NOTE: C++ builds of everything related to OLE2
are broken. Could someone look into it?
(hbw32, gtwvg, hbole under BCC and MSVC)
* harbour/contrib/Makefile
* respect HB_WITHOUT_ODBC and HB_WITHOUT_ADS envvars
* harbour/debian/control
* harbour/make_deb.sh
* removed libncurses5-dev, libslang2-dev, libgpmg1-dev, libx11-dev and
unixodbc-dev from dependences list.
+ added support for HB_COMMERCE=yes envvar
+ added automatic detection for curses, slang, gpm, x11 and odbc
devel packages
+ added test for ACESDK detection - it tests if ach.h file exists
in default user or system wide installation
The above modifications are not tested and I would like to ask
Debian/Ubuntu users to make necessary tests.
* harbour/source/hbzlib/ChangeLog
* harbour/source/hbzlib/zutil.c
* harbour/source/hbzlib/gzio.c
* harbour/source/hbzlib/zutil.h
* harbour/source/hbzlib/zconf.h
* use _WINCE macro instead of _WIN32_WCE to detect WinCE builds
defining _WIN32_WCE interacts with header files and should be
left for user to specify exact WinCE version
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* harbour/make_rpm.sh
* removed --with zlib switch - now zlib will be created in all builds
* added hbzlib library
* added hbmzip library - MiniZIP wrapper to manage ZIP files
* harbour/contrib/Makefile
* added hbmzip library to default builds
* harbour/include/hbzlib.h
! changed \ in include path
! added relative paths for LCC and XCC
* harbour/bin/hb-func.sh
* updated for hbzlib library in core code and hbmzip in contrib
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
* added hbzlib library to linked library list
* harbour/include/hbzlib.h
* harbour/bin/hb-func.sh
* harbour/make_gcc.mak
* harbour/config/darwin/gcc.cf
* harbour/config/hpux/gcc.cf
* harbour/config/linux/gcc.cf
* harbour/config/sunos/gcc.cf
* harbour/config/bsd/gcc.cf
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
+ added support for compilation with HB_EXT_ZLIB macro
It forces using external (OS) ZLIB library instead of hbzlib.
Still some other make files should be updated to respect it.