* 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/idesaveload.prg
* contrib/hbide/idestylesheets.prg
* contrib/hbide/setup.ui
+ Implemented: application themes - a work-in-progress yet for
final implementation. Just have a fun to play with it currently.
Next commit will see it to real fruitation.
* INSTALL
* contrib/make.hbs
+ Added standalone mode. The goal is to emulate GNU Make's
nice in-place build feature for contribs hbmk2 make files.
Run with 'hbrun ../make.hbs [clean] [install]'
(install mode's installation phase doesn't work yet)
+ Added contrib type autodetection.
* HB_ADDONS_LIB, HB_ADDONS_BIN merged into HB_BUILD_ADDONS,
now the type is autodetected.
% Move hbmk2 cmdline to HBMK_OPTION only on MS-DOS hosts.
+ Added *nix script header.
+ Updated TODO list.
; NOTE: Most tasks are ready now regarding make system
migration in contrib area from GNU Make to hbmk2.
* config/postinst.hbs
+ Added native .hbl generation logic which doesn't require
hbi18n executable. (not used yet)
* bin/hbxpatch.hbs
* contrib/make.hbs
+ Added svn:executable flag.
* harbour/src/rtl/cdpapi.c
% removed one redundant if() condition
* replaced not working HB_CDP_[UN]LOCK used in hb_cdpList()
function with simple counter as protection against possible
overflow.
* harbour/src/compiler/complex.c
+ added support also for "." as date delimiters in VFP compatible
date[time] constant values.
* harbour/doc/xhb-diff.txt
* updated description of date[time] constant values syntax
to follow current Harbour and xHarbour behavior.
* 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.
* INSTALL
* GNU Make 3.81 recommended (without 'or upper')
+ Documented GNU Make 3.81.90 bug.
* contrib/make.hbs
* Minor tweak to avoid line ending spaces in stdout.
* Minor visual cleanup.
* contrib/hbide/hbide.hbp
+ Added instfile option to install .dlls on Windows systems.
* config/postinst.hbs
! Fixes in comment and feedback output.
- Deleted commented .hbl generation stuff based on hbmk2.
* 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.
+ contrib/hbide/editor.ui
+ Added: to be used a little while.
* contrib/hbide/setup.ui
+ Added: <Selections><Code Completion>
1. Completion List with Arguments ?
2. Complete Code including Arguments ?
* contrib/hbide/hbide.hbp
* contrib/hbide/idebrowse.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/idesaveload.prg
+ Implemented: a better control over code completion feature.
Now completion list can be presented with argument list intact,
i.e., hbide_isValidSource( cSourceFile ) can be presented
either as (default) hbide_isValidSource OR
hbide_isValidSource( cSourceFile )
Similarily, code can also be completed including arguments
list or without it. Please experiment.
* 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.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Corrected: code completion popup's vertical positioning.
It was not nonoring the visibility of horizintal ruler.
+ contrib/hbide/plugins/example_gui.hbs
+ Added: a gui dialog script which can be executed from
"Run as Script" toolbar icon or as auto executable script.
The aim to put this script in SVN is to facilitate third party
libraries to provide their users with a GUI interactive interface
to set library specific environment based on user options.
* contrib/hbide/ideedit.prg
! .hbs extension treated as .prg for editing operations
and syntax highlighting.
* contrib/hbide/ideeditor.prg
! .hbs extension treated as a source.
* contrib/hbide/ideplugins.prg
! deleted redundant code.
* contrib/hbide/ideprojmanager.prg
! Enabled to compile a source and run it without any project
definition ( Reported by Antonio Linares ).
* contrib/hbide/idesaveload.prg
! Included .hbs as valid text file extension.
* 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.
* contrib/hbwin/hbwapi.h
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/win_shell.c
* contrib/hbwin/win_dlg.c
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
! wapi_*() macros renamed to hbwapi_*() and
for raw pointers to hbwapi_*_raw_*().
This fixes wrong macro prefix, syncs it with other
symbols and makes it easier to find where raw pointers
are exchanges with Windows. It also fixes ambiguous
names 'wapi_ret_HDC()' vs. 'hbwapi_ret_HDC()'.
* contrib/hbwin/wapi_winbase_mutex.c
* wapi_* -> hbwapi_* for static function.
* 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.
* src/rtl/console.c
* src/rtl/philes.c
* include/hbextern.ch
+ Added: HB_PS() function, which does the same as HB_OSPATHSEPARATOR().
+ Added: HB_EOL() function, which does the same as HB_OSNEWLINE().
; These are very often used functions with an exceptionally long and
hard to type name, so most programs employed macros for it. Now this
is unnecessary. Long names are deprecated.
* contrib/Makefile
- contrib/makefile.hbs
+ contrib/make.hbs
* Renamed to be shorter.
+ Little steps for standlone running mode.
+ Using HB_EOL() and HB_PS().
; TODO: Change it all over Harbour SVN.
* 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.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideplugins.prg
* contrib/hbide/idesaveload.prg
+ Implemented: drg/drop support in "Projects" tree.
Now you can drop .hbp project files onto it.
% Fixed: RTE when a table was being opened twice.
Now an alert message is flashed to this effect.
! Fixed: right-side dock widgets visibility behavior.
Before next clicked dock was hidden under the tabs and
user had to click again on the tab.
* contrib/hbide/hbide.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideplugins.prg
+ Implemented: drag and drop support at two points:
1. When a valid text file supported by hbIDE
is dragged and dropped on editor widget.
2. When a .dbf file is dropped on ideDBU widget.
Please feel free to extend your comments.
* contrib/hbqt/doc/en/class_qmimedata.txt
* contrib/hbqt/qtcore/QMimeData.cpp
* contrib/hbqt/qtcore/TQMimeData.prg
* contrib/hbqt/qth/QMimeData.qth
+ Added method QStrinList * hbUrlList() which returns list
of Urls as strings. It is a workarount until proper
QList<QUrl> implementation is not in place.
* 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.
* contrib/hbqt/generator/hbqtgen.prg
+ Implemented: QList support for Q* data types as return value.
Still I could not find a dynamic way to pass it as an
argument to a function. This feature enables to harness
Qt's power to greater extent.
* contrib/hbqt/qth/QAction.qth
* contrib/hbqt/qth/QDropEvent.qth
* contrib/hbqt/qth/QFileDialog.qth
* contrib/hbqt/qth/QFontDatabase.qth
* contrib/hbqt/qth/QInputMethodEvent.qth
* contrib/hbqt/qth/QLocale.qth
* contrib/hbqt/qth/QMimeData.qth
* contrib/hbqt/qth/QPrinter.qth
* contrib/hbqt/qth/QTextEdit.qth
* contrib/hbqt/qth/QTextLayout.qth
* contrib/hbqt/qth/QTextOption.qth
! Commented out those functions returnin QList of type other than Q*.
* contrib/hbqt/qtcore/*
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtnetwork/*
! Regenerated.
* 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.
* src/common/hbver.c
* src/rtl/Makefile [t]
* src/rdd/Makefile [t]
* include/hbdefs.h
* include/hbsetup.h
+ config/bsd/pcc.mk
* config/rules.mk [t]
+ First step to add support for pcc (Portable C Compiler) on bsd.
; Patch by Tamas Tevesz.
; TODO: ? I guess the -gc3 and -l disabler hacks are temporary.
(in files marked with [t])
* contrib/hbide/idemisc.prg
+ #include "hbextern.ch"
* contrib/hbide/ideplugins.prg
* contrib/hbide/hbide.prg
+ Implemented: execution of auto scripts.
Any .prg placed in /plugins folder with "auto_" prefix,
f.e., /harbour/contrib/hbide/plugins/auto_setenv.prg
will be executed just after hbIDE dialog is made visible.
hbIDE itself is passed as only parameter sent to the
script. The idea is to allow developers of miscllaneous
GUI libraries to setup their own environment variables.
Another aspect of this feature could be changing the
behavior of hbIDE itself through its various component
objects, though it may need some more API functions.
An idea which can be extended and offers developers
greater control over the affairs.
! Modified last commit's missing entry.
2010-07-04 14:17 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed: horizontal selection where background color was
missed by a couple of pixels to the left.
* contrib/hbide/idefindreplace.prg
! Fixed to not "find" twice if "Return" is pressed.
* contrib/hbide/ideedit.prg
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed: horizontal selection where background color was
missed by a couple of pixels to the left.
* contrib/hbide/idefindreplace.prg
! Fixed to not "find" twice if "Return" is pressed.