* contrib/hbide/hbide.hbp
+ Changed to generate .uip files dynamically using uip
plugin.
; TODO: If this goes well, delete .uic and .uip files from SVN,
move resources/*.ui to hbide source root dir.
* contrib/hbqt/utils/hbqtui.prg
! Fixed to use GTCGI.
; TOFIX: There is a great deal of screen flickering due to
external call to uic.exe on Windows.
+ contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Added .ui -> .uip plugin.
; NOTE: hbqtui executable needs to be in PATH or
current dir.
* contrib/hbide/ideprojmanager.prg
+ Enabled above plugin.
- contrib/hbide/resources/hbmk2_plugin_hbide.prg
- Deleted empty plugin.
* utils/hbmk2/hbmk2.prg
+ Display RTEs in plugin code by default, suppress by -quiet.
(before it was enabled by -info)
- contrib/hbqt/utils/hbmk.hbm
+ contrib/hbqt/utils/hbqtui.hbp
* Renamed to be more easily started by automated make process.
* harbour/include/hbextern.ch
* harbour/src/vm/runner.c
+ added new PRG function
HB_HRBSIGNATURE() -> <cSig>
which returns HRB file signature
+ added internal function hb_hrbCheckSig() to keep HRB file
signature checking in one place
* harbour/include/hbextern.ch
* harbour/src/vm/cmdarg.c
+ added new PRG function
HB_ARGSHIFT( [<lProgName>] ) -> NIL
which updates HB_ARG*() parameter list removing the 1-st one
and replacing it by others. If <lProgName> is .T. then first
non internal parameter is moved to hb_argv(0) (hb_progname())
and all next are shifted.
* harbour/utils/hbrun/hbrun.prg
+ when extension does not allow to recognize file type then check
passed file signature. If it's HRB file then execute directly
otherwise use it as PRG script.
This modification allows to use any names (except the ones using
known for HBRUN extensions like .hrb amd .dbf) as PRG script names.
+ Call HB_ARGSHIFT(.T.) to strip HBRUN executable file name from
parameter list when PRG script or HRB file is executed
* config/detfun.mk
* config/global.mk
% Streamlined internal handling of HB_SRC_ROOTPATH value.
+ HB_SRC_ROOTPATH will now be conditioned before use:
ending pathsep added, pathseps converted to forward
slash, double slashes deleted.
! Fixed HB_BIN_COMPILE autodetection in PATH, $(realpath
was not necessary, it only ruined already absolute paths
which are likely to appear in PATH anyway.
% Optimized HB_BIN_COMPILE autodetection in PATH to reuse
function created for this purpose.
! Fixed GNU Make 3.81 version detection to work also with
future GNU Make versions.
+ Added GNU Make 3.80 version detection. (unused, commented)
% Deleted version guards from around $(eval) and $(info) calls:
Unknown function calls will simply be ignored by
GNU Make and empty string returned, so this is safe.
% Force HB_BUILD_PKG off only if HB_SRC_ROOTPATH is not
specified (and running < 3.81 GNU Make version).
+ Show warning when using < 3.81 GNU Make version and
HB_SRC_ROOTPATH was not specified.
+ Falling back to using HB_SRC_ROOTPATH in all places where
$(realpath) or $(abspath) calls are used in 3.81 version.
! Protected one $(realpath) with version guard.
+ Automatized how HB_VER_STATUS_SH is filled for final releases.
; NOTE: HB_SRC_ROOTPATH support is completely untested.
; TODO: If everything works as intended, now "only" $(eval)
calls need some workaround to give full blown
functionality also with 3.79 version of GNU Make.
* config/instsh.mk
! Fixed to not use $(realpath) (and fail to install),
when running under < 3.81 GNU Make.
* utils/hbmk2/hbmk2.prg
* config/global.mk
* Changed to use 'wcc386' executable for watcom detection
(was 'wpp386').
* INSTALL
+ Minor updates regarding QT.
* INSTALL
+ Added Mac OS X QT pkg recommended link.
* ChangeLog
* Updated list of pending issue on QNX system.
* contrib/hbmysql/mysql.c
! Fixed version guard around mysql_get_server_version() call
to check against the documented version number this
function appeared.
* utils/hbmk2/hbmk2.prg
! Fix for *nix filename escaping code.
! Fixed to escape and decorate filename in entry function
detection external call using nm tool.
; Patches by Tamas Tevesz.
* src/vm/dynlibhb.c
* include/hbthread.h
+ Added QNX support.
* src/rtl/hbzlib.c
! Added hack to fix missing zlibVersion() and zError()
functions from the zlib lib shipped with QNX 6.2.1.
+ config/qnx/libs.mk
+ Added QNX specific lib configuration.
* utils/hbmk2/hbmk2.prg
+ Added (untested) list of system libs for qnx/gcc.
* INSTALL
+ Added QNX reference to one more place.
; NOTE on QNX:
All binaries build cleanly, hbtest works.
; TOFIX/TODO:
- hbrun seems to misdetect the width of the terminal
- Clean some hack in QNX port
- platform autodetection
- retest whole port from vanilla SVN source, test MT
linkage.
; So now Harbour can run in cars, planes and spaceships.
* INSTALL
* include/hbsetup.h
* utils/hbmk2/hbmk2.prg
+ Added experimental support for QNX operating systems.
Tested with 6.2.1.
+ config/qnx
+ config/qnx/gcc.mk
+ config/qnx/global.mk
+ Added qnx GNU make files. For now this is a simple copy
of linux ones.
* src/common/hbgete.c
* src/common/hbprintf.c
+ HB_OS_QNX tweaks.
* src/common/hbffind.c
* src/rtl/fssize.c
! Disabled stat64 for HB_OS_QNX.
* src/common/hbffind.c
! Fixed very old error in default (todo) branch
where hbrtl function was mistakenly referenced.
* external/Makefile
* contrib/Makefile
* contrib/sddoci/Makefile
* config/none.mk
* config/global.mk
* config/bin.mk
* config/dir.mk
+ Since QNX has GNU Make 3.79.1, I had to re-xmastree
the GNU Make files (though I didn't restore the xmas
indentation), plus restore all logic that dealt
with older GNU Make versions. Also added some new logic.
+ Changed to give warning only when using older than
3.81 make versions. Some feature are disabled in this case,
f.e. HB_BUILD_PKG (win/dos specific feature)
; TOFIX: host platform and cpu detection relies on $(eval)
which is not present on pre 3.80.
; habour and hbpp builds fine, but there are several remaining
problems in rtl and vm.
* mpkg_nightly.sh
+ Added feeback about what the script does.
+ Using -q for zip to lessen large amount of unnecessary feedback
* external/pcre/pcre.dif
* external/pcre/Makefile
! Tweak to make PCRE build on djgpp 2.3
Patch by Tamas Tevesz (2nd version posted on dev list)
* contrib/hbqt/plug_moc.prg
* utils/hbmk2/hbmk2.prg
+ Implemented separate filename notation setting for scripts
and cmdlines (just like with filename escaping).
This should aid the win/bcc on linux cross-build scenario.
(not testing done though)
* config/global.mk
% Minor optimization, in bcc location detection. I hope.
+ Changed autodetection to look for fixed .exe extension
for tools which have no native *nix versions, so their
name always ends with .exe regardless of host platform.
This should make these tools usable under WINE.
* config/win/bcc.mk
+ Attempt to better support bcc on linux build scenario,
by using backslash escaping in this case.
* utils/hbmk2/hbmk2.prg
* Cleaned up to use hard-coded .exe extensions in autodetection
code for tools which have no other version. (syncing with
above GNU Make change). This has no effect yet.
* config/global.mk
* utils/hbmk2/hbmk2.prg
! xcc.exe -> xCC.exe
* utils/hbmk2/hbmk2.prg
! Tuned watcom filename escaping behavior:
It will now use *nix notation on *nix builds.
It will now use double quoting on Windows builds.
It will now use single quoting in script files on all builds.
No quoting on other platforms. [ watcom is special because
each platform native compiler can create builds for other
platforms, so we must use platform native fn quoting. ]
This should in theory (hopefully) fix the remaining
combinations for watcom, though I didn't test any
of these. [ The only exception is using watcom Windows
.exe via WINE on *nix systems. But that seems a little
bit exotic of an option ;)
Oh for testing pass some source filenames with spaces
in them.
; TOCHECK: Whether watcom script files (@<fn>) use the same
single quoting ('filename') on all platforms.
For some reason so far it was only used for
win targets, so I may have broken it, if it
was done for good reason.
* utils/hbmk2/hbmk2.prg
! Fixed to use *nix-style filename escaping when calling
Windows cross tools only available via WINE (bcc, msvc*, pocc).
! Better *nix-style char escaping in filenames.
* ChangeLog
! Typos in last commit log.
* contrib/hbqt/plug_moc.prg
* utils/hbmk2/hbmk2.prg
! Fixed to use proper filename notation also in plugins.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* Minor cleanups.
* utils/hbmk2/hbmk2.prg
+ Quite big commit aiming to clean path forming in different
situations. After this is change it should be more or less
true that internally hbmk2 always uses native path format,
it should accept _any_ format regardless of platform,
and it should convert filenames to proper format only when
calling external compiler tools, according to their specific
taste.
F.e. this should fix problems when doing Windows cross-build
on *nix systems, with watcom, or other compilers (except
mingw) which has native compiler. It should continue to
work with WINE based on compilers in similar situations.
There is one specific exception when passing around
filenames as part of options. In this case hbmk2 cannot do
too much magic, so try to avoid it.
Though I never actualluy tried this latter case.
Please test it, regressions are possible. I'd be happy to
see stress tests with passing various combination of pathseps
and watching -trace output whether everything is properly
converted to right format.
+ Will now convert filenames to Cygwin format for Cygwin
targets.
! Fixed to accept .hbi files without '@' prefix.
* config/postinst.prg
% Do not add '@' prefix when referring to .hbi files.
* src/vm/extend.c
! Fixed TRACE message of new hb_parnintdef() function.
* src/rtl/hbcomhb.c
* Minor correction to one function description in comment.
* src/rtl/hbsocket.c
* Minor formatting.
* include/hbcom.ch
+ Added comments.
* Formatting.
+ Added comment that code is used by .c code.
* contrib/hbtpathy/telepath.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
+ tp_send() code rewritten to use core timeout functionality.
+ Implemented formerly disabled tp_ctrldtr() function.
(pls review it)
% FetchChars() internal function simplified.
* contrib/hbcomm/hbcomm.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* contrib/hbsms/hbsms.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* Receive code rewritten to rely on core timeout functionality
instead of rolling local implementation.
; I didn't make any tests with API converted COM code, so please
review and test these changes.
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbcomm/hbcomm.hbc
* contrib/hbsms/hbsms.hbc
- Deleted hbct dependency.
* INSTALL
* package/winuni/RELNOTES
* QT 4.6.2 -> 4.6.3
* utils/hbmk2/hbmk2.prg
+ Modified regex expression to be POSIX compliant.
Thanks to Tamas Tevesz for this modification.
Now hbmk2 should be compatible with supported regex engines,
though it continues to fail (gracefully) if Harbour core is built
using 'HB_WITH_PCRE=no' option.
* src/rtl/hbregexc.c
+ Restored RTE which is thrown when unsupported regex string is
found in any .prg level regex API calls except HB_REGEXCOMP().
The only difference compared to previous solution is different
error code (3015) to differenciate this case from wrong
parameter _type_ error cases.
; TOFIX: IMO even current solution is not ideal, because it just
forces developers to use HB_ISREGEX() to pre-evaluate regex
strings before actually using them (causing performance hit),
or it forces them to use HB_REGEXCOMP() to pre-compile and
pre-evaluate the expressions before passing them to actual
regex functions, in the valid case they want to avoid unexpected
RTEs due to missing or unsupported regex (PCRE) subsystem.
IOW it makes plain HB_ATX( <cRegExp>, ... ) style calls
prone to fail with RTE in certain, very hard to predict
situations in officially supported Harbour builds.
Comments are appreciated.
* utils/hbmk2/hbmk2.prg
* Deleted unused code.
* Formatting.
* src/rtl/hbregexc.c
* Changed to not throw RTE, just gracefully return
error value when invalid PCRE expression is used.
It will continue to throw RTE only for user-controllable
error situations, f.e. when wrong argument type is passed.
! Fixed to not contain English text hard-coded in RTE message.
* src/rtl/hbregex.c
* HB_ATX() changed to fill parameters passed by reference with
error values (zeros) in case of error.
* HB_REGEX(), HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
functions changed to consistently return arrays. If there
is no match, the array will be empty. This gives a more
natural (and Clipper/Harbour-like) interface (f.e. return
value can be passed to FOR EACH loop without extra checks
and extra local variable).
Slight INCOMPATIBILITY for those who did 'r == NIL' check
to verify non-match and something special in this case.
For code simply evaluating the returned matches, the NIL
check can be deleted, and for code which wants to be
backward/forward compatible _and_ to specifically check
for no match situation it's suggested to use 'EMPTY( r )'.
Please check me.
* HB_REGEXMATCH() marked as HB_LEGACY_LEVEL4. (this leaves
quite some headstart to change it)
* include/hbextern.ch
- Deleted HB_REGEXMATCH().
* utils/hbmk2/hbmk2.prg
% Simplified regex usage after above changes.
+ Will now show an internal error in case the used
regex is invalid in current Harbour context
(f.e. when no PCRE engine was forced by user, or
the one used doesn't support the expression used by
hbmk2). I don't know how special current expression
is (it doesn't seem very much so), but it can be
streamlined to something more compatible if current
is deemed not ideal.
* src/compiler/hbusage.c
* Changed to enclose e-mails between '()' instead of '<>'.
* include/hbsetup.h
! Patch by Tamas Tevesz for SunPro compiler.
* ChangeLog
- Deleted my personal exception from ChangeLog license.
* INSTALL
* external/sqlite3/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/wce/msvcarm.mk
* config/win/msvc.mk
* Changed HB_COMPILER_VER values for msvc targets. Previously it was
the Visual Studio version, now it is the C compiler version,
the same value used in _MSC_VER predefined macro:
Name old NEW
-------------------------------------- ---- ----
C Compiler version 6.0 600
C/C++ compiler version 7.0 700
Visual C++, Windows, version 1.0 100 800
Visual C++, 32-bit, version 1.0 100 800
Visual C++, Windows, version 2.0 200 900
Visual C++, 32-bit, version 2.x 200 900
Visual C++, 32-bit, version 4.0 400 1000
Visual C++, 32-bit, version 5.0 500 1100
Visual C++, 32-bit, version 6.0 600 1200
Visual Studio .NET (2002), version 7.0 700 1300
Visual Studio .NET 2003, version 7.1 710 1310
Visual Studio 2005, version 8.0 800 1400
Visual Studio 2008, version 9.0 900 1500
Visual Studio 2010, version 10.0 1000 1600
INCOMPATIBLE for users setting HB_COMPILER_VER manually, pls
change the value as indicated above. For most users it's
recommended to rely on autodetection and not to set this
variable at all.
* config/postinst.prg
! Fixed to use hb_osFileMask() instead of hard-coded '*' mask.
* src/rtl/memvarhb.prg
* Minor in comment.
* contrib/hbtpathy/tpunix.c
+ Applied patch sent to the list by Tamas Tevesz.
Fixing some compilation problems due to missing predefined macros
on certain *nix systems.
* contrib/hbqt/hbqt_common.hbm
* Formatting.
* utils/hbmk2/hbmk2.prg
! Fixed to make sure -depcontrol= header path value is added
to the header path search list in the same location as specified
on the cmdline.
* utils/hbmk2/hbmk2.prg
+ Added basic support to recognize headers inside Frameworks
on darwin systems.
+ Added basic support to recognize Objective C (.m) input files.
% Optimized to only deal with header exclusion of known
headers if they are specified as "system directories"
(specified as #include <...>)
! Minor cleanup when adding include dirs after header detection.
* contrib/hbqt/hbqt_common.hbm
% Cleaned QT autodetection on darwin systems after adding
basic support for Frameworks to hbmk2.
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/hbqtgui.hbp
* contrib/hbqt/gtqtc/gtqtc.hbp
% Deleted now unnecessary hacks for darwin.
* contrib/hbqt/Makefile
* contrib/hbqt/detect.mk
* contrib/hbqt/hbqts/Makefile
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtgui/qtguis/Makefile
* contrib/hbqt/qtnetwork/qtnetworks/Makefile
* contrib/hbqt/qtnetwork/Makefile
* contrib/hbqt/gtqtc/Makefile
* contrib/hbqt/gtqtc/gtqtcs/Makefile
% Deleted extra hacks for darwin regarding header path setup.
* INSTALL
- Deleted dead link.
* utils/hbmk2/hbmk2.prg
! Fixed typo in recent header detection changes causing -inc
mode to always rebuild target.
+ Added support for multiple -depkeyhead= option, which means
that multiple alternative key headers can be specified and
the first match of any of them will satisfy the dependency.
! Fixed typo causing dependencies to wrongly detected as 'local'.
* contrib/hbqt/hbqt_common.hbm
* Unfinished changes to sync darwin with rest of platforms.
* contrib/hbqt/plug_moc.prg
! Missed to look in PATH to find moc tool.
* utils/hbmk2/hbmk2.prg
! Fixed to handle -depcontrol=<path> case.
+ contrib/hbmzip/hbmzip.hbp
+ Added hbmk2 solution to replicate GNU Make dependency
checking logic.
* utils/hbmk2/hbmk2.prg
+ Finalizing dependency options:
-deppkgname=<d:n>
-depkeyhead=<d:h>
-depoptional=<d:f>
-depcontrol=<d:v>
-depincpath=<d:i>
-depincpathlocal=<d:i>
; See more in the --help and the example above.
* Finalized terminology (requirement -> dependency)
* utils/hbmk2/hbmk2.prg
+ Rewritten dependency checking logic. New solution
integrates -reqheader, -inctrypath, -reqpkg options.
(Current parametrization and terminology is not final.)
The new engine supports dependency detection by package
name (via pkg-config/*-config), even multiple ones, by
key header file using custom header search paths, both
global and local. It also supports built-in detection
control as we know it from our GNU Make build system
via HBMK_WITH_* envvar (or one with customzed name)
which can have no/yes/nolocal/local/force values. This
implementation also supports optional dependencies.
* package/winuni/RELNOTES
* Updated.
* harbour.spec
* doc/dirstruc.txt
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
- contrib/hbbtree
+ examples/hbbtree
- examples/hbbtree/Makefile
* hbbtree move to example section as told in a recent
changelog entry. This contrib has long time unfixed
file-format portability problems, plus it's really
more of a good example code than lib for end-users.
* utils/hbmk2/hbmk2.prg
+ Now uses regular expression to extract #include directives
from source files, so now it should recognize all supported
syntax variations (f.e. " # include <>"). The only
difference between real source parser is now only the lack
of comment filtering (and no preprocessor, but this latter
isn't desired for multiple reasons).
Pls review me.
* src/rtl/hbregex.c
* HB_ATX() cleanup code layout, minimalized variable scopes.
% HB_ATX() minor optimization: No need to check pcount before
calling hb_stor*() functions since it's done anyway inside
those calls.
* HB_ATX() will now default the 5th <nEnd> parameter to the
full length of the passed source string. It's slight
incompatibility though I doubt too many users would have
called this with empty 5th parameter, since the function
just didn't do anything in this case.
Pls review this, maybe I misunderstood original intent.
* src/vm/fm.c
* src/vm/set.c
* SET( _SET_HBOUTLOG, NIL ) will now reset the internal output
name to NULL, which is also the new internal default value.
* After this change the GPF handler and FM STAT dump code
will do the defaulting to "hb_out.log" filename, if the
internal _SET_HBOUTLOG value is NULL. This causes a small
incompatibility in how log file can be disabled, and at the
same time allows to implement low-level logging logic for
default case which is safer than current one, while allowing
the user (developer) to set a custom log filename and expect
regular log file append behavior.
From now on to disable logging, use: SET( _SET_HBOUTLOG )
* utils/hbmk2/hbmk2.prg
! Fixed to not do pkg detection and key header evaluation
after -stop and certain modes.
+ Added full list of std C and POSIX headers to the header
exclusion list in header dependency parser code.
Also added dos.h.
* contrib/xhb/dbgfxc.c
* Formatting.
* utils/hbmk2/hbmk2.prg
+ Will now ignore current and host directory when looking
for system headers (<>) in header dependency finder code.
+ contrib/hbmysql/hbmysql.hbp
+ contrib/sddmy/sddmy.hbp
+ contrib/sddfb/sddfb.hbp
+ contrib/sddpg/sddpg.hbp
+ contrib/hbcups/hbcups.hbp
+ contrib/hbpgsql/hbpgsql.hbp
+ contrib/rddads/rddads.hbp
+ contrib/hbfimage/hbfimage.hbp
+ contrib/hbgd/hbgd.hbp
+ contrib/sddoci/sddoci.hbp
+ contrib/hbcairo/hbcairo.hbp
+ Added new hbmk2 make files.
* contrib/hbgd/Makefile
- Deleted some information from cmoment. (now included in INSTALL)
* contrib/hbcairo/hbcairo.h
* Formatting.
* utils/hbmk2/hbmk2.prg
+ Added experimental support for filters containing string
comparisons, f.e.: '{MY_VAR='hello'}-cflag=-DMY_FLAG'
; NOTE: It's not guaranteed yet that this feature will stay.
* include/hbzlib.ch
+ Added HB_ZLIB_RES_* zlib result values.
* contrib/xhb/Makefile
- contrib/xhb/hbcomprs.c
+ contrib/xhb/hbcomprs.prg
+ contrib/xhb/tests/compress.prg
+ Rewritten xhb compatiblity compression functions in .prg.
The main reason was to avoid dependence on zlib.h on C level.
This simplifies the build layout.
! This fixes last zip error to work in MT programs.
+ Added test/demo program from xhb. Work by Giancarlo Niccolai.
; NOTE: Tested only with xhb test/demo program.
* contrib/xhb/hbcomprs.ch
+ Changed to use HB_ZLIB_* constants. So it's now only a wrapper
instead of replicating values.
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_hbqtableview.h
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqmainwindow.h
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/hbqt_hbdbfmodel.h
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/qth/QVariant.qth
* contrib/hbqt/qth/QCursor.qth
* contrib/hbqt/qth/QClipboard.qth
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QCoreApplication.qth
* contrib/hbqt/qth/QImage.qth
* contrib/hbqt/qth/QUrl.qth
* contrib/hbqt/qth/QAbstractItemModel.qth
* contrib/hbqt/qth/QImageReader.qth
* contrib/hbqt/qth/QWebHistoryItem.qth
* contrib/hbqt/qth/QFont.qth
* contrib/hbqt/qth/QFontDatabase.qth
! Fixed to use '#include <QModule/QName>' format when referring
to QT headers. This is the official way and it allows to clean
the include header paths.
! Fixed to use '#include <QtCore/qglobal>' instead of
'#include <qglobal.h>' for the same reason as above.
* contrib/hbqt/hbqt.h
+ Added '#include "QtCore/QObject"' to make hbmk2 component
detection happy. This is slight hack as I didn't want to
introduce parsing of '<>' style system headers just for the
sake of QT. Anyway it's quite humble hack without side effects.
* contrib/hbqt/detect.mk
* Changed to 'QtCore/qglobal.h' as key header name used for
detection.
! Fix to header dir autodetection path on darwin platform.
(it would have caused potential problem with QT 5.x releases)
% Simplified header path list for non-darwin platforms.
+ contrib/hbqt/hbqt_common.hbm
+ contrib/hbqt/hbqt.hbp
+ contrib/hbqt/hbqts.hbp
+ contrib/hbqt/hbqtcore.hbp
+ contrib/hbqt/hbqtcores.hbp
+ contrib/hbqt/hbqtgui.hbp
+ contrib/hbqt/hbqtguis.hbp
+ contrib/hbqt/hbqtnetwork.hbp
+ contrib/hbqt/hbqtnetworks.hbp
+ Added hbmk2 make files for HBQT libs.
Features are equivalent to the GNU Make flavour.
(only tested on Windows so far)
+ contrib/hbxbp/hbxbp.hbp
+ Added hbmk2 make file for HBXBP lib.
* contrib/hbfbird/hbfbird.hbp
* contrib/hbsms/hbsms.hbp
* Use ${hb_name} instead of ${hb_dirname}.
+ Added -w3 -es3 options.
* utils/hbmk2/hbmk2.prg
+ Set pathseps to '/' in "-reqheader=' and
'-reqpkg=' header names.
- utils/hbmk2/examples/plug_moc.prg
+ contrib/hbqt/plug_moc.prg
* Moved inside hbqt lib.
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtcore/*
* Regenerated.
* utils/hbmk2/hbmk2.prg
+ Beefed up and fixed -reqpkg feature:
+ Possible to pass multiple alternate pkg names:
-reqpkg=cairo|cairo2|cairo.h
+ Possible to attach header name, in which case it
will automatically satify the -reqheader= parameter
with same header name, if it exists. Headers without
extension can be specified as 'header.'
! Fixed to use case-insensitive lookup in header list
on non-*nix systems.
+ Added -info messages regarding pkg detection.
! Fixed parsing of -l/-L/-I parameters in pkg detection
code.
* utils/hbmk2/hbmk2.prg
! Fixed silly variable initialization bug after last commit.
* contrib/hbwin/wapi_shellapi.c
! Fixed WAPI_SHELLEXECUTE() having HB_PARSTRDEF() one
position off.
* examples/rddado/tests/access1.prg
* Minor update. Still doesn't work.
* utils/hbmk2/hbmk2.prg
+ Added untested, experimental support for -reqpkg=/reqpkgs=
(.hbp/.hbc) options. F.e. '-reqpkg=libcurl' option causes
hbmk2 to query library, library path and include path
information from 'pkg-config' tool and if not found using
'*-config' script, and to automatically pass these information
to C compiler/linker. In addition, it will automatically add
a macro named HBMK2_HAS_LIBCURL to C compiler cmdline, so
that the sources get to know that this package was found.
; NOTE: Nothing is finalized, it is still a question how to
setup obligatory and optional components, current
implementation is rather a mixture, but anyway pls
feel free to test it. It's also a question how to merge
this method with the -inctrypath/-reqheader one.
Later we can consider adopting extra C flags, too,
and it can be extended to know about more package
detection methods (even platform dependent ones can
be used if they adhere to more or less the same
principle of 'pkgname->IN incpaths/libpaths/libs->OUT')
Thanks to Tamas Tevesz for sparking the idea.
* utils/hbmk2/hbmk2.prg
+ Added ${hb_filename} macro.
+ "hbexe", "hblib", "hbdyn", "hbdynvm", "hbimplib" can now
be used as filter keywords to detect target type.
* contrib/hbwin/hbolesrv.hbc
+ Will now show warning message if not used together with
-hbdynvm option.
+ Will will now be ignored if not used together with
-hbdynvm option.
; Tried to add hbolesrv.c as direct source 'sources=hbolesrv.c',
but it requires this source (+ headers) to be distributed along
the binaries, plus it didn't resolve the watcom issue, so
I dropped it.
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
+ contrib/hbcomm
+ contrib/hbcomm/Makefile
+ contrib/hbcomm/hbcomm.hbc
+ contrib/hbcomm/hbcomm.prg
+ contrib/hbcomm/hbcomm.hbp
+ contrib/hbcomm/tests
+ contrib/hbcomm/tests/hbmk.hbm
+ contrib/hbcomm/tests/test.prg
+ Added HBCOMM compatibility library. It's based on hbct
COM functions. Not tested with real port. Also see one
TOFIX and one INCOMPATIBILITY note inside. The latter
belongs to INCHR() function which in original HBCOMM
library will do HVM corruption by overwriting string
content passed as 3rd parameter. In Harbour 3rd
parameter needs to be passed by reference.
Also added fully adapted test code from HARBOUR MINIGUI
project. Interestingly this code was using the return
value of INCHR() to get the returned buffer, which was
in sync with included HBCOMM code. Anyway, hopefully
this can be finalized based on report from real users.
; DISCLAIMER:
EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES.
+ contrib/hbfbird/hbfbird.hbp
+ contrib/hbsms/hbsms.hbp
+ Added early bird experimental .hbp files for contrib
two projects.
* utils/hbmk2/hbmk2.prg
+ Added support for ${hb_dirname} macro which returns the
directory in which the script file is where the macro is
used.
! Fixed so that '-build' option doesn't require a configured
C compiler.
+ Extended hack for bcc autoconfiguration with 5.8 support,
adding an extra system header directory to the include
dir list if it exists. bcc 5.8 appears to be well installed,
so this is probably not needed for most users.
+ Documented dir casing differences between bcc 5.5 and 5.82.
This may be important for autoconfiguration hack to work with
bcc under wine using native hbmk2 build. I'm not even sure
such scenario is possible at all ;)
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
+ Added support for 'psources=' and 'pflags=' directives in
.hbc files. They serve the same purpose as cmdline '-pi='
and '-pflag=' options; passing parameters to plugins.
% Minor internal optimizations, also fixing some very rare
and light potential problems with letting to add double
parameters when passing them using different pathseps.
* include/hbapifs.h
+ Added some more HB_EXPORT flags. Pls check me.
* contrib/hbwin/hbolesrv.hbc
+ Added reference to hbwin.hbc, so that it can be used
standalone accompanied by -hbdynvm option to create
OLE servers easily: 'hbmk2 -hbdynvm hbolesrv.hbc ...'
* contrib/hbwin/hbolesrv-watcom.def
! Fixed comments to watcom format.
* utils/hbmk2/hbmk2.prg
! Fixed RTE when parsing certain rarer Windows file types
in sources= directive in .hbc files in *nix hbmk2 builds.
(could only kick in when using hbmk2 under *nix to cross
compile for Windows). Thanks Przemek for the report.
- Deleted doubly added support for .def file parsing in sources=
directive.