* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
+ Using hbmk2 to do xMate conversion.
It's now also possible to convert from hbmake (I don't
its standard extension), and xbuild projects (I didn't
add it to the UI though).
Please fix me: I'm still having a hard-time telling
hbide where hbmk2 is. Plus I used hb_processRun(), pls
replace it with any method is fit for hbide.
- Deleted redundant copy-pasted (and outdated) code from
hbmk2 hbide source into hbide. (BTW their licence
was also incompatible, pls don't put it back there)
* utils/hbmk2/hbmk2.prg
+ Added comments to converted .hbp files about the original
source and format.
* config/postinst.hbs
+ Using hbi18n tool to generate .hbl files to utils.
(currently hbmk2 only)
This fixes missing .hbl after latest changes which dropped
regenerating utils at postinst phase. At the same time it
enables .hbl file generation for all platforms. The logic
will automatically generate .hbl files for all .po files
found under any utils.
* INSTALL
* utils/Makefile
+ Added hbi18 to the list of tools required to build Harbour
in cross-platform situations.
* contrib/hbqt/hbmk2_plugin_qt.hbs
! Fixed QT tools detection on HB_WITH_QT.
* utils/hbmk2/hbmk2.prg
+ -autohbc now has natural defaults, header part will
automatically get .ch extension, .hbc part will automatically
get .hbc extension. If .hbc is not specified, it will become
the same as header name. So f.e. '-autohbc=hbwin.ch:hbwin.hbc'
can be written simply as: '-autohbx=hbwin'.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added new experimental feature:
.hbp: -autohbc=<.ch>:<.hbc>
.hbc: autohbcs=<.ch>:<.hbc>
If such setting is used, f.e. in hbmk.hbc, it's possible
to automatically trigger .hbc files by key headers.
So f.e. if 'autohbcs=hbwin.ch:hbwin.hbc' is added to
hbmk.hbc, every projects where any .prg file references
hbwin.ch will automatically include hbwin.hbc, thus setting
up headers dir, libs and everything else that's required
for hbwin.
% Minor opt to -instfile handling.
* utils/hbrun/hbrun.prg
! Don't search passed program in PATH and hbrun dir, if
program name has path component.
* contrib/xhb/xhbenum.c
* contrib/xhb/xhbqself.c
* contrib/xhb/xhbwith.c
* contrib/xhb/xhberrc.c
! Fixed msvc64 warnings after HB_SIZE extension in stack API.
* contrib/make.hbs
+ Added logic to protect against case when 'clean install'
is used but hbrun or hbmk2 isn't available when launching
the make process. In this case 'clean' phase won't be executed
for contribs, which is solved by forcing a -rebuild in
'install' phase.
* src/vm/strapi.c
* src/vm/runner.c
* src/vm/itemapi.c
* src/vm/asort.c
* src/vm/hvm.c
* src/vm/arrays.c
* src/vm/memvars.c
* src/vm/set.c
* src/vm/classes.c
* src/rtl/lennum.c
* src/rtl/strcase.c
* src/rtl/replic.c
* src/rtl/padr.c
* src/rtl/padc.c
* src/rtl/strtran.c
* src/rtl/strtoexp.c
* src/rtl/padl.c
* src/rtl/saverest.c
* src/rtl/right.c
* src/rtl/philes.c
* src/rtl/mlcfunc.c
* src/rtl/left.c
* src/rtl/xsavescr.c
* src/rtl/setkey.c
* src/rtl/stuff.c
* src/rtl/trace.c
* src/rtl/samples.c
* src/rtl/inkeyapi.c
* src/rtl/inkey.c
* src/rtl/mtran.c
* src/rtl/colorind.c
* src/rtl/rat.c
* include/hbapi.h
* include/hbapistr.h
* Renamed HB_SIZE variables to have 'n' prefix.
(verified to generate the same objects as before)
* src/rtl/philes.c
* Changed hb_retnint()/hb_retni() to hb_retns().
* contrib/hbgd/gdwrp.c
* Formatting.
* utils/hbrun/hbrun.prg
+ Extended to look in current dir, hbrun dir and PATH for
passed script name, if no extension was passed, it will
try .hbs and .hrb in that order. This means hbrun is
pretty much like a shell command processor now.
* bin/hbxpatch.hbs
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* contrib/hbqt/hbmk2_plugin_qt.hbs
* config/postinst.hbs
* HB_OSPATHSEPARATOR() -> HB_PS()
* HB_OSNEWLINE() -> HB_EOL()
* utils/hbmk2/hbmk2.prg
* Using string literals instead of Chr() in few places.
! FindInPath() corrected to honor original dir in filename
it receives. This may affect plugins if they pass such
argument.
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Return errors if required tools are not detected.
(these errors are not yet all handled by hbmk2)
+ Refined tools detection on Windows to not try HB_WITH_QT
if not set at all.
! Fixed tool detection failure err msg to display proper
list of envvars able to control the process.
* contrib/makefile.hbs
+ Employed several different techniques to avoid long
cmdline length to make certain (f.e. MS-DOS) hosts happy.
* utils/hbmk2/hbmk2.prg
+ Added hbmk2_ArrayToList() function.
* utils/hbmk2/hbmk2.prg
! Will now strip all path components from -instfile before
forming the target filename.
! Won't turn off anymore the -info flag when speccing the
build type.
+ Will now copy -instfiles even if the targe is up to date
(in such case the target itself won't be copied)
* utils/hbmk2/hbmk2.prg
+ Added support for -instpath in -hbimplib mode.
This should fix missing implibs after recent make system rework.
* contrib/makefile.hbs
! Fix to prev.
* utils/hbmk2/hbmk2.prg
+ -clean will now delete the target for -hbdyn, -hblib and default
-hbexe modes. .bak is also deleted for -hblib mode.
Probably more autogenerated extensions will have to be deleted
here to become in sync with globsh.mk.
+ Extended -instfile and -instpath support to also accept
a file group prefix. This way multiple set of files can be
copied to a set of target directories.
; TODO: Change all -instfile options to point to 'inc' group.
+ dos/djgpp will now use -gstabs+ for debug mode instead of -g.
Following change made in GNU Make system by Tamas.
* contrib/makefile.hbs
+ Reworked the way GNU Make operations are mapped to hbmk2
actions. F.e. 'clean install' needs special attention as
plain clean cannot be done because
+ Added hbblat to limited set of test contribs.
+ Better isolation and preparation of hbmk2 configuration.
+ Cleanups to dynamic lib creation from contribs.
+ Added experimental support to install headers similarly
as GNU Make does.
* Makefile
! Fixed to reverse order and dependency of contrib and utils
trees in clean without install mode. In pure clean mode,
the contribs need to be traversed first, because hbrun and
hbmk2 are required for this task.
* Makefile
* contrib/Makefile
+ Will now inform about missing hbrun and .hbs scripts not
run because of it.
* examples/hbapollo/hbapollo.hbp
* -instfile updated with header file group.
* src/rtl/hbproces.c
! Fixed some unused variable warnings experienced with poccarm.
; Patches from Tamas Tevesz:
* config/dos/djgpp.mk
+ debug switch changed to -gstabs+ from -g. Following this:
http://www.delorie.com/djgpp//mail-archives/thread.cgi?msg=djgpp-workers/2002/05/29/06:33:31&mode=frames
* bin/hbxpatch.hbs
* Updated after latest changes. Thanks!
* src/common/hbver.c
! Fix for pcc detection.
* src/rtl/gtdos/gtdos.c
* src/rtl/hbproces.c
! MS-DOS fixes for TRACE() messages.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -instfile= option, instfiles= .hbc option and hbmk2 plugin
API to add new files to the list of files to be copied to
-instpath= targets. This option makes it possible to install
extra files along the target lib or exe itself, f.e. headers
or other supplementary files. This option only works for
-instpath= options which point to a dir (not a file).
* contrib/gtwvg/gtwvg.hbp
* contrib/hbblat/hbblat.hbp
* contrib/hbblink/hbblink.hbp
* contrib/hbbz2/hbbz2.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbclipsm/hbclipsm.hbp
* contrib/hbct/hbct.hbp
* contrib/hbcurl/hbcurl.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmzip/hbmzip.hbp
* contrib/hbnf/hbnf.hbp
* contrib/hbodbc/hbodbc.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbqt/gtqtc/gtqtc.hbp
* contrib/hbqt/hbqt.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbssl/hbssl.hbp
* contrib/hbtip/hbtip.hbp
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbwin/hbwin.hbp
* contrib/hbxbp/hbxbp.hbp
* contrib/hbxpp/hbxpp.hbp
* contrib/rddads/rddads.hbp
* contrib/rddsql/rddsql.hbp
* contrib/xhb/xhb.hbp
+ Added -instfile= options for headers installed by Makefile.
; TODO: Make copying of headers to central dir unnecessary on
*nix platforms as well.
* contrib/makefile.hbs
* Updated TODOs.
* contrib/hbqt/gtqtc/gtqtc.hbp
% Deleted -pi= option.
* contrib/hbqt/gtqtc/gtqtcs/Makefile
* Not needed to install headers from secondary (static) Makefile.
* examples/gfspell/gfspell.hbp
* examples/gtwvw/gtwvw.hbp
* examples/hbapollo/hbapollo.hbp
* examples/hbbtree/hbbtree.hbp
* examples/hbdoc2/hbdoc2.hbp
* examples/hbextern/hbextern.hbp
* examples/hbsqlit2/hbsqlit2.hbp
* examples/hbvpdf/hbvpdf.hbp
* examples/ps32/ps32.hbp
* examples/rddado/rddado.hbp
* examples/superlib/superlib.hbp
+ Added -instfile= options for headers installed by Makefile.
+ Added -w option where missing.
- Deleted -q0, -l where present.
+ Synced output setup with contribs.
! Added hbxpp.hbc reference for ps32.
+ Added dependency detection for hbsqlit2, hbapollo.
! hbdoc2 GT changed to GTCGI.
; Now the contrib and examples .hbp files are completely on the same
feature level.
* INSTALL
* external/Makefile
* contrib/Makefile
* utils/Makefile
- Deleted HB_CONTRIB_ADDONS, HB_EXTERNAL_ADDONS,
HB_UTIL_ADDONS.
+ Documented HB_ADDONS_LIB, HB_ADDONS_BIN (still not
necessarily the final names)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Included hbnetio in Windows based installers.
(.zip already had it after previous changes)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* config/postinst.hbs
- Deleted building hbrun-dll. It makes simpler,
won't be missed by too many users. Users needing
fully shared binaries can use HB_BUILD_SHARED=yes.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
* Renamed hbmk.cfg to hbmk.hbc, to use std extensions.
This file is a sortof autoexec.hbc.
* utils/hbmk2/hbmk2.prg
- Deleted line from help about automatic .hbc processing in cwd.
* COPYING
* utils/hbmk2/examples/plug_tpl.hbs
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Changed to use same license as hbmk2 (pure GPL)
also for hbmk2 plugin scripts.
* utils/hbmk2/hbmk2.prg
! Corrected to display any type of return value coming from
plugins. (all non-empty return value is considered an error)
s
* utils/hbmk2/hbmk2.prg
+ Added feature for plugins to register the file extensions
they can handle. This makes -pi option unnecessary for
passing special file types to the build process. File types
handled by hbmk2 cannot be overridden this way, if you want
to do such thing -pi option is required, this is by design,
and this way plugins cannot inadvertently mess up the build
process.
+ Added strict parameter checking to hbmk2 plugin functions
which requires the hbmk2 context. Now calling them with bad
parameters won't cause RTE inside hbmk2 code.
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Registering the file types the plugin can handle.
* contrib/hbqt/hbqtcore.hbp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbp
* contrib/hbqt/hbqscintilla/hbqscintilla.hbp
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbp
* contrib/hbqt/hbqt.hbp
* contrib/hbqt/hbqtgui.hbp
* contrib/hbide/hbide.hbp
- Dropped -pi option. It is now unnecessary in these cases
(well, all cases in Harbour)
* contrib/hbqt/hbqscintilla/hbqscintilla.hbp
! Fixed content. The referenced plugin name was deleted quite
long ago already when this file was committed. Was this
file ever tested before commit?
+ contrib/hbqt/tests/harbour-logo.png
+ contrib/hbqt/tests/harbour-icon.png
+ contrib/hbqt/tests/testres.prg
+ contrib/hbqt/tests/testres.qrc
+ Added example for QT resource embedding.
Sent to the list by Bacco, with my cleanups, formatting,
renames etc. I didn't add a .hbp file for it, so pls
remember to build it using:
'hbmk2 testres testres.qrc'
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Activated new resource binary generator code, which
doesn't require qt headers anymore.
* contrib/hbqt/hbqt.hbc
- Deleted qt dependency. Not needed anymore.
* contrib/Makefile
* contrib/makefile.prg
+ Some contrib libs will now be built using new hbmk2 based
method as an experiment.
+ hbnetiosrv will now be built as well using hbmk2, also as
an experiment.
* contrib/hbide/hbide.prg
+ Loading resources manually using new QResource method
implemented by Bacco.
* utils/hbmk2/hbmk2.prg
+ Implemented support for #import Objective C specific
directive when detecting header dependencies.
* .m extension is now compiled with C compiler (not C++)
- Deleted 'experimental' status from plugin related options.
; Patches from Bacco:
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/qth/QResource.qth
* contrib/hbqt/qtcore/TQResource.prg
* contrib/hbqt/qtcore/QResource.cpp
* contrib/hbqt/doc/en/class_qresource.txt
* contrib/hbqt/hbqt.h
+ Added QResource:registerResource()/QResource:unregisterResource()
* With some minor modification from me (unsigned char -> uchar,
some formatting)
; Patches from Tamas Tevesz:
* src/rtl/memvarhb.prg
* src/rtl/hbcom.c
* Tweaks for prev patch: formatting and .hbv type description.
; Thanks to both contributors!
* src/rtl/memvarhb.prg
+ Added file signature and version no. to .hbv files.
; Patch by Tamas Tevesz with a few modifications:
- added high byte at 1st pos is signature
- deleted RTEs in case of invalid file content on load
(to mimic original __MVRESTORE() which is also silent)
- minor optimization on signature checking.
; INCOMPATIBLE: The file format has changed so you won't be
able to interchange it with previous
versions of Harbour. Anyhow it's very new
format, so this shouldn't affect many users.
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
+ Shows .hbs as support input file format (where applicable)
! Little fix in displaying options w/o description on help
screen.
* utils/hbrun/hbrun.prg
+ Added clipboard paste support with Alt+V key.
* contrib/hbide/hbide.prg
- Temply disabled reference to new-style embedded resources.
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Added .qrc to .prg generator logic.
! Fixed .qrc to .c generator leaving last few bytes off.
% Optimized .qrc to .c generator output to have only one
line.
* utils/hbrun/hbrun.prg
+ Internal history length changed to 128 (from 32).
- Deleted extra limit on number of saved history items.
% Minor optimization to history saving.
* src/rtl/gtsln/gtsln.c
* Whitespace formatting.
* include/std.ch
+ Added .hbv version of SAVE TO / RESTORE FROM commands.
Use 'SAVE HBV ...' and 'RESTORE HBV ...' commands to
use Harbour specific mem file format (with .hbv extension).
The file format supports long variable names and much
larger amount of data then Clipper compatible .mem files.
The file format is NOT compatible with Clipper.
; Pls review. This is my first time extending Harbour
commands, plus I'm not very much a command freak, so
maybe there is more natural (and compatible) way to
extend existing SAVE/RESTORE command.
* utils/hbrun/hbrun.prg
* Variable scope cleanup to prev.
* src/rtl/gttrm/gttrm.c
+ GTTRM will now generate HB_K_RESIZE Harbour INKEY() events
if the terminal window is resized.
* utils/hbrun/hbrun.prg
+ Will now automatically resize the UI if the window is
resized (on GTs which support this: GTTRM, GTWVT, GTXWC)
+ Now shows little red 'o' sign if history recording is enabled (default)
+ Set resize mode to 'rows' (only meaningful if using GTs
that support it).
% hbrun_Info() optimized.
* utils/hbrun/hbrun.prg
+ Added load/save of command history.
It can be disabled by -p cmdline option or by adding
a single line "no" (without quotes) to the history filename.
Otherwise last 500 commands will be remembered.
History filename is %APPDATA|HOME%/.harbour/.hbrun_history
if such envvar is present, otherwise hbrun dir. On MS-DOS
it's hbrun dir and hbrunhst.ini.
* utils/hbmk2/hbmk2.prg
* Minor variable/constant name cleanup.
* contrib/hbqt/hbmk2_plugin_qt.prg
! Typo in #if statements.
* src/vm/extend.c
* include/hbapi.h
+ Added hb_retclen_const() to return constant byte arrays.
* contrib/hbqt/hbmk2_plugin_qt.prg
* contrib/hbide/hbide.prg
+ Implemented pure Harbour .c QT resource support.
Commented, waiting for HBQT API to load resources
from byte stream.
This method will create a pure .c source files
from binary QT resource, so it doesn't require
QT headers to be present.
* contrib/hbqt/hbmk2_plugin_qt.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideskeletons.prg
* Changed 'ui' prefix to 'hbqtui_' for compiled .ui
file entry function names.
* utils/hbmk2/hbmk2.prg
+ Added hbmk2_FNameToSymbol() plugin function to convert
filename to Harbour symbol name.
* contrib/hbide/hbide.env
- Deleted QT setup from compilers where QT is not supported.
* utils/hbmk2/hbmk2.prg
+ Addeded support for specifying dependencies in .hbc files.
* contrib/hbide/hbide.hbp
* contrib/hbqt/hbqt.hbc
* Moved qt dependency specification from local make file to
central hbqt.hbc.
* INSTALL
* contrib/hbqt/hbmk2_plugin_qt.prg
! Minor correction to compile to hbmk2 plugin .hrb if compiled
with harbour.
+ Added support for HB_QTPATH, HB_QTPOSTFIX envvars. This is
now the recommended way to override QT tools autodetection.
Kept HB_QT_MOC_BIN for compatibility. Deprecated.
(just added support for HB_QT_UIC_BIN, HB_QT_RCC_BIN removed)
- Deleted hardcoded hack to look for '-qt4' postfix when looking
for QT tools. Now it's QT version agnostic. Use HB_QTPOSTFIX instead.
! Fixed deleting temp .uic file in stdalone mode.
+ Added -w3 pragma.
* utils/hbmk2/hbmk2.prg
+ Will now defined macro __HBSCRIPT__HBMK for all scripts
executed in source form.
* utils/hbrun/hbrun.prg
+ Will now defined macro __HBSCRIPT__HBRUN for all scripts
executed in source form.
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Will now act as a stdalone uic to prg converter tool if
invoked via hbrun (or anything other than hbmk2). This is
useful for testing this conversion process easily.
* Variable rename.
- contrib/hbqt/utils
- Deleted hbqtui stdalone tool.
* contrib/makefile.prg
+ Updated TODOs
* utils/hbmk2/hbmk2.prg
+ Separated package dependency by key header autodetection logic
from header dependency parsing logic. This way the code is
cleaner and it has the added benefit that dependencies
will be detected even without actual source code using the
key headers. This f.e. makes it possible to pull dependencies
for autogenerated code (such example can be found in hbide
where generated .cpp depends on qt).
Another benefit is that pkg detection by header will also
work in non incremental mode or forcefully disabled header
parsing option, it also causes better header parsing
performance.
* contrib/hbqt/hbqt_common.hbm
- contrib/hbqt/hbmk2_plugin_moc.prg
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Merged moc plugin into qt plugin. This way some of the
common code and logic is now integrated, forming a common
hbmk2 plugin for all QT purposes.
% Merged common code.
* Some internal renames.
* Further changes regarding proper -clean behavior.
* contrib/hbide/hbide.prg
* contrib/hbide/ideprojmanager.prg
- contrib/hbide/resources/hbide.env
+ contrib/hbide/hbide.env
* Moved hbide.env to hbide root.
; TODO: It remains to be solved that hbide.env be searched
at the same locations as as hbide.ini. It would be even better
if hbide.env could use more standard .ini layout and be simply
merged into hbide.ini.
Pritpal, could you check this issue?
* INSTALL
+ Added HB_QT_UIC_BIN.
* utils/hbmk2/hbmk2.prg
! Fixed to call 'pre_prg' plugin state from a better
position, so that it works in incremental mode.
* contrib/hbqt/hbmk2_plugin_ui.prg
* Variable name cleanup.
* Marked parameters passed by reference.
* contrib/Makefile
* Finalizing GNU Make -> hbmk2 job transfer.
* contrib/makefile.prg
* Finalizing clean/install/make job control.
* contrib/hbide/hbide.hbp
+ Use explicit .ui input file list instead of using wildcards.
* contrib/hbide/setup.ui
! Fixed mixed-case hbide.ini filename on UI.
! Fixed .exe extension (and mixed case) on UI.
* contrib/hbqt/hbmk2_plugin_ui.prg
+ Rewritten to look for uic tool. Using same rules as
moc. Marco is silent so I'm not sure about some of the
rules, anyway I hope someone will review it, until then
it won't cause any harm.
+ Merged hbqtui functionality. The code has been formatted,
some logic cleaned. Made all the changes that were needed
in order to include the code in a hbmk2 plugin.
hbqtui is not needed anymore.
; TODO: Use hb_regexAll() instead of hb_regex() if possible.
* contrib/hbqt/hbmk2_plugin_moc.prg
* Minor cleanup in error messages.
* utils/hbmk2/hbmk2.prg
* Added HB_REGEX() to the executable until it's cleaned away from
ui plugin.
* utils/hbmk2/hbmk2.prg
* config/postinst.prg
+ Changed the way default .hbc search paths are setup. Now
instead of being speficied by hbmk.cfg, they are hard-coded
into hbmk2: contrib, addons. This makes these
search paths work even whithout 'install' build phase.
Pls note that 'examples' fell out of the std search path list.
- hbmk2 will _no longer_ automatically process .hbc files in
current directory. This concept was causing more trouble
than good, as it turned out. Also removed -nohbc option,
which has now lost its meaning.
; TODO: Rename hbmk.cfg to hbmk.hbc to have a standard
extension.
; TODO: To solve the search path issue on *nix dir structures.
Currently the search paths are:
bin/../contrib/, bin/../addons/
; TODO: Delete -nohbc options from all hbmk2 project files.
; TODO: Delete paths from .hbc references (possibly after
solving the *nix search path arrangement issue)
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* Renamed hbrun-x64-dll.exe -> hbrun-dll-x64.exe
* examples/rddado/rddado.hbc
! Fixed .hbc reference path. Thanks to Itamar for reporting it.
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/mpkg_win_uni.bat
* utils/hbformat/Makefile
* utils/hbi18n/Makefile
* utils/hbtest/Makefile
* config/postinst.prg
* Forcing shared build for hbformat, hbi18n and hbtest.
Simply to save binary sizes on all platforms.
* Disabled extra shared (-dll) version for hbformat, hbi18 and hbtest
because this is now the default mode for these.
* Disabled extra shared (-dll) version for hbmk2.
* Changed distro to always include hbrun x64 shared build, too.
; To sum it up: hbformat, hbi18n, hbtest will now have shared exes
generated and distributed, for hbmk2 only static one, and for hbrun
both. This simplifies build and install, and fully syncs x64 tools
distributed, with 32-bit ones.
* utils/hbrun/Makefile
* utils/hbrun/hbrun.hbp
+ Enabled MT mode for hbrun. Not required, but it's a good way to
start off with experimenting. It could be useful for scripts, too.
* utils/hbmk2/hbmk2.prg
+ Added internal ${hb_workdynsub} variable to return subdir of
intermediate files built for dynamic libs on platforms where
dynamic libs require different compiler settings.
+ Adjusted the place where plugin event 'pre_c' is called from.
* contrib/xhb/xhb.hbp
! Synced variable list with Makefile.
* contrib/hbqt/hbmk2_plugin_moc.prg
* contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Reworked to properly support -clean
+ Reworked to not try building files when some other
factors (f.e. -stop option) would skip building
their output files.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed unused var warning.
* contrib/hbziparc/hbziparc.hbp
! Added missing reference to hbmzip.hbc.
* contrib/hbnf/ftint86.c
! Added another dummy function required by .prg files.
* contrib/hbxpp/tbrowsex.prg
! Commented function call referencing a non-existent
function (it's a STATIC function in core)
* contrib/makefile.prg
* Changed the way HB_BUILD_NAME is handled.
* Changed the way how target dir is formed.
(delegating more work to hbmk2)
* utils/hbmk2/hbmk2.prg
+ -hbimplib mode now respects -clean option.
* contrib/hbqt/hbmk2_plugin_moc.prg
* contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Will only display tool detection information if -info
option is used.
* contrib/makefile.prg
+ Setting -width=1000 to not break up output.
* src/rtl/gtwvt/gtwvt.c
+ SETMODE() will now support automatic resizing of font to make
requested dimensions fit on the screen, when HB_GTI_RESIZABLE
is enabled. (Previously in such case SETMODE() returned .F.)
Please test/review it.
* examples/rddado/tests/test.mdb
! Updated with newly generated one. Seems this file "rots" while
left sitting there on SVN, this is probably the 3rd time I'm
doing this, just to make it open. [ or maybe the file format
required by ADO changes constantly with OS updates/upgrades? ]
* examples/rddado/tests/access1.prg
! Deleted debug code leftover.
* Minor cleanups
* examples/rddado/tests/access2.prg
+ Added date column
! Fixed LOCATE command filter argument. It was not working
since the initial committer added it, because the filter
string used Harbour syntax, while it requires ADO (SQL-like)
syntax. RDDADO will make a very basic attempt to help in
that conversion, but f.e. aliased field names (and many
others) will break it. So: use ADO filter syntax until
this gets properly resolved.
* Minor cleanups
* examples/rddado/rddado.hbc
! Added missing libpath option.
* utils/hbmk2/hbmk2.prg
+ Added '-quiet-' option to turn off -quiet switch.
(note that -quiet will also force off -info, so after
-quiet- you also want to use a -info option to reverse
that)
* 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