2009-06-08 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_win.bat
* mpkg_win.nsi
! Fixed to include ChangeLog* instead of ChangeLog alone.
+ Added support for HB_DIR_NSIS envvar to specify the
location of Nullsoft Installer. Value should end with
backslash if specified.
* make_gnu.bat
* INSTALL
+ Automatically filling HB_CCPREFIX for mingw64 and mingwce
targets, if not specified by user.
* Removed HB_CCPREFIX from examples. Not yet documented
the override feature as it's currently not needed.
* ChangeLog
+ ChangeLog-old
+ Created ChangeLog-old which currently holds entries
belonging to 1.0.1 and older versions, moved from main
ChangeLog. From time to time we should move additional
entries there from main ChangeLog to not let main
ChangeLog grow too large. Updating files causes SVN dumps
to contain the whole file each time it's changed, which
means a large ChangeLog has a dramatic effect on the
size of the SVN dump. We're at 12.4GB at this moment,
much of this is ChangeLog copies (about ~4000 of them).
* harbour/contrib/hbqt/generator/hbqtgen.prg
* harbour/contrib/hbqt/hbqt_qabstractitemmodel.cpp
* harbour/contrib/hbqt/hbqt_qabstractlistmodel.cpp
* harbour/contrib/hbqt/hbqt_qcombobox.cpp
* harbour/contrib/hbqt/hbqt_qdirmodel.cpp
* harbour/contrib/hbqt/hbqt_qicon.cpp
* harbour/contrib/hbqt/hbqt_qimage.cpp
* harbour/contrib/hbqt/hbqt_qpainter.cpp
* harbour/contrib/hbqt/hbqt_qpixmap.cpp
* harbour/contrib/hbqt/hbqt_qstandarditemmodel.cpp
* harbour/contrib/hbqt/hbqt_qstringlistmodel.cpp
* harbour/contrib/hbqt/hbqt_qtextdocument.cpp
* harbour/contrib/hbqt/hbqt_qwebview.cpp
* harbour/contrib/hbqt/hbqt_slots.cpp
* harbour/contrib/hbqt/hbqt_slots.h
* harbour/contrib/hbqt/moc_slots.cpp
* harbour/contrib/hbqt/tests/demoqt.prg
! HB_ISNIL() => HB_ISPOINTER()
+ Added more event handlers.
+ Cleaned up hbqtgen.prg.
/*
Now almost all the controls have events response in place.
The exception is QListView(). I am struggling to understand
why this widget do not respnd to events.
*/
* INSTALL
+ Added minimum tested version of MinGW.
* make_gnu.bat
+ Added echo to display errorlevel after running GNU Make
if it's not zero. Eventually I'd like to add proper
error display in case GNU Make returned with error
(not that GNU Make doesn't display it), but first I'd
like to inspect how it works (there is no documentation
about returned errorlevels).
* config/win/mingw.cf
! Fixed 'del' command receiving wrongly formed path seps
in non-msys mode when lib creation failed.
* ChangeLog
! Typo in one yesterday's entry.
* utils/hbmk2/hbmk2.prg
+ Added support to redefine .prg level __ARCH*__ and __*_ENDIAN__
macros in cross build situations. [ This doesn't seem to be
a practical problem, but cross builds targeting *nix systems
aren't covered and they probably won't be. ]
Anyway, I wouldn't recommend using these macros in .prg code,
as they won't work as expected when creating universal binaries
(f.e. on darwin).
* contrib/hbqt/Makefile
* contrib/hbqt/tests/hbqt.hbc
* contrib/gtqtc/Makefile
* contrib/gtqtc/tests/gtqtc.hbc
+ If HB_QT_STATIC is set, Harbour build will automatically
create a hbqt lib to be used with static qt libs.
The static version of hbqt is called hbqts to allow
it to exist in parallel with default dynamic version.
* contrib/hbqt/tests/hbqt.hbc
+ Added two Windows system libs which are needed for
some QT parts (path/dir handling), but aren't part of
default hbmk2 Windows system lib list.
* contrib/gtalleg/Makefile
* contrib/gtalleg/tests/gtalleg.hbc
+ If HB_ALLEGRO_STATIC is set, Harbour build will automatically
create a gtalleg lib to be used with static allegro libs.
The static version of gtalleg is called gtallegs to allow
it to exist in parallel with default dynamic version.
* contrib/hbqt/tests/hbqt.hbc
* contrib/gtqtc/tests/gtqtc.hbc
+ Added static linking option for Windows. It can be
enabled by setting envvar HB_QT_STATIC.
(needs latest hbmk2)
- contrib/gtalleg/tests/gtallegs.hbc
- contrib/gtalleg/tests/gtallegd.hbc
+ contrib/gtalleg/tests/gtalleg.hbc
+ Merged separate static/shared config files into one.
Static mode can now be enabled by setting evvar HB_ALLEGRO_STATIC.
(needs latest hbmk2)
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added experimental pure C build mode. Activate with -hbc
(cmdline only). In this mode Harbour libs won't be linked,
.prgs won't be compiled, language files won't be handled,
options will be treatet as C compiler ones, and obviously
some other Harbour related hbmk2 options will be ignored.
* Minor translation update.
* harbour/contrib/hbqt/Makefile_gen
* harbour/contrib/hbqt/hbqt_qabstractitemview.cpp
+ harbour/contrib/hbqt/hbqt_qdirmodel.cpp
* harbour/contrib/hbqt/hbqt.h
* harbour/contrib/hbqt/generator/hbqtgen.prg
* harbour/contrib/hbqt/tests/demoqt.prg
* harbour/contrib/hbqt/TQAbstractItemView.prg
+ harbour/contrib/hbqt/TQDirModel.prg
* harbour/contrib/hbqt/qth/QAbstractItemView.qth
+ harbour/contrib/hbqt/qth/QDirModel.qth
* harbour/contrib/hbqt/generator/qt45.qtp
+ Added one more class and fixed another.
/*
Now demoqt demonstrates a lot of controls.
Central widget is added to the main window to host all other controls.
Main window hosts
QMenuBar()
QToolBar()
QStatusBar()
QWidget() - central == drawingArea of XbpDialog() in Xbase++.
:drawingArea hosts:
QTableWidget() | QTableWidgetItem()
QPushButton()
QLabel()
QProgressBar()
QTabWidget()
:tabs host:
QTreeView()
QLineEdit()
QComboBox()
QCheckBox()
QRadioButton()
QSpinBox()
QTextBox()
Feel free to play with the ToolBars. You can drag and dock them to
any corners. Push button executes a message box. Tool buttons reacts
to events and show up tooltips.
As a whole, I am truely convinced, that within new couple of weeks
Xbase++ compatible XbpParts will be a reality.
*/
* bin/postinst.bat
+ bin/hb-mkimp.bat
+ Separated import lib generation from postinst.bat into
a separate batch file. This file can be run by users,
and it will be included in binary builds to help users.
HB_COMPILER, HB_LIB_INSTALL and HB_DIR_* envvars have
to be set to make it work.
; TODO: Add documentation to INSTALL.
* utils/hbmk2/hbmk2.prg
+ Recognizing SVN repositories in a rare configuration.
* harbour/contrib/hbqt/generator/hbqtgen.prg
* harbour/contrib/hbqt/tests/demoqt.prg
+ Added demo code QTableWidget() and QTableWidgetItem() classes
to show a grid control submitted by CarozoDeQuilmes.
* harbour/contrib/hbqt/Makefile_gen
+ harbour/contrib/hbqt/hbqt_qabstractitemmodel.cpp
* harbour/contrib/hbqt/hbqt_qradialgradient.cpp
* harbour/contrib/hbqt/hbqt_qstyleditemdelegate.cpp
* harbour/contrib/hbqt/hbqt_qstyleoption.cpp
* harbour/contrib/hbqt/hbqt_qtextinlineobject.cpp
+ harbour/contrib/hbqt/hbqt_qtextobject.cpp
* harbour/contrib/hbqt/hbqt.h
* harbour/contrib/hbqt/generator/hbqtgen.prg
* harbour/contrib/hbqt/tests/demoqt.prg
+ harbour/contrib/hbqt/TQAbstractItemModel.prg
+ harbour/contrib/hbqt/TQTextObject.prg
+ harbour/contrib/hbqt/qth/QAbstractItemModel.qth
* harbour/contrib/hbqt/qth/QRadialGradient.qth
* harbour/contrib/hbqt/qth/QStyledItemDelegate.qth
* harbour/contrib/hbqt/qth/QStyleOption.qth
* harbour/contrib/hbqt/qth/QTextInlineObject.qth
+ harbour/contrib/hbqt/qth/QTextObject.qth
* harbour/contrib/hbqt/generator/qt45.qtp
! Added two classes and synchronized others.
All cross references are resolved and now hbqt.lib is self contained.
/*
Basic components to develop GUI platform is over.
Please submit any code you have developed based on hbqt.lib
so that enthusiasm about it could be generated. Don't be shy about
the quality of the code, many are there to set it right.
Now onwards I will be concentrating on Xbase++ Parts implementation.
*/
* INSTALL
* Made clear that GNU Make installation isn't needed for mingw
targets.
* include/hbextern.ch
+ Added HB_EXECMSG().
* contrib/xhb/tests/xhb.hbc
+ Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
has these libs as part of the core.
* utils/hbmk2/hbmk2.prg
+ Environment variables can not be used as filters.
If an envvar with the name of the filter exists and it's
value isn't "0" or "no", it's considered a match.
- Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
This was copied from Harbour Make files, and most probably they
aren't necessary even there, especially since they are set
inconsistently (differently) for depending on msvc compiler
version and win/wce target. These flags deal with exception
handling, so I doubt any core code (with the exception of hbqt)
would need it.
+ Added some level of internal support for build modes
(release, debug, fulldebug) and unicode/ascii selection. Added
to TODO anyway, will continue with them in the future.
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
+ added hb_vmProc() function - it's hb_vmDo() but without hack to send
messages.
TODO: remove from hb_vmDo() support for messages so it can replace
new hb_vmProc() function or if we really need such mixed common
execution function then replace in HVM calls to hb_vmDo() with
hb_vmProc()
* harbour/source/vm/classes.c
* replaced hb_vmFunction() call by hb_vmDo()
* harbour/source/vm/arrays.c
* harbour/source/vm/thread.c
! cleaned hb_vmDo()/hb_vmSend() usage
* harbour/source/vm/eval.c
! replaced hb_vmFunction() calls by hb_vmSend()
+ added .prg function hb_execMsg( <sFuncSym>, <object>, [<params,...>] )
which executes <sFuncSym> with <object> set as QSELF() value.
Mindaugas, you can use it in your HashObject to execute functions
like pseudo messages.
* utils/hbmk2/hbmk2.prg
+ Added autodetection for recently released (version 0.55) mingw32ce
packages.According to their homepage, they use slightly different
names for packages, which is now recognized by hbmk2.
I didn't test it though on Linux, and there is no Windows binary
release yet for this new version.
* utils/hbmk2/hbmk2.prg
+ Added filter support for input files without extension.
* Reverted prev change because it didn't solve any problems
as *.*/* input masks aren't expanded anyway on non-*nix
shells and it would create several problems to support it.
Explicitly added .ch and other files are probably done with
an intent, so there is no point in filtering them (well
except for *nix shells, but I don't deal with this issue
for now). It isn't a good idea to pass *.*/* to hbmk2
anyway as it may pickup everything in the way.
* contrib/hbqt/hbqt.h
* contrib/hbqt/qth/QConicalGradient.qth
* contrib/hbqt/qth/QLinearGradient.qth
* contrib/hbqt/hbqt_qconicalgradient.cpp
* contrib/hbqt/hbqt_qlineargradient.cpp
! Fixed two missing function name from .qth template.
(the ones reported on the dev list)
- contrib/hbqt/generator/rebuild_hbqt.bat
- Deleted, it's no longer needed.
Enough to build hbqtgen with:
hbmk2 hbqtgen.prg
Then run it:
hbqtgen
* harbour/source/rtl/errintlo.c
! fixed GPF inside internal error handler for errors without default
description and error codes not in the form 9000 + <n>
* harbour/source/rtl/errapiu.c
* minor formatting
* utils/hbmk2/hbmk2.prg
* Input files with following extensions won't be considered
.prg source files anymore: .ch, .h, .hpp, .hxx.
This means *.* input mask can now be used more freely.
I cannot imagine a situation where this could be limitation,
but if someone has any concern with this, please tell.
! Minor typo in code.
* harbour/source/rdd/dbfnsx/dbfnsx1.c
! fixed stupid typo in C else block scope which caused false alarm
about corrupted index. Many thanks to Vitor Mangabeira for information
and self contain example.
* bin/hb-mkdyn.bat
! Applied version number change to this file, too.
* contrib/xpp/xpp.ch
+ Added minor tweak to not confuse non-Harbour compilers
if included.
* contrib/rddsql/sddfb/fbirddd.c
* contrib/rddsql/sddpg/pgsqldd.c
! Warnings fixed.
* contrib/hbmysql/mysql.c
! Fixed wrong type for file handle, causing problems for x64 builds.
* contrib/hbnf/descendn.c
! Removed 'auto' keyword which is no longer recognized by
MSVC 2010.
* bin/postinst.bat
+ Creating implibs for msvc64/mingw64 platforms where 3rd
parties support it. (libcurl, firebird, mysql)
* contrib/gtwvg/wvggui.h
! Fixed to compile with MSVS 2010. Thanks Pritpal.
* contrib/gtwvg/wvggui.c
* Reenabled for MSVS 2010 after applying fix.
+ config/mingw32-make.exe
+ Added GNU Make (Windows, 32-bit) executable (size: 173KB),
this is the version recommended by INSTALL, found here:
https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918
* make_gnu.bat
* Modified to utilize above GNU Make binary for Harbour
Windows/WinCE builds in order to make one thing less to
worry about for users wishing to build from source.
From this point the only two requirements for building
Harbour are a C compiler and the source itself. Much less
things to go/get wrong. If this works out good, we can
remove a few instructions from INSTALL.
If someone wants to override supplied version (not very
good idea, but who knows) the supplied version has to be
replaced by custom version.
In case group thinks it's onorthodox or inappropriate
(or outright illegal) to have such binaries stored in
our repository, please shout, it's not yet late to undo
this change.
Also please test.
* include/hbsetup.h
+ Added MSVS 2010 version information.
* contrib/gtwvg/wvggui.c
- Temporarily disabled whole file for MSVS 2010 due to lots
of compilation errors, similar to the ones recently seen
with letdb. (errors posted on the list)
* contrib/Makefile
+ contrib/xpp
+ contrib/xpp/Makefile
+ contrib/xpp/xpp.ch
+ Added startup of an Xbase++ dialect lib (similar to xhb).
The idea is that these will hold all Xbase++ specific functions
with an xpp_*() prefix, and they will eventually be moved
inside the core into source/dialect/xpp lib, so that dialect
selection can be better integrated into Harbour compiler tools.
Currently it holds one header only.
+ utils/hbmk2/examples/oohg.hbc
+ Added oohg hbmk2 config file. (untested)
* utils/hbmk2/examples/fwh.hbc
* utils/hbmk2/examples/hmg.hbc
* utils/hbmk2/examples/hwgui.hbc
% Minor simplification.
+ examples/hbmake
+ examples/hbmake/hbmake.hbp
+ examples/hbmake/hbmakec.c
+ examples/hbmake/hbmake.prg
+ Readded old and unsupported hbmake for convenience to
those users who still use it. This tool won't work in
the next (to 2.0.x) major release of Harbour, so please
take some time and check hbmk2, its successor.
You can build hbmake with this command:
'hbmk2 hbmake.hbp'
It will be copied to Harbour binary directory automatically.
* utils/hbmk2/hbmk2.prg
+ Added macros: ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}.
Representing HB_*_INSTALL dirs. They can be useful in
-instpath=, if someone wants to have a copy of the target in
a Harbour dir for easy access: -instpath=${hb_lib}/