* config/hbextern.hbs
% Synced extern extractor regex queries between compilers.
+ Added NOTE that non-gcc extractors don't support dynamic lib
as input, so they cannot be used to generate core .hbx files.
* contrib/make.hbs
% Deleted unused code that's really not needed anymore.
* config/hbextern.hbs
+ Added HB_REBUILD_EXTERN support for msvc, pocc, watcom and bcc
compilers.
* contrib/make.hbs
* config/postinst.hbs
! Fixed to convert input file for extern generation to native format.
* utils/hbmk2/hbmk2.prg
+ Added ${hb_dynsuffix} macro which returns a dynlib suffix
value compatible with the naming system used for Harbour core
dynlib (-x64, -wce-arm, -bcc, etc..)
% Internals optimized to use dynsuffix value when calculating
harbour core dynlib name.
! Fixed to not require macros inside filters to be uppercases.
(as a side effect now unknown macro names will be passed
as is to getenv() to check for possible envvar value)
* contrib/hbpost.hbm
+ Will now use ${hb_dynsuffix} when forming output name in
-hbdyn mode. So f.e. for x64 targets an '-x64' suffix will
be used, which matches with the one used with core harbour
dynlib. Also bcc targets will get -bcc postfix.
+ Will now use ${hb_dynsuffix) when forming implib output name
if it's not empty (for x86, ia64, wce and bcc in practice).
* contrib/make.hbs
* config/postinst.hbs
! Display msg about extern generation only if it was really started.
* config/hbextern.hbs
! Fixed to check for the presence of input file.
* contrib/make.hbs
* config/postinst.hbs
* config/hbextern.hbs
+ Implemented manual include/exclude filter in extern header
generation process. Include filters can be specified
using '// HB_FUNC_INCLUDE <func>', exclude filters using
'// HB_FUNC_EXCLUDE <func>'. By default everything is
included, this can be overridden using HB_FUNC_INCLUDE,
and exceptions made using HB_FUNC_EXCLUDE. <func> can
contain wildcards, so it's very flexible.
NOTE: - By default the functions are declared using DYNAMIC
so these generated can be directly used when the goal
is to load pcode dynamic libs dynamically.
- By #defining '__HBEXTERN__<libname>__REQUEST' the
generated headers will switch to EXTERNAL declaration,
so they can be used when building dynamic libs or when
user wants to explicitly pull all functions into lib
code. Do not use this from app code.
- When __HBEXTERN__<libname>__REQUEST is defined, the
generated headers will also ANNOUNCE __HBEXTERN__<libname>,
which means that application can simply pull all functions
into app code, using:
'REQUEST __HBEXTERN__<libname>__' command.
- Names are not necessarily finalized yet. ("extern", ".hbx")
- Deleted hard-coded exceptions from generator code.
; TODO: Clean core generated headers to behave like before.
; TODO: Adapt hbextern lib to these changes.
; TODO: Add generated headers to SVN for contrib libs.
; TODO: Add stubs which include generated headers to all libs.
; TODO: Long term TODO: make it easy to generate such headers
for 3rd party projects.
* include/hbextudd.ch
* include/hbextsca.ch
* include/hbextcdp.ch
* include/hbextlng.ch
* include/hbextern.ch
* contrib/hbct/hbct.hbx
+ Filled HB_FUNC_INCLUDE, HB_FUNC_EXCLUDE exceptions to
achieve the previous hard-coded results.
* Regenerated.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
* config/postinst.hbs
* config/hbextern.hbs
* bin/hbmk2l2d.hbs
* bin/hbxpatch.hbs
+ Added -km, -ko options.
* config/postinst.hbs
! Fixed to only do install tasks in install build phase.
* Changed to only regenerate headers in non-install phase.
* Makefile
+ Passing build phase to postinst.hbs.
* INSTALL
+ Elaborating a bit more on the meaning of 'local' in HB_WITH_*
settings.
* include/hbextudd.ch
* include/hbextsca.ch
* include/hbextern.ch
* config/postinst.hbs
! Fixed to exclude HB_GT_ symbols, put HBSYMBOL to hbextsca.ch,
put USRRDD_* to hbextudd.ch.
; NOTE: May I ask to review the new headers compared to old
one to see what else have to be filtered out or moved
to different header?
* utils/hbrun/hbrun.prg
+ Will now add the script's home directory to the header dir list.
* contrib/make.hbs
* config/postinst.hbs
+ config/hbextern.hbs
+ Moved extern header generation low level logic to separate script.
+ Added feedback about extern generation.
+ Moved core extern header generation logic to postinst.hbs.
! Minor fix to output when postinst is used in non-install phase.
* contrib/global.mk
+ Displays HB_REBUILD_EXTERN setting.
* Makefile
* Changed to always execute config/postinst.hbs, not just in
install phase.
* include/hbextudd.ch
* include/hbextsca.ch
* include/hbextcdp.ch
* include/hbextlng.ch
* include/hbextern.ch
+ Replaced content with automatically generated one.
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/ideshortcuts.prg
* Deleted "just" functions and replaced them with HB_SYMBOL_UNUSED()
macro, which has no runtime overhead.
* contrib/hbide/hbide.hbp
- contrib/hbide/iderequests.prg
- Deleted requesting HBQT component via "just" function. Now it's
done by EXTERNAL statements. BTW this function was not called,
so it was ineffective. Pls correct me if I missed the point
of the old solution.
* contrib/hbide/ideprojmanager.prg
! Populated: Project Properties dialog with properties of project
set as the current one. It necessarily activates the dialog window.
Reported by Parteciepe.
* contrib/hbide/ideprojmanager.prg
% Fixed: ( hopefully ) the OS path syndrome when a .hbp from
Windows is ported to *nixes.
* contrib/hbide/ideedit.prg
! Minor.
* contrib/hbide/idedocks.prg
+ Implemented: MDI Editing Area - LeftToolbar - Actions:
1. Show Maximized: turns all panels in maximized mode.
In this mode MDI and Stacked protocols are almost the same,
though, MDI mode has many other advantages than Stacked one.
2. Show Stacked Vertically: viewport is distributed in equal
parts vertically and each panel is assigned this much height.
Width of the panel is limited to viewport width. In this
mode "Stats" panel is not considered.
3. Show Stacked Horizontally: viewport is distributed in
equal parts horizontally and each panel is assigned this
much width. Height of the panels equals viewport height.
4. Zoom-in: If view mode is "Stacked Vertically | Horizontally",
then per zoom-in increases the height|width of the panel by
25% more than the current. Zoom-in and zoom-out are never in the
same ratio.
If hbIDE is closed in maximized state, it is presented the same
at next run. This is not true for Vertical|Horizontal stacked view.
The reason is size of the viewport is not determined at the time
of panel creation.
Icons on the toolbar are not representing the actions properly,
and hence are subject to change.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
% A hacked fix: to context menu actions inside editor, reported at FWH forum.
% Fixed: switching over to non-MDI mode from MDI mode was
raising RTE.
+ contrib/hbct/hbct.hbx
+ Added automatically generated extern puller code.
* contrib/hbct/ctextern.prg
* contrib/hbct/ctextern.ch
* Changed to simply include hbct.hbx for backward compatibility.
* contrib/make.hbs
! Fixed to exclude HB_GT_*_DEFAULT symbols.
! Fixed RTE for projects which have no output name, f.e.
because they are unsupported on given platform/compiler.
; NOTE: libname.hbx is not good as if compiled the object name
will collide with often used libname.prg.
* contrib/make.hbs
+ Will now automatically generate EXTERN lists for libs if
using HB_REBUILD_EXTERN=yes setting and GCC compiler.
Pls note that after regeneration a new build pass is
required to reflect the changes in final binaries.
NOTE: I chose the .hbx extension for EXPORT code.
Pls comment on it (adding a postfix to regular
.prg or .ch extension is not an option as it won't
fit the 8.3 filename limit).
* Changed --hbinfo call to pass parameters just like the
"real" hbmk2 call, to get correct information about
the project.
% Minor optimizations.
* utils/hbmk2/hbmk2.prg
+ --hbinfo extended to return 'outputname'.
* INSTALL
+ Documented HB_REBUILD_EXTERN
* contrib/hbct/hbct.hbp
+ contrib/hbct/ctextern.prg
+ Added extern puller .prg (suggested by Przemek)
This fixes dynamic loading of hbct dynamic lib.
We need a system which keeps these files updated for
every contribs.
* contrib/hbct/video.c
! Fixed to always define functions (not just in dos targets)
! Fixed warnings that came up along the way.
! Fixed to return compatible type on non-dos.
* contrib/hbct/ctextern.ch
+ Updated with current function list.
* contrib/make.hbs
! Fixed to propagate make options also to "contained"
projects. Currently these are the HBQT subprojects
referenced from hbqt.hbp container project file.
Before f.e. clean option was not effective on these
projects.
* contrib/hbqt/utils/hbqtgen.prg
* contrib/hbqt/qtgui/g/hbqtgui_extern.ch
* contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
* contrib/hbqt/qtcore/g/hbqtcore_extern.ch
* contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
* contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
* contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
* Use EXTERNAL instead of REQUEST to be in sync with rest
of files in Harbour.
* contrib/hbqt/qtgui/hbqtgui.hbc
* contrib/hbqt/qtwebkit/hbqtwebkit.hbc
* contrib/hbqt/qtcore/hbqtcore.hbc
* contrib/hbqt/qtnetwork/hbqtnetwork.hbc
* contrib/hbqt/qscintilla/hbqscintilla.hbc
* contrib/hbqt/qtdesigner/hbqtdesigner.hbc
- Deleted hack not required anymore after '2010-08-03 09:07 UTC+0200 Viktor Szakats'
* contrib/hbqt/hbqt.hbp
- Commented qtwebkit and qtdesigner sub-components. qtwebkit
still isn't available on several systems (Linux f.e.), so pbly extra
dependency detection should be added, and qtdesigner is not used.
Seeing lack of positive reaction about these components (and recent
moves whatsoever), it's better to concentrate on more interesting
things now and not waste more CPU/brain cycles on that.
BTW if someone is interested in them, they can be built using .hbp file,
pls send patches if you find them broken.
* include/hbgtcore.h
* include/hbapifs.h
* include/hbapi.h
+ Added HB_EXPORT flag to these functions: (required by xhb, gtwvg and minizip)
hb_gt_ItemBase()
hb_gt_gcMark()
hb_gt_winapi_setClipboard()
hb_gt_winapi_getClipboard()
hb_gt_winapi_getKbdState()
hb_gt_winapi_setKbdState()
hb_gt_winapi_tone()
hb_fsAttrFromRaw()
hb_fsAttrToRaw()
hb_fsAttrEncode()
hb_fsAttrDecode()
hb_fopen()
hb_gcCollect()
hb_gcCollectAll()
; TOFIX: I didn't want to add these as they look heavily internal (some even
marked as such, they are all used by xhb lib:
hb_stackBaseOffset()
hb_stackItem()
hb_stackBaseProcOffset()
hb_stackWithObjectOffset()
* contrib/gtalleg/gtalleg.hbm
! Fixed missing -a implib flag for bcc.
* contrib/hbqt/qscintilla/hbqscintilla.hbc
+ Added lib dependency name.
* contrib/hbide/hbide.prg
! Fix to prev.
* utils/hbmk2/hbmk2.prg
+ Added trick to filter out target lib name from input lib list -hblib
mode and to filter out target implib name from input lib list in
-hbdyn mode. This fixes problems when linking -hbdyn by speccing both
project .hbp and .hbc files. I'm still thinking of a better solution
to solve this problem.
* contrib/make.hbs
! Fixed recent bug in filter processing.
* include/hbapi.h
+ Added HB_EXPORT to hb_releaseCPU(), hb_idle*() and hb_cmdarg*() functions.
* contrib/hbide/idemisc.prg
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* Cleanup.
+ contrib/hbide/updown_v.ui
+ Added: widget to expose <Next><Previous>Top><Bottom><Highlight> buttons
for selected text.
* contrib/hbide/hbide.hbp
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
% Swapped: editing MDI area's top-toolbar actions with
left-toolbar. Now the visual elements are synchrinized
with how we are used to view these actions.
+ Implemented: in MDI editors mode, actions to navigate
selection for <Next><Prev..> etc exposed via left toolbar.
These actions are shown enabled only if there is active
selection text is visible, either by double clicking on a
word or by virtue of Find/Replace dialog. It fixes the
visual irritating artifact discussed recently.
+ Implemented: MDI editing panels are now remembered for
their last state for the next run. It effectively means
that if a panel(s) are left maximized, minimized, cascaded,
tiled, under tabbed view or subwindowed view, next run
correctly position all of them. This is on top of your
own layout which you would have saved earlier, which can ever
be brought back by clicking on "View as arranged" icon.
* contrib/hbqt/utils/hbqtgen.prg
+ Will now generate hbqt*_extern.ch with REQUEST for all
classed contained in given lib.
+ contrib/hbqt/qtgui/g/hbqtgui_extern.ch
+ contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
+ contrib/hbqt/qtcore/g/hbqtcore_extern.ch
+ contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
+ contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
+ contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
* contrib/hbqt/qtgui/hbqtgui.hbp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbp
* contrib/hbqt/qtcore/hbqtcore.hbp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbp
* contrib/hbqt/qscintilla/hbqscintilla.hbp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbp
+ Added hbqt*_extern.ch files.
+ contrib/hbxbp/hbxbp_extern.ch
* contrib/hbxbp/hbxbp.hbp
+ Added REQUEST list for hbxbp.
* contrib/hbide/idemisc.prg
- Deleted usrrdd hack not mentioned in ChangeLog.
+ Changed to use new hbqt*_extern.ch and hbxbp_extern.ch files
instead of rolling a private list of external lib functions.
* src/rdd/usrrdd/usrrdd.c
+ Readded old mistyped function name guarded with HB_LEGACY_LEVEL3.
WARNING: Change UR_SUPER_WRITEBHEADER() to UR_SUPER_WRITEDBHEADER()
in your code.
* include/hbapidbg.h
+ Added HB_EXPORT to the complete hb_dbg*() API set.
This should fix -shared -b builds on win/wce when
using non-mingw compiler.
* src/vm/hvm.c
* Formatting.
* contrib/make.hbs
! Fixed minor but fatal problem in .hdb creation for contribs.
+ Will now create docs also for projects referenced from
project list, but not actually on it (qt sub-projects).
* utils/hbmk2/hbmk2.prg
! Fixed regression where -head=native would miss the header dir options
when doing the header detection.
+ Added TOFIX about (experimental) -autohbc not working with -inc option.
* contrib/hbqt/qtgui/qth/QMainWindow.qth
* contrib/hbqt/qtgui/qth/QGridLayout.qth
* contrib/hbqt/qtgui/qth/QTableWidget.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
* contrib/hbqt/qtgui/qth/QLayout.qth
* contrib/hbqt/qtgui/qth/QToolBar.qth
* contrib/hbqt/qtgui/qth/QListWidget.qth
* contrib/hbqt/qtgui/qth/QTreeWidgetItem.qth
* contrib/hbqt/qtgui/qth/QBoxLayout.qth
* contrib/hbqt/qtgui/qth/QTabWidget.qth
* contrib/hbqt/qtgui/qth/QMenu.qth
* contrib/hbqt/qtgui/qth/QTreeWidget.qth
* contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_destruct.cpp
* contrib/hbqt/qtcore/hbqt_base.cpp
* contrib/hbqt/utils/hbqtgen.prg
* Renamed QT_G_FUNC* and QGC_POINTER to have HBQT prefix
and be little bit more convenient, though new names are
still not perfect.
* contrib/hbqt/qtgui/g/*
* contrib/hbqt/qtcore/g/*
* contrib/hbqt/qtnetwork/g/*
* contrib/hbqt/qscintilla/g/*
* contrib/hbqt/qtdesigner/g/*
* contrib/hbqt/qtwebkit/g/*
* Regenerated.
; TOFIX: qt docs are not currently converted to .hbd.
I will deal this in the future, anyhow nobody
uses .hbd yet, so it not a loss.