* include/hbdefs.h
+ Added HB_SIZE_SIGNED macro which enables signed HB_SIZE
types. It so far dangerous setting because it may generate
breakage without compiler warning, f.e. STUFF() GPFs
in hbtest after enabling it. Plus there is about 40-60
new warnings shown, I'm out of ideas how to fix most
of them.
* src/rtl/filesys.c
* Changed to pass LPDWORD to ReadFile()/WriteFile()
win32 branch, instead of *HB_SIZE. It caused warnings
for signed HB_SIZE.
; Please review me.
* ChangeLog
* Updated VxWorks notes in 2010-07-16 18:22 UTC+0200 Viktor Szakats
with missing hb_secondsCPU() support yet.
* contrib/gtalleg/gtallegs.hbp
* contrib/hbcurl/hbcurls.hbp
* contrib/hbssl/hbssls.hbp
* contrib/hbtip/hbtipssl.hbp
+ Added -hblib options to make it easy for tools to detect
target types.
* contrib/gtalleg/gtalleg.c
! Fixed C mode MSVC function pointer cast warning.
* src/rtl/hbsocket.c
* Minor cosmetic.
* contrib/hbqt/qtgui/QFormLayout.cpp
* contrib/hbqt/doc/en/*.txt
* Regenerated.
* contrib/hbqt/generator/hbqtgen.prg
! Fixed missing initialization for enums returned
by reference. An msvc warning was shown about them.
; TOFIX: I've reported similar warnings long ago with msvc. Anybody to fix them?
---
hbqt_hbqplaintextedit.cpp
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
hbqt_hbqsyntaxhighlighter.cpp
...\qt\4.5.3\include\qtcore\../../src/corelib/global/qglobal.h(2078) : warning C4512: 'QForeachContainer<T>' : assignment operator could not be generated
with
[
T=QMap<QString,HBQSyntaxHighlighter::HighlightingRule>
]
hbqt\hbqt_hbqsyntaxhighlighter.cpp(172) : see reference to class template instantiation 'QForeachContainer<T>' being compiled
with
[
T=QMap<QString,HBQSyntaxHighlighter::HighlightingRule>
]
moc_hbqt_hbqplaintextedit.cpp
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
QMimeData.cpp
...\qt\4.5.3\include\qtcore\../../src/corelib/global/qglobal.h(2078) : warning C4512: 'QForeachContainer<T>' : assignment operator could not be generated
with
[
T=QList<QUrl>
]
hbqt\qtcore\QMimeData.cpp(451) : see reference to class template instantiation 'QForeachContainer<T>' being compiled
with
[
T=QList<QUrl>
]
HBQPlainTextEdit.cpp
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(101) : warning C4512: 'QtConcurrent::BlockSizeManager' : assignment operator could not be generated
...\qt\4.5.3\include\qtcore\../../src/corelib/concurrent/qtconcurrentiteratekernel.h(83) : see declaration of 'QtConcurrent::BlockSizeManager'
---
* ChangeLog
* src/vm/dynlibhb.c
* config/vxworks/libs.mk
+ Documented fact that VxWorks only supports dlopen() in
shared executables. I can see no way how Harbour could
support this.
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
* Minor cleanups to HB_BUILD_SHARED mode.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
- Deleted SQLEXTENDEDFETCH() wrapper. The original ODBC
function was in compatibility status since ODBC 3.0 and
it was causing permanent build problems in Harbour, due
to disagreement in parameter widths/types on different
platforms and compiler headers (f.e. on Linux AMD64 C++
mode, POCC and XCC).
INCOMPATIBILITY: This compatibility function was deleted,
use SQLFETCHSCROLL() instead.
* Replaced SQLEXTENDEDFETCH() with SQLFETCHSCROLL() in TODBC
code as recommended by MS.
! Added cast to silence msvc C mode warning.
* config/vxworks/gcc.mk
! Fixed vxworks/gcc HB_BUILD_SHARED=yes link mode.
* include/hbdefs.h
* src/rtl/hbsocket.c
* include/hbthread.h
* Moved header collision avoidance hack to the root of
the problem, right after '#include <stdint.h>'.
This way it's done centrally.
* config/vxworks/diab.mk
- Deleted fixed TOFIX.
* ChangeLog
* Updated VxWorks notes in 2010-07-16 18:22 UTC+0200 Viktor Szakats
* include/hbsetup.h
* Enabled HB_USE_SHARELOCKS_OFF for VxWorks. This fixes creation
of plain .dbf files, _but_ it will make a weird bug surface
when creating .dbf+.dbt: The content of the .dbt file is
written into the .dbf and the .dbt is kept as a zero length
file. Przemek if you read this, do you have any idea what
this could be?
* src/rtl/hbgtcore.c
* src/rtl/gtsys.c
! Fixed to set default GT for vxworks also in hbgtcore. Made NOTE
in source that needs to be kept in sync. This finally fixes
the uninitialized GT error.
* Reset default vxworks GT to GTSTD instead of GTCGI.
* utils/hbmk2/hbmk2.prg
* Minor.
* contrib/hbodbc/odbc.c
- Deleted compatibility trick which mapped SQL[U]LEN to SQL[U]INTEGER.
The trick is most likely not needed anymore, they were first
introduced in 2007-01-24 10:25 UTC+0100 Przemyslaw Czerpak with
the description 'synced with xhb', next it was extended with the
"U" version in 2008-08-13 03:08 UTC+0200 Viktor Szakats, for
__DMC__ compatibility. We dropped DMC support since.
; Tamas can you pls retest if this fixed the Linux AMD64 build
error in C++ mode?
* src/rtl/gtsys.c
* Made GTCGI the default GT for VxWorks. (GTSTD doesn't work now)
* utils/hbmk2/hbmk2.prg
% Won't anymore do dependency check on system headers found on
autodetected dependency locations. This has the upside that
now hbmk2 f.e. won't traverse the deep header structures of
QT, greatly enhancing build performance. The downside is
that now libs won't be automatically rebuilt if such dependency
is updated (f.e. after upgrading to a new version of QT).
Pls speak up if you have an opinion on this, maybe
using other solution or to control this behavior using
a global or dependency level switch.
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
+ Setting 'soname'. It's mandatory according to VxWorks docs.
Now shared diab exes will find Harbour dynlib (but not the
libc one, but I reckon this needs local env tweaks only).
* config/darwin/gcc.mk
* config/darwin/icc.mk
* config/darwin/clang.mk
! Fixed to use variable instead of hardcoded 'harbour' text to
set .dylibs 'install name'. It also fixes 'harbour' being used
also for MT mode dylib.
* contrib/hbide/idemisc.prg
! Fixed to add some new chars which need to be escapted in HTML
output.
% Removed some redundancy.
* src/rtl/hbsocket.c
+ Enabled ioctl() calls for VxWorks.
! Worked around 'socklen_t' vs 'int' warnings with VxWorks.
(still remains some 'const char *' and 'caddr_t' vs 'char *
warnings, nothing serious though)
* include/hbthread.h
! Enabled HB_CRITICAL_NEED_INIT for VxWorks. Avoids the compiler
warnings caused by PTHREAD_COND_INITIALIZER having one less
structure member than initialized structure.
MT mode still doesn't work though.
* contrib/hbodbc/odbc.c
+ Added HB_ODBCVER() function to return build-time ODBC version
reported by ODBCVER macro.
* contrib/hbodbc/tests/testodbc.prg
+ Show ODBC version number.
- contrib/hbqt/doc/html
- Deleted. doc dirs now have to abide by the HBDOC rules posted
on the dev list, which means doc may contain (non-empty) language
dirs only. html should be generated by client app or by install
process.
* contrib/hbwin/hbwinole.h
! Patch by Tamas Tevesz, fixing NONAMELESSUNION issue for watcom.
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemisc.prg
! Fixed: a bug in "find in Files" output where characters "<" and ">"
were eaten up by the html engine, reported by Massimo Belgrano.
* contrib/hbide/idebrowse.prg
+ Implemented: "connections" concept for third-party RDD hooks.
Will write a white-paper to this effect soon once the engine
becomes stable. It is working for my native RDDs.
* include/hbsetup.h
* src/vm/hvm.c
* contrib/hbmisc/hb_f.c
! Added workaround for diab bug. Now build goes fine without HB_LONG_LONG_OFF
trick.
* config/vxworks/diab.mk
+ Minor change to sync one C compiler option with VxWorks Workbench
generated one. (missed from prev commit)
* INSTALL
+ Added Windows and OS/2 specific extra requirements for
GNU Make version. Windows: 3.81, OS/2: 3.81r3
Older versions are too buggy/risky on these platforms.
* ChangeLog
+ Added more VxWorks NOTEs to 2010-07-16 18:22 UTC+0200.
* external/minizip/minizip.dif
+ Updated after latest changed by Tamas Tevesz. Thanks a lot!
* utils/hbmk2/hbmk2.prg
+ Added support for vxworks/diab compiler.
* utils/hbtest/hbtest.prg
+ Added my name to the copyright header.
* config/global.mk
! Fixed to only assign *nix specific default value HB_INSTALL_PREFIX
on *nix hosts (only a problem when doing *nix cross-builds _from_
non-*nix systems).
* utils/hbmk2/hbmk2.prg
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
+ Added minimal support for HB_BUILD_SHARED=yes for vxworks targets.
For diab it just won't find the harbour .so (see comment for more)
For gcc it links okay, though it's detected as kernel task, so
current support is most probably not right.
* config/vxworks/diab.mk
* Minor change to sync one C compiler option with VxWorks Workbench
generated one.
; NOTE: By this change Harbour VxWorks base port is finished. Besides
being an interesting excercise, it helped to develope new
non-*nix to *nix cross building codepaths, tweak Harbour for
"headless" (w/o terminal) OSes, and to break the ground for
target CPU selection inside one target platform.
Harbour builds cleanly using both vxworks/gcc and vxworks/diab,
and compiler tools plus non-MT utils run properly as well.
Obviously I made few functional tests, but from the experiences
of the port effort, these are the remaining areas:
- reporting bug(s) to Wind River (particularly the one
breaking hvm.c compilation, requiring HB_LONG_LONG_OFF
forcage, causing other unnecessary limits and hbtest
failures)
- serial I/O needs to be implemented using VxWorks specific
sioLib API
- 'fork' has to be replaced.
- sockets were not tested, anyhow they are supposed to work.
- termios is missing, so large parts of GTSTD and GTTRM are
disabled on this platform.
- ARM/MIPS CPU support needs to be added to hbatomic.h
- HB_LIBLOAD() and friends need to be implemented, but I hit
walls here.
- MT apps GPFs, this needs to be fixed probably inside our
code, but it's possible some build options are needed which
I missed all along.
- HB_SHARED_MODE=yes needs further tweaking.
* contrib/hbide/idebrowse.prg
! Fixed: ideDBU - sequential search on a character field was
making exact comparison, i.e., fieldval == searchval, now
it is : fieldval = searchval.
* include/hbinit.h
! Fix to prev. Missed another 'static' qualifier.
; Now hbtest runs OK on vxworks/diab. (there are more
errors though due to HB_LONG_LONG_OFF)
* utils/hbmk2/hbmk2.prg
! Fixed to not request GTTRM in vxworks builds.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_vars.ch
- Disabled long string tests for vxworks. They fail because of
memory exhaustion.
! Fixes to prev.
; Now hbtest runs OK on vxworks/gcc.
* config/global.mk
+ Now defines __PLATFORM__VXWORKS for cross-builds.
! Fixed typo in lastly added __PLATFORM__ redefinition.
* INSTALL
+ Added vxworks/diab example.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_vars.ch
+ Enabled GTCGI for Harbour builds. This makes it independent
for GTs, to there is better chance to run it. Now it also
works on VxWorks.
+ Will now detect .dbf creation failure and continue gracefully
with a message and skipping all related tests.
* src/rtl/hbsocket.c
* external/minizip/ioapi.h
* include/hbthread.h
+ Added/cleaned hacks to avoid collision between VxWorks's own
system types.
* external/minizip/ioapi.h
! Disabled 64-bit FSIO for whole VxWorks.
* config/vxworks/gcc.mk
* config/vxworks/diab.mk
* config/vxworks/global.mk
+ _VX_CPU is now defined in vxworks/global.mk.
* src/common/hbarch.c
! Fixed hb_put_le_uint64() definition to match declaration.
* include/hbdefs.h
! Fixed compatibility type definitions in HB_LONG_LONG_OFF mode.
* include/hbsetup.h
+ Added bzero() declaration hack for vxworks.
* include/hbinit.h
+ Added support for diag compiler init function.
It requires the constructor to have public visibility.
* src/common/hbver.c
+ Changed to always display x.x.x.x format verison no for diab.
(in generic way).
* INSTALL
* Updated list of CPUs supported by vxworks.
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/qth/HBQPlainTextEdit.qth
+ Added: :hbSelectAll() method.
* contrib/hbxbp/xbpbrowse.prg
! Minor.
+ contrib/hbide/fetchdate.ui
+ Added: dialog to fetch a date value. It also employs calender widget.
* contrib/hbide/ideedit.prg
! Fixed: many artifacts related to selection behaviour.
* contrib/hbide/idemisc.prg
* contrib/hbide/idebrowse.prg
+ Implemented: search in the current browser.
Search is available in two modes:
1. When table has some index active : DbSeek() is performed.
The value to seek is based on the type returned by valtype( &( IndexKey() ) ).
2. When table has no active index: sequential search is performed.
The value of search is based on the current highlighted cell.
Input dialog is presented depending upon the search variable type.
Sequential search is a slow process but there is no alternative to that.
Sequential search is initiated from the current record downwards and terminated
either on oBrw:hitBottom is encountered or value is found.
Icon: ideDBU toolbar-serach Hotkey: CTRL+F
+ Implemented: goto record. It is straight forward. DbGoto( nRecord ) is issued.
Icon: ideDBU toolbar-goto record Hotkey: CTRL+G
Please forward your opinions.
* src/common/hbver.c
* Formatting.
* config/vxworks/diab.mk
! Refined tweak added to make hbsocket compile. I overdid
it, causing other breakage.
! Fixed dynlib generation to cope with Windows cmdline
length limits.
+ Added proper dynlib generation rule.
* config/vxworks/gcc.mk
* config/vxworks/global.mk
+ HB_CCPOSTFIX setup made common to all compilers, because
it's needed for 'strip' call.
* utils/hbmk2/hbmk2.prg
+ Some vxworks environment setup made common to all compilers.
* harbour-win-spec
* harbour-wce-spec
! Deleted hbmk.hbc references.
; Patches by Tamas Tevesz:
* harbour.spec
! Fixes to make it work.
* external/minizip/minizip.dif
* Updated.
* INSTALL.
* Nevermind.
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/qth/HBQPlainTextEdit.qth
! Changed: the space character not to terminate the code completion dialog.
It is needed for commands to be selected at next level.
+ contrib/hbide/plugins/hbide_script_rdds.prg
+ Added a dummy script to supply the required info
for different actions of an RDD operation if another
RDD is linked with hbIDE. DBFCDX and DBFNTX are
linked by default.
To make this feature functional, this dummy script has
to be popiulated with real-time code and be copied inside
"resources" folder with another name prefixed as:
hbide_persist_myrdd.prg
A complete example will be published in the meantime.
* contrib/hbide/hbide.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/ideplugins.prg
+ Implemented: persistent record/order/rowpos/colpos
of ideDBU views. Now tables are opened in the same
state of last run.
+ Totally reworked table-management engine. Now supports
external RDDs if linked which take effect automatically
for database operations, i.e., /rdds/exists/select/open;
more actions will follow.
* config/vxworks/diab.mk
+ Implemented support for Wind River Compiler.
Incomplete yet, as I couldn't test each build
feature due to errors in earlier build stages.
* src/common/hbver.c
+ Added fourth version number level.
+ Added version detection for Wind River Compiler (diag).
* Formatting.
* src/common/hbprintf.c
* external/minizip/ioapi.h
+ Fixes for Wind River Compiler (diag)
* src/rtl/hbdyn.c
! Dirty fix to compile in HB_LONG_LONG_OFF mode.
Przemek if you see this, can you take a look at it if
it's right or at least not terribly off?
* include/hbsetup.h
! Temporary hack for Wind River Compiler to use
HB_LONG_LONG_OFF, otherwise the compiler crashes with
internal error in hvm.c (without hvmall and optimizations
also). Now, this flag caused another slew of problems,
so as it looks now support for this compiler cannot
be added:
"../../../hvm.c", line 9827: internal compiler error (etoa:1000): - Failed allocating register pair
please contact support@windriver.com */
* include/hbinit.h
+ Enabled Wind River compiler to use the GCC init mode.
(didn't actually test it, but it compiles)
* utils/hbmk2/hbmk2.prg
+ Added new debug switch -debugpars to get a list of
input parameters processed by hbmk2.
+ Synced automatic HB_CCPOSTFIX configuration based on cpu
setting with GNU Make logic.
* config/vxworks/gcc.mk
* Cleanups.
+ Added more CPU postfixes.
* INSTALL
* Minor convenience added to prev.
* INSTALL
! vxWorks casing.
+ Added vxworks/gcc/arm example.
* utils/hbmk2/hbmk2.prg
% -DARMEL no more defined for vxworks/gcc/arm. It turns
out it's a predefined macro.
* config/global.mk
! Fixed HB_CPU autodetection after prev change.
* INSTALL
; NOTE: After previous change HB_CCPOSTINST is automatically
set on vxworks/gcc.
* config/vxworks/libs.mk
* config/vxworks/gcc.mk
+ Tried to enable dynlibhb, didn't succeed, see comments.
* config/vxworks/gcc.mk
% Deleted unnecessary compile time macros.
; TOFIX: vxworks HB_BUILD_SHARED=yes is broken. harbour .so
is not found. Couldn't find out why.
; TOFIX: vxworks/gcc/arm hbatomic.h needs support added.
arm harbour and hbpp builds fine.
* utils/hbmk2/hbmk2.prg
+ Added experimental -cpu option. (not at the level
of comp/plat internally, as there won't be separate
subdir open for different cpu builds created in parallel)
+ Added some untested support for vxworks/gcc/arm.
* utils/hbmk2/hbmk2.hbp
+ Synced with Makefile.
* config/global.mk
! Fixed to default HB_CPU value to x86 for vxworks.
+ Exports HB_CPU.
* config/vxworks/libs.mk
* config/vxworks/gcc.mk
+ Added experimental support to select arm target by
using HB_CPU=arm.
* config/wce/msvcarm.mk
! Missed re-xmastree changed done now. (for pre GNU Make 3.81 compatibility)
* include/hbthread.h
! Hacked around collision between vxWorks headers.
* ChangeLog
! Fixed casing of vxWorks.
* utils/hbmk2/hbmk2.prg
+ Added vxworks/gcc libpaths.
! Fixed vxworks/gcc system lib list.
! Fixed ar to have postfix.
; All these are syncs with GNU Make.
* src/rtl/hbsocket.c
! Typos in previous vxworks patchs.
* config/global.mk
! Fixed forming automatic HB_INSTALL_PREFIX value in *nix cross-build
situations. (it's still wrong as it assumes nix->win cross-builds)
; Now vxworks/gcc/x86 build is clean.
There are iTODOs left, and
- this particular class of warnings, which seems
to be a bug down the <pthread.h> system header:
hbnetio\netiocli.c:155: warning: missing initializer
hbnetio\netiocli.c:155: warning: (near initialization for 's_netioMtx.mutexAttr.mutexAttrType')
- also this, each time FD_ZERO() and friends are used:
warning: implicit declaration of function 'bzero'
- "argument n of 'x' differ in signedness" and "discards qualifiers from pointer target type"
warnings in hbsocket.c code.
; TOFIX:
- Unrecoverable error 9998: Harbour terminal (GT) initialization failure
when running hbtest.
- GPF when running hbmk2 and hbrun. (hbformat, hbi18 startup fine)
* INSTALL
+ config/vxworks
+ config/vxworks/libs.mk
+ config/vxworks/gcc.mk
+ config/vxworks/diab.mk
+ config/vxworks/global.mk
+ Started experimental VxWorks port.
; NOTE: VxWorks port was made possible by Wind River Systems Inc.,
who were so kind to mail me a full VxWorks development
environment, for the purpose of porting Harbour to this
platform. Thank you very much guys.
[ The free license is valid for one month, so if anyone
is interested in helping in this project, I can help with
real tests, builds and information. BTW, the devenv is
Eclipse based plus cmdline, running on Windows (available
for Linux and Solaris, too) and the target VxWorks exes
run in a virtual environment. ]
* config/global.mk
+ Added autodetection of VxWorks platform.
* utils/hbmk2/hbmk2.prg
+ Added VxWorks support. It's incomplete yet.
! Fixed to quote *nix/gcc compiler family in
Windows-host cross-platform situations.
* src/vm/thread.c
* src/common/hbgete.c
* src/common/hbffind.c
* src/common/hbtrace.c
* src/common/hbdate.c
* src/rtl/gtstd/gtstd.c
* src/rtl/gttrm/Makefile
* src/rtl/hbsocket.c
* src/rtl/filesys.c
* src/rtl/diskspac.c
* src/rtl/cputime.c
* src/rtl/disksphb.c
* src/rtl/gtpca/gtpca.c
* src/rtl/net.c
* src/rtl/hbproces.c
* src/rtl/gtsys.c
* src/rtl/hbcom.c
* external/zlib/inflate.c
* external/jpeg/jmorecfg.h
* external/pcre/Makefile
* include/hbapifs.h
* include/hbthread.h
* include/hbdefs.h
* include/hbsetup.h
* contrib/xhb/hboutdbg.c
* contrib/xhb/hbsyslog.c
* contrib/xhb/hbserv.c
+ vxworks/gcc port. First phase.
; Please review.
; NOTE: - vxworks has no termios, for serial comm
support it has sioLib.h.
- vxworks supports another C compiler, which
was not tested yet.
- vxworks supports lots of CPUs, only x86 was
tested yet.
- There are still mutex related warnings to sort out.
- Some parts had to disabled, like HB_LIB*() functionality.
; TODO: Regenarate .difs in external/.
* src/vm/hashfunc.c
* Silenced warnings shown by vxworks/gcc.
* contrib/hbdoc2/hbdoc2.prg
* contrib/hbdoc2/hbdoc2.hbp
- contrib/hbdoc2/genhbd.prg
- Deleted .hbd geneation from hbdoc2. This tool will
have to redesigned to use core hbdoc load/save functions,
etetc.
; Patches by Tamas Tevesz:
* src/pp/ppcore.c
! Fixed very old bad type on one of the PP error msgs.
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
* contrib/hbwin/win_shell.c
* Cleanups after recent changes.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed: a nasty bug in :paintEvent plus its subsidiaries.
The bug went unnoticed on Windows by some reasons unknown,
though it is documented in Qt help. This is repoted by
Antonio Linares when he was testing hbIDE on OSX.
* contrib/hbxbp/xbpbrowse.prg
! Fixed: :keyboard slot was not working.
* contrib/hbide/idebrowse.prg
* contrib/hbide/idesaveload.prg
+ Implemented: indexed table navigation. Current implementation
only supports structural indexes in DBFCDX. Click on some
table header, point to "Index" ideDBU toolbar icon and click
on drop-down list of index tags and expressions, select one
and this index will become the active one.
+ Implemented: search feature on indesed tables, only for string
fields. While staying inside a browser, press CTRL+F (Find),
provide serach string, and there you will be.
+ Titlebar now holds the various facts about the navigation.
Tooltip on the titlebar holds the table's full path.
TODO: after settling all actions, a left-side toolbar will
hold them as icons. One toolbar only for all panels and browsers.
If you have better ideas please forward.
* src/rtl/hbdoc.prg
+ __HBDOC_LOADHBD()/__HBDOC_SAVEHBD() now adds signature
to .hbd file format, which is verified on load.
+ .hbd file format now uses zlib compression, hugely reducing
file sizes.
* include/hbextern.ch
* src/rtl/hbdoc.prg
+ Added __HBDOC_LOADHBD( <cFileName> ) -> <hbdoc> | NIL
+ Added __HBDOC_SAVEHBD( <cFileName>, <hbdoc> ) -> <lSuccess>
- doc/en/Makefile
* doc/Makefile
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni_extra_copy.bat
* package/winuni/mpkg_win_uni.nsi
- Don't install doc sources.
* config/postinst.hbs
+ Will now build .hbd files from doc sources at 'install' phase.
.hbd files will be installed in HB_DOC_INSTALL path, which
is /doc by default.
; NOTE: Apps like hbide can now use __HBDOC_LOADHBD() to load
these .hbd files.
; NOTE: We may add other doc generators to hbrtl, plus we may
further enhance .hbd format to be more easily usable
for client apps (and f.e. to consume less disk space).
; TODO: Config HB_DOC_INSTALL also on *nix systems.
* contrib/gtwvg/wvgwing.c
! Fixes after previous commit.
Patch by Tamas Tevesz.
* contrib/make.hbs
* Minor.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fix for paint bug typo. Report/patch by Antonio Linares.
* src/rtl/hbdoc.prg
! __HBDOC_FROMSOURCE(): added parameter validation.
* tests/stripdoc.hbs
! Fixed -w3 warning.
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgsink.c
* contrib/gtwvg/wvgwing.c
* contrib/hbwin/hbwinole.h
* contrib/hbwin/win_shell.c
* contrib/hbwin/olecore.c
* contrib/hbwin/hbolesrv.c
+ Applied patch sent by Tamas Tevesz, targeting to change
OLE code to use MS supplied macros to access certain
structure elements. Also contains tweaks to NONAMELESSUNION
Windows mess.
"the attached is take two to use ole api accessors instead of
hard-coded member names which may or may not be present anyway."
; Plus some casing adjusments in macro variable names.
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/gtwvg/wvgwin.c
% Deleted ( HWND ) casts from MS Windows-defined constants.
Still when using plain MS defined constant, msvc will
show some warnings when compiled in C mode:
gtwvg.c(3594) : warning C4306: 'type cast' : conversion from 'int' to 'HWND' of greater size
Couldn't find a way to defeat it.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
+ Upped IE version we are building against to 0x0500.
This avoids some plain C mode msvc warnings.
* contrib/gtwvg/wvgwing.c
+ Added ( HB_PTRDIFF ) cast to newly activated code
after making above change.
* utils/hbmk2/Makefile
* utils/hbmk2/hbmk2.prg
+ Added build time configuration for GPM (on Linux) and
WATT (on MS-DOS) builds. This makes hbmk.hbc generation
(at 'install' phase) unnecessary, which means that now
'install' is not required on _any_ platforms and scenarios
to use hbmk2. Since hbmk2 is now used to build contribs,
this is now also a reqiurement.
; Please test, I didn't make any Linux, MS-DOS build tests
after this change.
* config/postinst.hbs
- Deleted hbmk.hbc creation. Now this logic is included in
hbmk2 at build-time on Linux and MS-DOS build which have
GPM lib and WATT lib detected respectively.
* contrib/hbct/numline.c
* HB_ISIZ variables renamed.
* include/hbapi.h
* src/common/Makefile
+ src/common/hbstrbm.c
+ Added hb_strAtTBM() which provides fast text search using
Turbo Boyer-Moore(-Crochemore) algorithm. The interface is
the same as hb_strAt().
HB_AT()/AT() could use it beyond some haystack sizes to
speed up the results.
+ contrib/hbqt/tests/testbrow.prg
+ Added useful browse example implemented using QT.
* tests/utf8at.prg
+ Changed to not use high chars.
* include/hbapicdp.h
* src/rtl/cdpapi.c
* src/rtl/cdpapihb.c
+ tests/utf8at.prg
+ Added hb_cdpUTF8StringAt()
; Patch by Carlos Bacco. Many thanks!
* include/hbextern.ch
* include/hbapicdp.h
* src/rtl/cdpapi.c
* src/rtl/cdpapihb.c
; my modifications to above patch:
- Using HB_BOOL instead of int for flag value.
% HB_UTF8AT(), HB_UTF8RAT() optimized to use hb_param(),
plus optimized out variables.
! HB_UTF8AT(), HB_UTF8RAT() fixed 'nEnd < nStart' case.
! Some formatting.
+ Added new functions to hbextern.ch.
* tests/utf8at.prg
* Changed to use UTF8 string as base.
* Avoiding "OEM" and "ANSI" Microsoft misleading terms,
using standard CP names instead.
! Using HB_TRANSLATE() to convert between CPs (instead
of non-portable, Windows-only HB_OEMTOANSI()/HB_ANSITOOEM()
functions).
* Formatting.
* Using '?' instead of QOUT(), plus added simpleio.ch to
allow redirection of output.
* contrib/make.hbs
* Minor step to make dependency evaluation and automatic
sorting of components for build.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -vcshead support for Monotone version control
software.
% Cleaned and optimized "in dir" C compiler run mode.
(currently used by mingw)
! Fixed "in dir" C compiler run mode when using -jobs=
option for multithreaded builds.
% Little optimization to --hbinfo option.
+ contrib/hbide/dbstruct.ui
+ contrib/hbide/resources/dbstruct.png
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.qrc
* contrib/hbide/idebrowse.prg
* contrib/hbide/idemisc.prg
+ Implemented: ideDBU - View and navigate the structure
of current table in focus. More features follow.
* utils/hbmk2/hbmk2.prg
! Fixed to rebase -I dirs also, when using new in-dir mingw
(experimental) call method.
* contrib/hbmzip/hbmzip.c
* contrib/hbbz2/hbbz2.c
* contrib/hbmemio/memio.c
* contrib/hbxpp/xppopc.c
* contrib/hbmisc/strfmt.c
* contrib/hbmisc/stringsx.c
* contrib/hbtip/utils.c
* HB_SIZE/HB_ISIZ variables renamed.
* contrib/hbmemio/memio.c
* HB_ULONG -> HB_SIZE in missing places.
* contrib/hbtip/utils.c
* contrib/hbtip/thtml.prg
* PSTRCOMPI() function renamed to __TIP_PSTRCOMPI()
INCOMPATIBLE: If someone by any chance used this internal
worker function in user code, pls update the name.
% __TIP_PSTRCOMPI(): optimization.
* src/rtl/hbdoc.prg
* include/hbextern.ch
+ Added __HBDOC_TOSOURCE( <aEntry> ) which is able to
rebuild original HBDOC source from memory variable.
ATM language information is lost in the process, this
will have to be solved in the future.
* utils/hbmk2/hbmk2.prg
+ Added experimental optimization to mingw build, where the
compiler is called only once to compile all files. Since
gcc doesn't have a switch for that, it's done in tricky
way by changing directory and recalculating source dir
relative from workdir. Now it's active by default, pls
report any build errors, especially in multithreaded mode.
* contrib/hbqt/generator/hbqtgen.prg
* Cleanups
* contrib/hbwin/win_shell.c
! Reverted previous patch 2010-07-13 08:55, it broke mingw builds.
* contrib/hbide/idebrowse.prg
* contrib/hbxbp/xbpbrowse.prg
% Ratified: many artifacts about vertical navigation,
especially after resizing is affected. Now you can see
this difference in demoXBP and hbIDE's ideDBU.