* utils/hbmk2/hbmk2.prg
+ Add -D__HBEXTREQ__ whenever an .hbx module is present in a project.
* contrib/hbpost.hbm
- Delete manual -D__HBEXTREQ__. Now automatic.
- contrib/hbct/ctextern.prg
* contrib/hbct/hbct.hbp
- contrib/hbxbp/hbxbpext.prg
* contrib/hbxbp/hbxbp.hbp
- contrib/hbwin/hbwinext.prg
* contrib/hbwin/hbwin.hbp
* contrib/hbqt/qtgui/hbqtgui.hbm
- contrib/hbqt/qtgui/hbqt_extern.prg
* contrib/hbqt/qtwebkit/hbqtwebkit.hbm
- contrib/hbqt/qtwebkit/hbqt_extern.prg
- contrib/hbqt/qtcore/hbqt_extern.prg
* contrib/hbqt/qtcore/hbqtcore.hbm
- contrib/hbqt/qtnetwork/hbqt_extern.prg
* contrib/hbqt/qtnetwork/hbqtnetwork.hbm
- contrib/hbqt/qtuitools/hbqt_extern.prg
* contrib/hbqt/qtuitools/hbqtuitools.hbm
- contrib/hbqt/qscintilla/hbqt_extern.prg
* contrib/hbqt/qscintilla/hbqscintilla.hbm
- contrib/hbqt/qtdesigner/hbqt_extern.prg
* contrib/hbqt/qtdesigner/hbqtdesigner.hbm
- contrib/rddads/adsextrn.prg
* contrib/rddads/rddads.hbp
- contrib/hbgd/gdextern.prg
* contrib/hbgd/hbgd.hbp
% Deleted separate puller modules and added .hbx to the project directly.
; TODO: Some wrapper projects have the name already used for .c files,
so .hbx cannot be directly included ATM.
; TODO: Move -D__HBEXTREQ__ to local .hbp files so they kick in in stdalone mode too.
Or maybe hbmk2 should always define it, if there is an .hbx file included
in a project, after all it can generate these .hbx files, too.
* contrib/hbmxml/hbmxmlx.prg
* contrib/hblzf/hblzfx.prg
* contrib/hbxdiff/hbxdiffx.prg
* contrib/hbexpat/hbexpatx.prg
% Deleted some lines no more necessary.
* contrib/xhb/xhb.hbp
* contrib/hbxpp/hbxpp.hbp
+ Added .hbx puller to projects.
* utils/hbmk2/hbmk2.prg
+ Added -request= option to force linking any custom function/procedure
to target executable.
* contrib/hbrunext/hbrunext.hbp
* Replaced small hack using -main= to force linking, with -request= option.
+ contrib/hbrunext
+ contrib/hbrunext/hbrunext.hbp
+ contrib/hbrunext/pullext.prg
+ Added new hbrun clone named 'hbrunext', which is able to
include any of the contribs.
Currently it links with hbct, hbexpat and hbwin.
* contrib/hbwin/hbwin.hbp
+ contrib/hbwin/hbwinext.prg
+ contrib/hbwin/hbwin.hbx
+ Added extern puller logic for hbwin.
To pull it, use: REQUEST __HBEXTERN__HBWIN__ in the main
app module.
* contrib/hbsqlit3/hbsqlit3.c
! Fixed recent additions to always define Harbour level
functions and return dummy value if low-level functionality
is not available in an actual build:
SQLITE3_ENABLE_LOAD_EXTENSION()
SQLITE3_TABLE_COLUMN_METADATA()
SQLITE3_COLUMN_DATABASE_NAME()
SQLITE3_COLUMN_TABLE_NAME()
SQLITE3_COLUMN_ORIGIN_NAME()
* contrib/hbssl/hbssl.hbp
* contrib/hbssl/hbssl.hbm
* contrib/hbssl/ssl.c
! Implemented special OpenSSL requirement when using OpenSSL
as a .dll under win, for version 0.9.8 and above.
! http://www.openssl.org/support/faq.html#PROG2
; NOTE: SSL_INIT() must be called by the user application
for this to work.
* contrib/hbssl/tests/bio.prg
* contrib/hbssl/tests/encode.prg
* contrib/hbssl/tests/digest.prg
* contrib/hbssl/tests/crypt.prg
* contrib/hbssl/tests/pem.prg
+ Call SSL_INIT()
* contrib/hbssl/pem.c
! PEM_READ_BIO_*() functions fixed to not require a second
parameter (a password callback or string).
* contrib/3rd/sqlite3/sqlite3.c
+ contrib/3rd/sqlite3/sqlite3.dif
* contrib/3rd/sqlite3/sqlite3.hbp
! make sqlite3 work in minix.
Patch by Tamas.
; NOTE: I'd be good to submit this mod upstream. It might
be nasty to rediff this code. [vszakats]
* src/rtl/hbsocket.c
* contrib/xhb/xhb.hbp
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbmzip/3rd/minizip/minizip.dif
* contrib/hbmzip/3rd/minizip/ioapi.h
* INSTALL
; Further Minix patch from Tamas:
* contains small touchups to src/rtl/hbsocket.c to bring the previous
modifications in line with the rest, plus typo fixes
* disables contrib/xhb until minix gets the features needed
* disables contrib/3rd/sqlite3, pending investigation
* makes contrib/hbmzip work
* adds some notes to INSTALL
* utils/hbmk2/hbmk2.prg
* config/beos/gcc.mk
* config/qnx/gcc.mk
* config/bsd/gcc.mk
* config/wce/mingwarm.mk
* config/vxworks/gcc.mk
* config/minix/gcc.mk
* config/darwin/gcc.mk
* config/hpux/gcc.mk
* config/win/mingw.mk
* config/linux/gcc.mk
* config/cygwin/gcc.mk
* config/symbian/gcc.mk
* config/os2/gcc.mk
* config/sunos/gcc.mk
! Separate -Wimplicit-int and -Wimplicit-function-declaration
so that they are added to cflags only when not in cpp mode.
; Patch by Tamas.
* harbour/src/rdd/dbf1.c
! fixed DBI_ENCRYPT to use previously set password if no new one
is given
* harbour/src/rdd/hbsix/sxtable.c
! fixed wrong parameter checking in SX_SETPASS()
! removed wrong comment about optional parameter in SX_DBFENCRYPT()
* harbour/src/vm/cmdarg.c
! added missing OS CP conversion in HB_ARGV()
* harbour/contrib/hbct/ctmisc.prg
* use HB_PROGNAME() instead of HB_ARGV( 0 ) in EXENAME()
* harbour/contrib/hbnetio/readme.txt
! fixed two typos in description
- examples/hbextern
- Deleted hbextern generator tool. Long time not used and
now replaced by HB_REBUILD_EXTERN=yes Harbour build option,
and hbmk2 -hbx= option.
* config/postinst.hbs
* MAKEDIR() -> HB_DIRCREATE().
Warning: Make a 'make clean' _before_ updating to this revision.
Or, do a fresh checkout and build that.
Or, do a clean rebuild twice.
(otherwise plain 'make clean' will end with an error)
- examples/pp
- Deleted obsolete PP code.
; NOTE: Now that HB_BUILD_CONTRIB_DYN=yes works pretty much
okay on both win and linux, I will delete this
tool meant as a temporary workaround for those
requiring dynamic versions of Harbour libs:
bin/hbmk2l2d.hbs
If you need it, make a copy of it locally, though
most pbly nobody ever used this.
* utils/hbmk2/hbmk2.prg
+ Added -manifest= hbmk2 option for -hbexe/-hbdyn targets on
Windows platform. (all compilers supported)
Pls test.
; To generate manifests with -hbdyn and pocc/msvc compilers,
use -dflag=-manifest (or any other manifest related options
their linker support)
; TOFIX: bcc's resource compiler doesn't work in -inc mode.
* utils/hbmk2/hbmk2.prg
+ Added "nCOMPVer" variable for hbmk2 plugins. This returns
C Compiler version, which currently gives results for
mingw and msvc.
* contrib/hbqt/hbqt_common.hbc
* contrib/hbqt/hbqt_common.hbm
- contrib/hbqt/hbqt_hbmk2_plugin.hbs
+ contrib/hbqt/hbmk2_qt.hbs
* Renamed HBQT hbmk2 plugin to have a short name.
Just blind step to help DJGPP get around the long filename
problems and head into a dead end.
* contrib/hbwin/hbwin.hbp
+ contrib/hbwin/oleuuid.c
! Fixed linking Harbour OLE functions when using watcom
compiler. It also caused build errors with HB_BUILD_CONTRIB_DYN=yes.
Many thanks to Andi for suggesting the solution.
* contrib/xhb/hbsyslog.c
* Guard cleanup. Patch from Tamas.
* contrib/hbodbc/odbc.c
! Added workaround for OpenWatcom (1.9) missing an entry for
SQLSetStmtAttr() function's wide version (SQLSetStmtAttrW),
while it has it properly present in the header.
The workaround will disable UNICODE for hbodbc lib when
built for win/watcom.
[ I'd appreciate if someone could report this problem
upstream. ]
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
! Fixed casing in #include lines.
Please remember that case-sensitive file systems exist.
Patch by Tamas.
* utils/hbmk2/hbmk2.prg
+ Implemented experimental link script for mingw compilers with
-hbdyn targets. If it works out it can be extended to -hbexe
outputs, too. With further work it can be extended for os2 and
dos platforms. I will only do this if someone actually
reports such problems and can do tests.
; Please retest mingw build with HBQT contrib enabled, long HB_BUILD_NAME,
and HB_BUILD_CONTRIB_DYN=yes, and also normal cases.
* utils/hbmk2/hbmk2.prg
+ Adding clib3s lib to system lib list for win/watcom when
in -hbdyn mode. This is to fix link errors of 3rd (non-Harbour)
dynamic libs in HB_BUILD_CONTRIB_DYN=yes mode.
I have no idea why it's needed, so please extended or tweak
this fix if you have a better understanding of it.
(maybe the lib should be add for all platforms, or for
all link modes, etc)
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
+ Enabled for win/watcom. I don't know since when it builds and
what fixed it, so it's possible it's still broken with older
watcom verions. Now it builds fine with 1.9.
; TOFIX: watcom still has problems with missing externals when
building hbwin dll:
Error! E2028: IID_IDispatch is an undefined reference
Error! E2028: IID_IOleObject is an undefined reference
Error! E2028: IID_IUnknown is an undefined reference
Error! E2028: GUID_NULL is an undefined reference
Error! E2028: IID_IProvideClassInfo2 is an undefined reference
Error! E2028: IID_IProvideClassInfo is an undefined reference
Error! E2028: IID_IConnectionPointContainer is an undefined reference
Error! E2028: IID_IEnumVARIANT is an undefined reference
gtwvg dll:
Error! E2028: IID_IPicture is an undefined reference
and hbodbc dll:
Error! E2028: _SQLSetStmtAttrW@16 is an undefined reference
Any idea?
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added GPL license.
* contrib/hbnetio/utils/hbnetioq/netiosrq.prg
+ Added GPL license. (once the server code is
deleted and only the UI remains, this should
be updated)
* contrib/make.hbs
! Fixed to not define _HB_BUILD_ when doing a custom build
(explicitly passed .hbp file) in stdalone mode.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Enabled keepsort on the saved configuration hash.
* contrib/hbhpdf/harupdf.c
- Deleted wrapper to HPDF_PDFA_GENERATEID(), what rather seems
an internal function.
* Tweaked previous fix to HPDF_PDFA_SETPDFACONFORMANCE(), so that
now it's included in dynamic builds, just returning dummy result.
Still a pending TOFIX though, as it's not right that dynamic
and static version of the same lib works differently. Any tips
which way to choose? It would be great asking libharu developers
about whether HPDF_PDFA_SetPDFAConformance() is meant as a
public function.
* harbour/src/vm/hashfunc.c
* harbour/src/vm/hashes.c
* moved HB_HASH_RESORT setting to avoid potential problems when some
3-rd party code didn't set it correctly.
* harbour/src/rtl/itemseri.c
! fixed restoring hash arrays with strict order - they were not resorted
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added RPC and console command to save filters.
They will be reloaded automatically when starting
up the server daemon.
* ChangeLog
! Fixed previous entry header.
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
+ Keep order of filter lists.
* utils/hbmk2/hbmk2.prg
! Use _hbmkcpp_<cFirstFile>.cpp (instead of _hbmkcpp.cpp) on
non MS-DOS platforms.
* harbour/utils/hbmk2/hbmk2.prg
! do not use the first source file name to set hbmk[ _HBMK_cPROGNAME ]
when -gh switch is used - in such case multiple files are generated
so there is no single output file.
+ added support for incremental builds when -gh option is used
! clean .hrb files when -gh and -clean options are used
! clean .ppo, ppt and .pot files when -clean option is used in
incremental mode.
! use _hbmkaut_<cFirstFile>.[r]c instead of _hbmkaut.[r]c on
non DOS platforms to resolve name conflicts in multitarget builds
% do not check dependencies when -clean option is used
% do not rebuild/update .po files when -clean option is used
* added info message "Target(s) up to date." when none of
.hrb file have to be rebuild in -inc mode
; TODO: copy .hrb files created in -workdir to output directory
specified by -o option or to the current one
; NOTE: please verify above modifications
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
* contrib/hbnetio/utils/hbnetio/netiocon.prg
+ Added console commands to add/remove filters.
+ Added rpc and console commands to list filters.
* include/harbour.hbx
* src/rtl/hbfilehi.prg
! HB_DIRADDPATHSEP() fixed to not add pathsep to plain dirspec.
! HB_DIRDELPATHSEP() fixed to not remove double pathspec from UNC root.
! Fixed to work if HB_OSDRIVESEPARATOR()'s length is not 1:
HB_PATHMAKERELATIVE(), HB_DIRUNBUILD(), HB_DIRDELPATHSEP().
(QUESTION: is this a valid possibility, or is this over-design?)
+ Added TODO to HB_CWD() to also be able to change dir.
This will require adding Harbour versions of DIRCHANGE() and
DISKCHANGE(), or moving the implementation to C level.
(possibly the latter)
- Deleted HB_FNAMEDIREXTSET(). Doesn't satisfy a general need.
* src/rtl/hbfilehi.prg
% Minor optimization, cleanups.
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* Cleaned PathProc() to have the name PathMakeAbsolute().
Deleted duplicate copies under different names.
* src/rtl/dirdrive.c
+ Added HB_DIRCREATE(), which is same as MAKEDIR() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
+ Added HB_DIRDELETE(), which is same as DIRREMOVE() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
* contrib/hbnetio/tests/netiotst.prg
* contrib/hbnetio/tests/netiot03.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbide/idesaveload.prg
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* tests/wcecon.prg
* tests/flink.prg
* bin/hb3rdpat.hbs
* examples/hbdoc2/gentpl.prg
* Replaced MakeDir() with universally available hb_DirCreate().
; TODO: same in config/postinst.hbs (delayed to avoid a million
false bug reports)
* src/rtl/Makefile
+ src/rtl/hbfilehi.prg
+ Added generic file/dir/path handling functions.
They are taken from hbmk2 code, added parameter checking,
did two minor change to DirBuild() to be generic,
renamed to have HB_ prefix.
Please note the parameter list and any details are
subject to change yet, IOW these APIs are not yet finalized:
hb_cwd() -> <cPath>
hb_PathNormalize( <cPath> ) -> <cPath>
hb_PathMakeAbsolute( <cPathRel>, <cPathAbs> ) -> <cPath>
hb_PathMakeRelative( <cPathBase>, <cPathTarget>, <lForceRelative> ) -> <cPath>
hb_DirAddPathSep( <cDir> ) -> <cDir>
hb_DirDelPathSep( <cDir> ) -> <cDir>
hb_DirBuild( <cDir> ) -> <lSuccess>
hb_DirUnbuild( <cDir> ) -> <lSuccess>
hb_FNameDirGet( <cFileName> ) -> <cDir>
hb_FNameNameGet( <cFileName> ) -> <cName>
hb_FNameNameExtGet( <cFileName> ) -> <cNameExt>
hb_FNameExtGet( <cFileName> ) -> <cExt>
hb_FNameExtDef( <cFileName>, <cDefExt> ) -> <cFileName>
hb_FNameExtSet( <cFileName>, <cExt> ) -> <cFileName>
hb_FNameDirExtSet( <cFileName>, <cDirNew>, <cExtNew> ) -> <cFileName>
; TODO: Review, clean interface.
; TODO: Use these functions in .hbs files, utils, hbide.
* include/harbour.hbx
* Updated.
* utils/hbmk2/hbmk2.prg
* One internal function renamed.
* contrib/hbide/idemisc.prg
! Applied FN_FromArray() fix to the copy in HBIDE.
; QUESTION: Should we make some of these file manipulation
functions part of core (possibly with
reorganized names)? These are generally useful,
and some of them are not trivial, some others
are often used, and all of them generic:
Some possible candidates from hbmk2:
hb_pwd()
PathNormalize( ... )
PathMakeAbsolute( ... )
PathMakeRelative( ... )
PathSepToSelf( ... )
DirAddPathSep( ... )
DirDelPathSep( ... )
DirBuild( ... )
DirUnbuild( ... )
FNameDirGet( ... )
FNameDirExtSet( ... )
FNameNameGet( ... )
FNameNameExtGet( ... )
FNameExtGet( ... )
FNameExtDef( ... )
FNameExtSet( ... )
FNameEscape( ... )