* utils/hbmk2/hbmk2.prg
+ --hbrefs option renamed to --hbinfo and now also includes
target type.
+ Extended target detection with 'hbppo' and 'hbhrb' types.
These are automatically detected from Harbour option usage.
+ Added ${hb_outputname} macro. Returns the output name as
specified with -o option, without extension. Returns empty
if there wasn't -o option at the point of usage.
+ Added ${hb_outputdir} macro. Returns the output dir as
specified with -o option. Returns empty if there wasn't
-o option at the point of usage.
+ -p -s options don't require to manually select -hbraw
mode, it will be autodetected.
! Fixed to not interpret -i- Harbour option as include dir.
+ Don't add the same Harbour option twice.
* contrib/Makefile
* contrib/make.hbs
+ contrib/hbpost.hbm
+ contrib/hbpre.hbm
% Cleaned the way build options are passed to hbmk2.
+ Synced much more options and build behavior of hbmk2
based contrib build with GNU Make build (debug, unicode,
warnings, Harbour settings, C settings)
+ Added more projects to hbmk2 build method.
% Deleted MS-DOS specific hack (for now) because the new
cmdlines are very short.
; TODO: Now make.hbs is not self-contained, which would
better be solved somehow.
* contrib/make.hbs
+ It will now detect and show target type in stdalone mode.
+ Synced default build options with GNU Make.
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ Added -hblib option to make it easy to detect target type
for 3rd party tools.
* contrib/hbnetio/utils/netiosrv.prg
+ Will now also accept .hbs and .prg files as RPC filters.
- contrib/hbnetio/utils/modules
* contrib/hbnetio/utils/modules.hbp
+ contrib/hbnetio/utils/rpcdemo.hbs
* Renamed RPC demo to .hbs.
* Deleted modules subdir.
- contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/utils/hbnetio.hbp
- Deleted separate hbmk.hbm.
* contrib/hbnetio/utils/netiocmd.prg
! Minor in help screen.
* contrib/hbnetio/tests/netiotst.prg
+ Added some feedback.
* package/winuni/mpkg_win_uni_extra_copy.bat
+ Include /doc/* tree in binary distro.
This makes code generation and embedding that large amount
of generated code into hbide itself (at build time) unnecessary.
All hbide needs to do is processing these docs at runtime, and
storing the results and index (f.e. as serialized hash into some
local cache dir in its setting area). At startup, periodically,
or by users request it can rescan the docs and regenerate its
caches.
* utils/hbmk2/hbmk2.prg
+ Added nesting level information to --hbrefs output.
* harbour/include/hbpp.h
* harbour/include/hbmacro.h
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/include/hbexprb.c
* harbour/src/pp/ppcore.c
* harbour/src/compiler/hbmain.c
* harbour/src/vm/macro.c
! fixed code used to decide about early and late macro
evaluation in codeblocks to be exactly Clipper compatible.
Now if codeblock contains at least one macro variable
(i.e.: &var, any&var, any&var.2) then it's always early
evaluated.
Please remember that codeblocks which contains only simple
macro variable ( &var[.] ), i.e.:
{|| &var }
are modified during compilation by Clipper and Harbour compilers to:
&( "{||" + var + "}" )
and then PCODE is generated. It allows to use LOCALs, STATICs and
FIELDs as 'var' in such expressions. In xHarbour above functionality
was extended to work also with macrotext variables, i.e.:
{|| &var.2 }
If you think it's important extension then I can make the same
in Harbour or I can even implement it for all codeblock expressions
with macros using declared non memvar symbols, i.e.
{|| &var + 1 }
what should effectively eliminate E0047 compile time error
! fixed compile time error E0042 "Macro of declared symbol..."
to be generated with the same conditions as in Clipper.
! fixed compile time error E0047
"Code block contains both macro and declared symbol references..."
to be generated with the same conditions as in Clipper.
Note: -km switch disables macro text evaluation so also above errors
unless macro is not used in codeblock
Warning: above modifications can cause compile time errors in some
code which was not Clipper compatible and in such case they
will have to be updated.
* harbour/utils/hbtest/rt_math.prg
! updated code with Clipper incompatible code exploited by above
modifications
* bin/hbxpatch.hbs
* utils/hbmk2/hbmk2.prg
* contrib/make.hbs
* config/postinst.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* hbmk2 rooted filename/path handling functions renamed.
Now they are in sync with hbmk2_*() (plugin) flavour.
With their new names they could even be included in core,
by adding an hb_ prefix to them.
* Renamed one internal constant in hbmk2.
* contrib/hbide/idemisc.prg
- Deleted unused hbmk2 function.
* src/rtl/filesys.c
* src/rtl/filebuf.c
* src/rtl/fssize.c
* HB_FOFFSET vars renamed to have n prefix (instead of ul and ll)
* contrib/make.hbs
! Fixed output dirs in stdalone mode.
* contrib/hbsqlit3/hbsqlit3.c
* contrib/hbwin/olecore.c
* contrib/hbwin/win_bmp.c
* HB_SIZE vars renamed.
* utils/hbmk2/hbmk2.prg
% Never delete the same file twice in -hbimplib -clean mode.
* contrib/make.hbs
! Fixed stdalone mode to create target in their usual GNU Make
target dir.
! Fixed HB_BUILD_NAME handling.
* INSTALL
* utils/Makefile
* config/postinst.hbs
% Changed postinst to create .hbl file on its own behalf without
calling hbi18n.
* 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.