* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
+ Installation will now create 'Harbour' registry key under
'Software', and in it write 'InstallDir' value with the
location of Harbour dir structure.
With this, additional tools (addons) can easily locate
Harbour on a system and install themselves indide the
dir structure or make necessary configuration settings
which need this information. F.e. HBIDE installer (which
can go even to '%ProgramFiles%/Harbour IDE' or '%ProgramFiles%/HBIDE'
can locate Harbour and configure its .ini to point to
proper hbmk2 location.
* contrib/hbide/idetools.prg
! Changed: macro notation for "Tools and Utilities" to confirm
to hbMK2 standards.
{source_fullname} => ${source_fullname}
{source_name} => ${source_name}
{source_path} => ${source_path}
=> ${source_ext} [Added]
{%MY_ENV_VAR%} => ${MY_ENV_VAR}
If marco keywords are not recognized, they are assumed to be
environment variables and return value of hb_GetEnv( cMacro )
is substituted.
+ contrib/hbide/resources/go-bottom.png
+ contrib/hbide/resources/go-down.png
+ contrib/hbide/resources/go-first.png
+ contrib/hbide/resources/go-jump.png
+ contrib/hbide/resources/go-last.png
+ contrib/hbide/resources/go-next.png
+ contrib/hbide/resources/go-prev.png
+ contrib/hbide/resources/go-top.png
+ contrib/hbide/resources/go-up.png
+ contrib/hbide/resources/hilight-all.png
+ contrib/hbide/resources/updown.ui
+ contrib/hbide/resources/updown.uic
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! An important fix.
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idetools.prg
+ Extended: in addition to next/previous buttons to naviagte
occurances of selected text, three more buttons are added:
"first", "last", occurance and "highlight all" occurances.
+ Implemented: macros parsing in "Parameters" list of
"Tools and Utilities" protocol. Currently following macros
are parsed:
{source_fullname} => full sourcename of current edit instance
{source_name} => mere name of current edit instance
{source_path} => only path of source in current edit instance
{%MY_ENV_VAR%} => result of hb_GetEnv( "MY_ENV_VAR" )
C:\temp\mycopy.bat {source_fullname} {source_path}\mysource.bkp
=>
C:\temp\mycopy.bat C:\harbour\contrib\hbide\hbide.prg C:\harbour\contrib\hbide\mysource.bkp
( assuming that current editor is containe hbide.prg )
* 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.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
+ Implemented: interface to find next/previous occurance of selected
text in the current editing instance.
The moment some text is selected in the editor, two tool-buttons will
automatically show-up on the lower-right corner of the editing window
to facilitate you execute "find" operation for selected text up or down.
Buttons will disappear where there is no more selected text.
The feature was requested by Antonio Linares.
* contrib/hbwin/win_shell.c
+ Added protection to typedef SHNAMEMAPPING, LPSHNAMEMAPPING for MINGW64.
MinGW-W64 provides these definitions and cause error when building hbwin.
* 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.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Minor.
* contrib/hbide/resources/buildsource.png
+ Icon for "Build Source" action.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
+ Implemeted: to compile a source, source is not saved
if in modified state. Action was already defined but inactive.
+ Implemented: to build a source, current defined environment is
used and build process stays in the folder where source resides.
Also source is not saved. hbIDE attempts to executable it also.
Action defines a new icon on the top-toolbar and also an entry
into the "Build" menu.
% Few more fixes in selections and find processes.
NOTE: new setup is also uploaded on my site.
* 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.
* harbour/contrib/xhb/trpc.prg
* harbour/contrib/xhb/trpccli.prg
! fixed xhb_StartThread() -> StartThread()
* harbour/contrib/xhb/xhbgt.c
! removed unnecessary wrapper to CT3 SETLASTKEY() function
* harbour/contrib/hbnf/ftisprn.c
! fixed HB_ISPRINT() -> HB_ISPRINTER()
* harbour/contrib/hbxpp/tbrowsex.prg
! added missing _TBR_COORD() definition
; TOFIX: this code uses _MAXFREEZE() function which do not exists so
it cannot be linked with any application
* 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.
* harbour/src/debug/dbgentry.c
* harbour/src/vm/hvm.c
+ added support for breakpoints and file wide static variables
when debugging non main thread.
It finished modifications in debugger code for MT mode.
Probably we should add yet to debugger support for separate
GT window(s) with debugger data for ST and MT applications.
* harbour/src/vm/garbage.c
+ added new PRG function HB_GCSETAUTO( [<nNewVal>] ) -> <nPrevVal>
which allows to set the frequency of automatic GC activation.
<nNewVal> is number of GC items (in thousands). If total number
of new GC items allocated from last GC pass exceed this value
then GC is automatically activated. Setting 0 disable automatic
GC activation. Automatic GC activation is necessary for programs
which allocates big number of complex items with cyclic references
without entering any idle state which can activate GC. In such
case users have to add to their code call to hb_gcAll() function.
In xHarbour they used sometimes background task for this job
but it's inefficient workaround for the problem due to reduced
performance.
This code is still experimental code enabled by HB_GC_AUTO Harbour
compile time macro.
* harbour/src/debug/dbgentry.c
! fixed potential memory leak in unused code for GLOBAL [EXTERN]
variables
! cleaned a little bit code for line numbers with good break points
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/wvgcuigdialog.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgutilities.prg
* contrib/gtwvg/tests/wvgwvtclasses.prg
* contrib/gtwvg/tests/wvgxbp.prg
! Suffixed remaining resources with hb_dirBase().
* contrib/hbide/hbide.prg
* contrib/hbide/ideenviron.prg
* contrib/hbide/ideprojmanager.prg
! Changed the way hbide.env file is located if not directed to use one.
Before no attempt was made to locate it and user had to assign through
"Compiler Environments" dialog. Now hbIDE looks it alongside hbide.ini,
if one is not assigned, and loads at startup.
* contrib/hbide/ideharbourhelp.prg
! Fixed a rare occured bug.
* contrib/hbide/idehome.prg
! Rearranged and "Welcome" tab contents columns.
* contrib/hbide/ideprojmanager.prg
! Made to invoke "Projects" tree window when a project is
created/saved through "Project Properties" dialog.
* 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.
+ contrib/hbblat/hbblat.hbp
+ contrib/hbqt/gtqtc/gtqtc.hbp
+ contrib/hbqt/gtqtc/gtqtcs.hbp
+ contrib/hbblink/hbblink.hbp
+ contrib/hbnf/hbnf.hbp
+ contrib/hbmemio/hbmemio.hbp
+ contrib/hbfship/hbfship.hbp
+ contrib/hbnetio/hbnetio.hbp
+ contrib/gtwvg/gtwvg.hbp
+ contrib/hbmisc/hbmisc.hbp
+ contrib/hbbtree/hbbtree.hbp
+ Added hbmk2 make files.
; NOTE: I intend to move hbbtree to the examples section.
It has unfixed portability problems since long time.
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/detect.mk
! Fixed key header name after last changes.
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ Skipping build if HB_QT_STATIC is not set.
* harbour/contrib/xhb/xhberr.prg
! fixed reporting information about workareas in error.log file
generated by default xHarbour error block.
Warning this code is still broken in xHarbour CVS.
* contrib/hbtip/hbtipssl/Makefile
* contrib/hbtip/Makefile
+ Always create hbtipssl. (not just when
openssl is detected)
* config/detect.mk
* contrib/hbssl/hbssls/Makefile
* contrib/hbssl/Makefile
* Moved openssl detection from central (core) location
to hbssl lib.
! Fixed hbssl GNU Make files after recent change in
static/dynamic selection.