* utils/hbmk2/hbmk2.prg
+ Added -clean option to clean incremental work files and dir.
+ Added -rebuild option to force full rebuild in incremental mode.
* utils/hbmk2/hbmk2.prg
* Autodetection of embedded MinGW installation is now done
*after* trying to detect user installed compiler. This way
it's more natural to use the unified build as it will
automatically use the user's C compiler if setup. It's also
easier to override MinGW in unified builds, since there
is no need to force compiler using -comp: option, it's
enough to put preferred C compiler in the PATH.
* utils/hbmk2/hbmk2.prg
+ Added -workdir:<dir> cmdline option to override default
working dir (arch/comp) in -inc mode.
+ Added support for working directory in -inc mode.
Due to lack of output dir option in certain compilers
(most sadly in gcc family), these compilers will have to
be executed for each input file, slightly reducing
performance. I hope some day their developers will add such
basic option.
+ -quiet option will now suppress the header lines for
executed commands, creating a good progress output with
'-trace -quiet'.
! Fixed output related regressions in msvc/bcc.
* Removed explicit warning level settings from C compiler
options. User can override if needed.
* Returns errorlevel 19 instead of 9 in help mode. Now
returns 9 if the working dir couldn't be created.
! Fixed resource compiler command for bcc, msvc, pocc.
Turns out none of them supported multiple inputs.
% Minor code size optimization in target output dependency
checking.
* utils/hbmk2/hbmk2.prg
! Fixed to delete stub object in -inc mode.
! Fixed to handle .res input files with MinGW compilers.
+ Now using different extension (.reso) for compiled .rc and
.res file with MinGW compilers instead of former .o extension
which could collide with source files with the same name.
* utils/hbmk2/hbmk2.prg
* Added separate compile and link phases for gcc family.
Please retest, this may cause regressions.
* win/bcc made to use separate compile/link phases in all
cases.
+ Added simple progress in -inc mode.
! Fixed to detect target timestamp in hblib/hbdyn modes.
* utils/hbmk2/hbmk2.prg
+ Added support for incremental build mode. Still a work in
progress, many combinations weren't tested and some features
may not work with certain compilers yet. (bcc/msvc/pocc/owatcom
should be working, only msvc was tested)
+ Added support for multiple resource input files for mingw
and owatcom.
+ Added support for inc=on/off .hbp option.
+ msvc targets now use separate link phase. This will automatically
enable incremental linking if target already exists.
! Fixed not prepending CCPATH to resource compiler in mingw mode.
* tests/speedtst.prg
! Fixed missing hb_progname() for non-Harbour compilers.
* include/hbextern.ch
+ Added time related new functions.
* utils/hbmk2/hbmk2.prg
+ Added -runflag: option to pass flags to target executable.
+ Started -inc (incremental link) support. It's very early
stage, don't expect it to work yet and please don't report
any problems with this feature yet.
* source/vm/asort.c
! Fixed to return Clipper compatible results when non-logical
non-numeric value is returned from ASORT() codeblock.
* utils/hbtest/rt_array.prg
* Cleaned ASORT() tests when sorting block returns constant value.
Now Clipper results aren't bent anymore, instead I've added
different expected results for Harbour and Clipper. The
difference is due to different sorting algorithms used,
here the point is to get similar *pattern* for different
invalid values.
* source/rtl/philes.c
% HB_FGETDATETIME(): Removed double call to hb_stortdt().
* contrib/hbqt/tests/hbqt.hbp
* Removed extra line at EOL.
* contrib/gtqtc/tests/hbqt.hbp
! Removed environment dependent 'libspath=' line.
Please don't add such path to Harbour SVN, since these
can differ from system to system and is also non-portable.
The correct name of the directive is: 'libpaths='.
* contrib/gtqtc/Makefile
% Removed double SVN ID.
This file needs to be updated according to hbqt latest
Makefile portability changes.
* contrib/rddads/ads1.c
* Minor formatting.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/Makefile
! Few more optimizations.
- harbour/contrib/gtqtc/qtconsolearea.cpp
- harbour/contrib/gtqtc/qtmainwindow.cpp
- Removed. Needed to have better control over the operations.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/qtconsolearea.cpp
* harbour/contrib/gtqtc/tests/demoqtc.prg
! Few more HACKS - I know there are better ways to organize them.
Now our inkey() loop is active and demoqtc exits properly.
Plus you may see some activity in console.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/qtconsolearea.cpp
* harbour/contrib/gtqtc/qtmainwindow.cpp
! More fixes. Now we get background colors as in .prg.
It is a bit puzzling why I do not get text colors.
+ harbour/contrib/gtqtc
+ harbour/contrib/gtqtc/gtqtc.cpp
+ harbour/contrib/gtqtc/gtqtc.h
+ harbour/contrib/gtqtc/Makefile
+ harbour/contrib/gtqtc/moc_gtqtc.cpp
+ harbour/contrib/gtqtc/qtconsolearea.cpp
+ harbour/contrib/gtqtc/qtmainwindow.cpp
+ harbour/contrib/gtqtc/tests
+ harbour/contrib/gtqtc/tests/demoqtc.prg
+ harbour/contrib/gtqtc/tests/hbqt.hbp
+ Added GTQTC - The terminal based on QT framework - files.
NOTE: This is a proof of concept and needs an expert
brain. I will request Przemek to set the basic GT framework
in place. Rest will be quiet easy, easy than Windows itself.
demoqtc.exe remains in the memory after closing it with
X button. I have tried hard to set it right but have faised so far.
So you may need to kill it from task manager.
* harbour/contrib/gtwvg/tests/demowvg.prg
+ Added My_Alert() function which you can copy and
paste in your GTWVG linked applications to have a GUI
replacement of Alert() funtion.
* tests/bnch_win.bat
* tests/speedtst.prg
+ Added --stdout option to restore old feature to redirect output
to a file. Needed for bnch_win.bat.
+ In normal mode output will be saved in a file with the same name
of the executable with .txt extension. Makes it easier to make
side-by-side tests.
! Fixed SVN EOL.
* harbour/source/vm/Makefile
* harbour/source/vm/vmmt/Makefile
+ harbour/source/vm/hvmall.c
% added optional compilation HVM core files as single unit.
It allows to use interprocedural optimizations for all defined
functions. It's useful when compiler does not support IPO at link
time. It should give some noticeable speed improvement for compilers
which can benefit from such optimizations, f.e. GCC, ICC, MSVC.
In my Linux box (GCC 4.3) it gives ~7% speed improvement in
speedtst.prg linked with ST HVM and a little bit more in MT mode.
It's interesting that it also reduces the HVM library size.
At least for GCC builds.
Set HB_HVM_ALL=yes envvar to enable such compilation.
Warning some compiler may not compile such long single C file.
* source/common/hbver.c
+ Added skeleton for hb_verHostCPU()
* source/rtl/trace.c
! HB_TRACESTRING() fixed potential GPF if non-string parameter
was passed.
* contrib/hbqt/generator/hbqtgen.prg
! Fixed demo to not refer to gtgui on non-Windows systems.
! Fixed RTE when source file isn't found. (not verified)
! Change EOL handling.
! Fixed to use portable path seps when generating demoqt.prg.
* contrib/hbqt/generator/qt45.qtp
! Fixed to use forward slashes. Didn't test if this broke non-*nix.
* contrib/hbqt/qth/QWindowsXPStyle.qth
! Fixed Windows specific QT function wrapper to compile on non-Windows.
* contrib/hbqt/qth/QPixmap.qth
! Deleted Windows specific HBITMAP related functions.
* contrib/hbqt/tests/hbqt.hbp
+ Added support for darwin
* contrib/hbqt/Makefile
* contrib/hbqt/generator/hbqtgen.prg
+ Added support for QT for Darwin official SDK package
I had to change the way headers are included to follow the
QT standard and pass each QT lib header dir on the command
line instead of using subdirs in #include directives.
; TODO: Probably this change should be applied to all .qth files,
but on Darwin it worked without this change for some reason.
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/TQPixmap.prg
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_qwidget.cpp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_qwindowsxpstyle.cpp
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
* contrib/hbqt/hbqt_qpixmap.cpp
* Regenerated.
* harbour/contrib/hbqt/Makefile
* added /usr/include to list of directories scanned for QT header files
* harbour/contrib/hbole/olecore.c
! added missing return
* formatting and minor cleanup
* harbour/source/vm/arrays.c
* formatting
* harbour/source/vm/asort.c
! minor CA-Cl*pper compatibility fix - if sort codeblock returns
numeric value then it should be used as logical one (0 means FALSE)
* harbour/include/hbstack.h
* harbour/source/vm/estack.c
+ added macro to force static hb_stack declaration even if
HB_STACK_MACROS is internally used
* harbour/source/vm/initsymb.c
* harbour/source/vm/hashfunc.c
* harbour/source/vm/evalhb.c
* harbour/source/vm/pcount.c
* harbour/source/vm/runner.c
* harbour/source/vm/debug.c
* harbour/source/vm/pvalue.c
* harbour/source/vm/cmdarg.c
* harbour/source/vm/proc.c
* harbour/source/vm/eval.c
* harbour/source/vm/dynlibhb.c
* do not use hbvmopt.h if it's not necessary or use hbvmint.h instead
to clean all direct references to hb_stack variable
* harbour/contrib/hbqt/generator/hbqtgen.prg
- Removed WIN specific castings.
* harbour/contrib/gtwvg/wvgsink.c
! Commented out calls to hb_ToOutDebug().
* utils/hbmk2/hbmk2.prg
+ Added executable / dll compression using -compr switch.
hbmk2 uses UPX, which needs to be in PATH to work.
Not having UPX won't cause a fatal error even when -compr
switch is specified.
* INSTALL
* Cross build text fixed to be multiplatform.
* contrib/rddsql/sddfb/Makefile
! Excluded for msvc64:
../../fbirddd.c(187) : warning C4244: 'argument' : conversion from 'ULONG' to 'short', possible loss of data
../../fbirddd.c(231) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
../../fbirddd.c(241) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
../../fbirddd.c(249) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
../../fbirddd.c(265) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
../../fbirddd.c(409) : error C2440: '=' : cannot convert from 'isc_stmt_handle' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(410) : error C2440: '=' : cannot convert from 'isc_tr_handle' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(446) : error C2664: 'isc_dsql_free_statement' : cannot convert parameter 2 from 'void **' to 'isc_stmt_handle *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(451) : error C2664: 'isc_rollback_transaction' : cannot convert parameter 2 from 'void **' to 'isc_tr_handle *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(469) : error C2664: 'isc_dsql_fetch' : cannot convert parameter 2 from 'void **' to 'isc_stmt_handle *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(531) : error C2664: 'isc_dsql_free_statement' : cannot convert parameter 2 from 'void **' to 'isc_stmt_handle *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(533) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
../../fbirddd.c(538) : error C2664: 'isc_commit_transaction' : cannot convert parameter 2 from 'void **' to 'isc_tr_handle *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
../../fbirddd.c(540) : warning C4244: 'argument' : conversion from 'ISC_STATUS' to 'USHORT', possible loss of data
* utils/hbmk2/hbmk2.prg
! Possible fix for *nix shared lib problem when Harbour
is installed in system location. Couldn't test it.
* ar now called with 'rcs' parameter (was: cr).
Advertized as runlib equivalent, but it doesn't seem to
make any difference.
* bin/postinst.bat
! Fixed shared executable creation for cross-builds.
* utils/hbmk2/hbmk2.hbm
* utils/hbi18n/hbi18n.hbm
% Added -nulrdd. This will remove the hbmk2 build size overhead
compared to GNU Make built executables.
* utils/hbmk2/hbmk2.prg
! Don't add the same libdir twice in some cases.
+ Added support for wce arch in remaining places.
! Added hbmainwin and hbmainstd for mingw targets.
This should fix some failing shared lib scenarios I've
experienced with minwgce. I hope it doesn't break
everything else (tested mingw64 and mingw scenarios worked).
* Internal change to handle shared libname separately
so that special extensions and handling can be added
for it, if needed.
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/generator/rebuild_hbqt.bat
* Changed to create files directly in live source dir.
(can be overridden using cmdline switches)
* qt45.qtp will be picked automatically if no project
file is passed and the file exists.
! Fixed default paths for all platforms.
+ Added feedback when creating files.
! Fixed one FCreate() session which always failed.
! Fixed generation of Makefile_gen to always have two
closing empty lines to make GNU Make happy. Otherwise
it failed when assembling the lib with MinGW/msys.
% Commented output of source parts.
; This means that the .bat file is no more necessary.
Please use: 'hbmk2 hbqtgen.prg -run' command to generate
hbqt sources.
- contrib/hbqt/tests/Vou.ICO
+ contrib/hbqt/tests/test.ico
! Renamed to have all lower case. Please stick to this rule.
Couldn't find any reference to this file, please fix it
where needed.
; TOFIX: hbqt.h has hb_ToOutDebug() declared as external. So,
hbqt will also depend on xhb lib? If this function is
so important I'd suggest to create a fully portable
version of it locally in hbqt.
- contrib/hbqt/gensource/Makefile
- Removed duplicate copy of Makefile. I'm not sure what was
the purpose but it wouldn't work here, and it wouldn't be
good to update this file in two copies.