* src/rtl/gtcrs/gtcrs.c
! Fixed to build on Cygwin.
* external/minizip/minizip.dif
* external/minizip/ioapi.h
! Patch by Tamas Tevesz: "it's rather questionable this has ever
done what it was intended to do. bad name for one macro, half
of other macro missing."
Fixes to largefile support.
* src/rtl/stuff.c
! Fixed GPF in STUFF() when HB_SIZE is signed value.
(HB_SIZE_SIGNED mode)
* contrib/make.hbs
% Normalized some dirs to give cleaner and shorter output.
+ Shows HB_BUILD_CONTRIBS value.
! Fixed to only generate doc once for multi-hbp packages (HBQT f.e.).
% Internal cleanups.
* contrib/hbqt/hbmk2_plugin_qt.hbs
+ Honor HB_WITH_QT also on OS/2.
* Internal. Feedback is still not perfect.
* utils/hbmk2/hbmk2.prg
+ Normalize implib source dirs, -o dirs, -workdir dirs.
+ Implibs automatically generated for dependencies are now put
in the 'implib' install target category, so they can be controlled
separately.
* contrib/hbpost.hbm
! Fixed to only install new automatic implibs when HB_BUILD_IMPLIB=yes.
; TODO: Rename this setting to HB_INSTALL_IMPLIB (or some better
name). Now implib are always made, this setting only controls
whether to install them (f.e. we don't want to install them
when creating package for distribution).
- Deleted stuff belonging to stdalone -hbimplib targets. This
method is deprecated inside contrib area.
* config/global.mk
- Do not show HB_CONTRIBLIBS value anymore.
* contrib/Makefile
+ Enabled to build all contribs using hbmk2 from now on.
This is huge step, but in fact a zillion little ones in
the last 2 years, and it means that contribs now rely on
hbmk2 and hbmk2 make files (.hbp and .hbc) to be build and
used respectively. For implibs, .hbi is used. The whole
process is orchestrated by a script written in Harbour: make.hbs.
With this change GNU Make is retired when it comes to contrib
area. This new hbmk2 based system gives us much flexibility,
many complicated build situations can now be potentially
handled, while also making the contrib area fully modular,
since they don't depend even on /config GNU Make system anymore.
This means that any external contribs having hbmk2 make files
are easy to import and any Harbour contribs are easy to detach
from our SVN. It also allows to include more features (f.e.
executables) in final distros. Executables hosted in the
contrib area have the great advantage that they can use any
other contrib libs (so far we were limited to core features
for exes). It also allows to dynamically add extra contribs
(or delete existing ones) on a per distro basis, so f.e.
certain builders can create their own binary distro with
a standard core and extra set of contribs. New system also
makes it possible to build dynamic libs from contribs. It's
also easier to move locally hosted external projects inside
the contrib tree, even as a subdir inside the contrib that
requires it (f.e. minizip, bz2 or sqlite). This can make
these projects fully self-contained.
Some things are not perfect yet, f.e. I'm still fighting
with cmdline length (relevant in MS-DOS) and the "in-place"
build (I call "in-place" build when you build only one
contrib at a time, like when issuing win-make inside a
contrib subdir) will certainly need some getting used to,
and maybe even some refinement in make.hbs. I've yet to
implement automatic dependency detection and tree-sorting
so that everything automatically builds in right order of
dependency. Such thing can even be added for "in-place"
build mode, and f.e. building hbide can automatically
launch hbqt and hbxbp builds. BTW I retained the
"header-copy-on-install" method, but I'm not sure it's
right solution, anyhow we still have time to think about
a better one.
If everything goes fine, the GNU Makefiles in contrib
area will be gone, so there won't be any redundancy again.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ -stop cmdline option now accepts a message it displays before stopping.
+ skip= .hbc command will now stop if there is text in its parameter.
INCOMPATIBLE: So far -skip only skipped if 'on' was passed as value,
now it will always skip. This means this command always has to be used
along a filter. If the filter evaluates, skip will happen, if not it
won't.
+ Added stop= .hbc command which will halt complete build process,
similarly to -stop cmdline option. It also supports text to be
displayed.
* contrib/hbqt/hbqt.hbc
+ Will now stop with a screen message if this component is tried
to be used on unsupported platform.
* contrib/hbwin/hbolesrv.hbc
* examples/hbsqlit2/hbsqlit2.hbp
* examples/gtwvw/gtwvw.hbp
* Changed to use new hbmk2 -stop facilities.
* src/rtl/filesys.c
+ Missed two casts from previous commit.
- examples/gtwvw/Makefile
- Deleted.
* 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'
---
* 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)
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* include/hbextern.ch
* src/rtl/Makefile
+ src/rtl/hbdoc.prg
+ Added __HBDOC_LOADDIR() internal RTL function to read
NFDOC formatted documentation source directories into
memory. The result will be a list of hashes which contain
the raw content of doc files. The function does format
validation (but not content) and add all agreed-on metadata
to the hashes.
It's a start and I hope others can join to create new
layers of function for below functionality:
- doc content validation
- pre-formatting
- output generators
The goal is to avoid local solutions and standardize
the format.
+ tests/hbdoctst.prg
+ Added small test app which will find and parse all
documentation inside the Harbour source tree and
save them in .hbd (serialized doc hash) format.
Such .hdb files can be generated by the build process
in the future, so tools like HBIDE can use the content
to display intellisense or built-in help.
; TODO: HBQT doc/html should be removed as it's
hbdoc tools' job to convert HBDOC source
format to html or whatever else format needed.
* harbour.spec
* debian/rules
- doc/man
+ src/pp/hbpp.1
+ src/main/harbour.1
+ utils/hbmk2/hbmk2.1
+ utils/hbtest/hbtest.1
+ utils/hbrun/hbrun.1
* Moved man doc files to their own component dirs.
* doc/Makefile
* doc/en/Makefile
+ doc/clipper.txt
- doc/en/clipper.txt
* Moved non-NFDOC formatted doc file to doc dir.
* doc/en/Makefile
! Fixed missing 1stread.txt
* doc/en/hb_apigt.txt
* doc/en/hbinet.txt
* doc/en/tbrowse.txt
* doc/en/hb_apifs.txt
! Fixed NFDOC non-standard entries.
* bin/hbxpatch.hbs
! Fixed detecting dirs. (could cause errors only in rare cases)
* contrib/hbdoc2/tmplates.prg
* Formatting.
* contrib/xhb/xhbat.c
* Renamed HB_SIZE/HB_ISIZ variables.
* src/vm/hashfunc.c
* src/rtl/at.c
* src/rtl/ati.c
* contrib/xhb/xhbat.c
% Deleted unnecessary HB_SIZE casts.
* contrib/hbdoc2/gentpl.prg
* contrib/hbdoc2/gentxt.prg
* contrib/hbdoc2/tmplates.prg
* contrib/hbdoc2/genxml.prg
* contrib/hbdoc2/genhtml.prg
* contrib/hbdoc2/hbdoc2.prg
* contrib/hbdoc2/genhbd.prg
! Typo in prev regarding .hdb output.
+ Attempt to creating separate .hbd file for each input.
Doesn't work.
* .NOT. -> !
! ' = ' -> ' := '
! Fixed to parse contrib dirs properly
(still not good, we'd need a better way to
indentify doc subdirs and enable doc parsing
only inside these dirs)
! Fixed to not crash when parsing hbgd docs. Now
this still needs fixing as it now shows errors for almost
all docs inside the contrib area.
! Added '#include "simpleio.ch"'
+ Enabled to parse contrib area (mainly for testing).
; NOTE: I sense an extreme chaos even in our "agreed"
doc format. This parser needs serious cleanup and
we should have _one_ _proper_ implementation to
parse doc texts and to write them to disk. Now
all tools have their own standards and imaginations
(extension) about the doc format, which is a sure
way to kill the whole effort.
A proper implementation should first convert the
on-disk NF format to an in-memory format, then
pass it to output generator modules.
* contrib/xhb/freadlin.c
! Fixed hb_xfree warning after recent cleanup.
* contrib/xhb/hboutdbg.c
* contrib/xhb/xhbenum.c
* contrib/xhb/dbf2txt.c
* contrib/xhb/fparse.c
* contrib/xhb/xstrdel.c
* contrib/xhb/xhbsave.c
* contrib/xhb/xhbwith.c
* contrib/xhb/xhbhasha.c
* contrib/xhb/datesxhb.c
* contrib/xhb/xhbat.c
* contrib/xhb/xhbmsgs.c
* contrib/xhb/freadlin.c
* contrib/xhb/xhbarr.c
* contrib/xhb/txtline.c
* contrib/xhb/xhbtrim.c
* contrib/xhb/hbserv.c
* contrib/xhb/cstructc.c
* contrib/xhb/xhbfunc.c
* HB_SIZE/HB_ISIZ variables renamed.
* 'unsigned int' -> 'HB_UINT' where applicable.
* src/rtl/gtsys.c
! Added hack to fix setting default GT in bcc C++ builds.
(please replace this with more elegant solution)
* src/rtl/gtwin/gtwin.c
* static var prefixed with 's_'
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/hbqtcore.hbp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbp
* contrib/hbqt/hbqscintilla/hbqscintilla.hbp
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbp
* contrib/hbqt/hbqt.hbp
* contrib/hbqt/hbqtgui.hbp
- -hblib option moved from common part to each .hbp.
It's cleaner and more generic this way plus it helps
tools (make.hbs and hbide) to decide about project type.
* src/rtl/console.c
* src/rtl/hbgtcore.c
* Made internal error codes of "terminal init failure"s
occuring in different situations different. I hope I
left 9998 for the one that happens usually.
* contrib/Makefile
- Deleted hbnetio from list, it's now made by make.hbs.
* config/postinst.hbs
* Minor.
* src/rtl/filesys.c
* src/rtl/filebuf.c
* src/rtl/fssize.c
* HB_FOFFSET vars renamed to have n prefix (instead of ul and ll)
* contrib/make.hbs
! Fixed output dirs in stdalone mode.
* contrib/hbsqlit3/hbsqlit3.c
* contrib/hbwin/olecore.c
* contrib/hbwin/win_bmp.c
* HB_SIZE vars renamed.
* utils/hbmk2/hbmk2.prg
% Never delete the same file twice in -hbimplib -clean mode.
* harbour/src/rtl/cdpapi.c
% removed one redundant if() condition
* replaced not working HB_CDP_[UN]LOCK used in hb_cdpList()
function with simple counter as protection against possible
overflow.
* harbour/src/compiler/complex.c
+ added support also for "." as date delimiters in VFP compatible
date[time] constant values.
* harbour/doc/xhb-diff.txt
* updated description of date[time] constant values syntax
to follow current Harbour and xHarbour behavior.
* utils/hbrun/hbrun.prg
! Don't search passed program in PATH and hbrun dir, if
program name has path component.
* contrib/xhb/xhbenum.c
* contrib/xhb/xhbqself.c
* contrib/xhb/xhbwith.c
* contrib/xhb/xhberrc.c
! Fixed msvc64 warnings after HB_SIZE extension in stack API.
* contrib/make.hbs
+ Added logic to protect against case when 'clean install'
is used but hbrun or hbmk2 isn't available when launching
the make process. In this case 'clean' phase won't be executed
for contribs, which is solved by forcing a -rebuild in
'install' phase.
* src/vm/strapi.c
* src/vm/runner.c
* src/vm/itemapi.c
* src/vm/asort.c
* src/vm/hvm.c
* src/vm/arrays.c
* src/vm/memvars.c
* src/vm/set.c
* src/vm/classes.c
* src/rtl/lennum.c
* src/rtl/strcase.c
* src/rtl/replic.c
* src/rtl/padr.c
* src/rtl/padc.c
* src/rtl/strtran.c
* src/rtl/strtoexp.c
* src/rtl/padl.c
* src/rtl/saverest.c
* src/rtl/right.c
* src/rtl/philes.c
* src/rtl/mlcfunc.c
* src/rtl/left.c
* src/rtl/xsavescr.c
* src/rtl/setkey.c
* src/rtl/stuff.c
* src/rtl/trace.c
* src/rtl/samples.c
* src/rtl/inkeyapi.c
* src/rtl/inkey.c
* src/rtl/mtran.c
* src/rtl/colorind.c
* src/rtl/rat.c
* include/hbapi.h
* include/hbapistr.h
* Renamed HB_SIZE variables to have 'n' prefix.
(verified to generate the same objects as before)
* src/rtl/philes.c
* Changed hb_retnint()/hb_retni() to hb_retns().
* contrib/hbgd/gdwrp.c
* Formatting.
* src/rtl/console.c
* src/rtl/philes.c
* include/hbextern.ch
+ Added: HB_PS() function, which does the same as HB_OSPATHSEPARATOR().
+ Added: HB_EOL() function, which does the same as HB_OSNEWLINE().
; These are very often used functions with an exceptionally long and
hard to type name, so most programs employed macros for it. Now this
is unnecessary. Long names are deprecated.
* contrib/Makefile
- contrib/makefile.hbs
+ contrib/make.hbs
* Renamed to be shorter.
+ Little steps for standlone running mode.
+ Using HB_EOL() and HB_PS().
; TODO: Change it all over Harbour SVN.
* utils/hbmk2/hbmk2.prg
+ -clean will now delete the target for -hbdyn, -hblib and default
-hbexe modes. .bak is also deleted for -hblib mode.
Probably more autogenerated extensions will have to be deleted
here to become in sync with globsh.mk.
+ Extended -instfile and -instpath support to also accept
a file group prefix. This way multiple set of files can be
copied to a set of target directories.
; TODO: Change all -instfile options to point to 'inc' group.
+ dos/djgpp will now use -gstabs+ for debug mode instead of -g.
Following change made in GNU Make system by Tamas.
* contrib/makefile.hbs
+ Reworked the way GNU Make operations are mapped to hbmk2
actions. F.e. 'clean install' needs special attention as
plain clean cannot be done because
+ Added hbblat to limited set of test contribs.
+ Better isolation and preparation of hbmk2 configuration.
+ Cleanups to dynamic lib creation from contribs.
+ Added experimental support to install headers similarly
as GNU Make does.
* Makefile
! Fixed to reverse order and dependency of contrib and utils
trees in clean without install mode. In pure clean mode,
the contribs need to be traversed first, because hbrun and
hbmk2 are required for this task.
* Makefile
* contrib/Makefile
+ Will now inform about missing hbrun and .hbs scripts not
run because of it.
* examples/hbapollo/hbapollo.hbp
* -instfile updated with header file group.
* src/rtl/hbproces.c
! Fixed some unused variable warnings experienced with poccarm.
; Patches from Tamas Tevesz:
* config/dos/djgpp.mk
+ debug switch changed to -gstabs+ from -g. Following this:
http://www.delorie.com/djgpp//mail-archives/thread.cgi?msg=djgpp-workers/2002/05/29/06:33:31&mode=frames
* bin/hbxpatch.hbs
* Updated after latest changes. Thanks!
* src/common/hbver.c
! Fix for pcc detection.
* src/rtl/gtdos/gtdos.c
* src/rtl/hbproces.c
! MS-DOS fixes for TRACE() messages.
* src/common/hbver.c
* src/rtl/Makefile [t]
* src/rdd/Makefile [t]
* include/hbdefs.h
* include/hbsetup.h
+ config/bsd/pcc.mk
* config/rules.mk [t]
+ First step to add support for pcc (Portable C Compiler) on bsd.
; Patch by Tamas Tevesz.
; TODO: ? I guess the -gc3 and -l disabler hacks are temporary.
(in files marked with [t])
* src/rtl/cdpapi.c
* src/rtl/cdpapihb.c
* include/hbapicdp.h
+ Added new low level hb_cdpList() function.
! cdp list generation logic now protected with mutex.
! HB_CDPLIST() .prg level function moved to cdpapihb.c,
thus clearing the last pending TOFIX here regarding
layer separation. Low level can now be moved to
common lib (or is there anything else missing?).
* contrib/hbqt/hbmk2_plugin_qt.prg
* Minor correction in one stdalone error msg.
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Activated new resource binary generator code, which
doesn't require qt headers anymore.
* contrib/hbqt/hbqt.hbc
- Deleted qt dependency. Not needed anymore.
* contrib/Makefile
* contrib/makefile.prg
+ Some contrib libs will now be built using new hbmk2 based
method as an experiment.
+ hbnetiosrv will now be built as well using hbmk2, also as
an experiment.
* contrib/hbide/hbide.prg
+ Loading resources manually using new QResource method
implemented by Bacco.
* utils/hbmk2/hbmk2.prg
+ Implemented support for #import Objective C specific
directive when detecting header dependencies.
* .m extension is now compiled with C compiler (not C++)
- Deleted 'experimental' status from plugin related options.
; Patches from Bacco:
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/qth/QResource.qth
* contrib/hbqt/qtcore/TQResource.prg
* contrib/hbqt/qtcore/QResource.cpp
* contrib/hbqt/doc/en/class_qresource.txt
* contrib/hbqt/hbqt.h
+ Added QResource:registerResource()/QResource:unregisterResource()
* With some minor modification from me (unsigned char -> uchar,
some formatting)
; Patches from Tamas Tevesz:
* src/rtl/memvarhb.prg
* src/rtl/hbcom.c
* Tweaks for prev patch: formatting and .hbv type description.
; Thanks to both contributors!
* ChangeLog
* Revised and updated status for pending TODOs TOFIXes of
this year.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added support for all new libcurl features introduced in
7.19.4, 7.20.0, 7.21.0
* Changed some recently added constants to be in sync libcurl
values.
* contrib/hbwin/Makefile
* contrib/hbwin/hbwin.hbp
+ contrib/hbwin/wapi_winnetwk.c
+ Added WAPI_WNETGETLASTERROR()
* contrib/hbct/ctnet.c
* NETREDIR(): Deleted Windows specific 4th parameter extension
which activated debug-style features (introduced in xhb)
based on WNetGetLastError() call. Such call was now added
separately to hbwin.
* contrib/hbide/hbide.prg
! Deleted hard-coded reference for specific QT version.
This should be solved differently.
; TOFIX: BTW the whole notion of having a special build
for a given distro is wrong. It should rather
do autodetection in all builds.
; Patches from Tamas Tevesz:
* src/rtl/memvarhb.prg
* Adjusted information on magic byte
+ Version number change to 1.
* src/rtl/hbcom.c
! Fix for linux/watcom link problem.
* bin/postinst.sh
* Ajustment for some undisclosed but probably weird system :)
* src/rtl/memvarhb.prg
+ Added file signature and version no. to .hbv files.
; Patch by Tamas Tevesz with a few modifications:
- added high byte at 1st pos is signature
- deleted RTEs in case of invalid file content on load
(to mimic original __MVRESTORE() which is also silent)
- minor optimization on signature checking.
; INCOMPATIBLE: The file format has changed so you won't be
able to interchange it with previous
versions of Harbour. Anyhow it's very new
format, so this shouldn't affect many users.
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
+ Shows .hbs as support input file format (where applicable)
! Little fix in displaying options w/o description on help
screen.
* utils/hbrun/hbrun.prg
+ Added clipboard paste support with Alt+V key.
* contrib/hbide/hbide.prg
- Temply disabled reference to new-style embedded resources.
* src/rtl/gtsln/kbsln.c
* public variable hb_DeadKey made static and renamed to
s_iDeadKey. Pls shout if this is needed to be kept public,
but even in that case it should get a new name.
* static hb_DeadKeyEnvName renamed to s_DeadKeyEnvName
* Changed HRBNATIONDEADKEY to HB_GTSLN_NATIONDEADKEY to better
fit into Harbour control envvar names.
Pls shout if this break lots of configurations.
* Whitespace formatting.
* contrib/hbqt/hbmk2_plugin_qt.prg
+ Added .qrc to .prg generator logic.
! Fixed .qrc to .c generator leaving last few bytes off.
% Optimized .qrc to .c generator output to have only one
line.
* utils/hbrun/hbrun.prg
+ Internal history length changed to 128 (from 32).
- Deleted extra limit on number of saved history items.
% Minor optimization to history saving.
* src/rtl/gtsln/gtsln.c
* Whitespace formatting.
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyh
* harbour/src/compiler/harbour.yyc
* increase the maximum bison stack size limit
from 10000 items to 100000
* harbour/src/rtl/gtsln/kbsln.c
+ added support for HB_K_RESIZE
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/hbolesrv.c
* do not pass message ID (DISPID) as first parameter of codeblock
or function taken from hash array indexed by DISPIDs.
This modification restores old format, i.e. the one expected
by GTWVG code.
* harbour/contrib/hbwin/tests/olesrv1.prg
! comment
* src/rtl/gtcrs/gtcrs.c
+ GTCRS will now generate HB_K_RESIZE Harbour INKEY() events
if the terminal window is resized.
Thanks for Tamas Tevesz for the suggestion + patch.
* Whitespace formatting.
* src/rtl/gttrm/gttrm.c
+ GTTRM will now generate HB_K_RESIZE Harbour INKEY() events
if the terminal window is resized.
* utils/hbrun/hbrun.prg
+ Will now automatically resize the UI if the window is
resized (on GTs which support this: GTTRM, GTWVT, GTXWC)
+ Now shows little red 'o' sign if history recording is enabled (default)
+ Set resize mode to 'rows' (only meaningful if using GTs
that support it).
% hbrun_Info() optimized.
* harbour/include/hbcom.ch
* harbour/rtl/hbcom.c
* implemented new error code HB_COM_ALREADYOPEN in hb_comOpen()
* harbour/contrib/hbct/ctcom1.c
* changed COM_OPEN() behaviour to be compatible with HBCOM API
and original CT behaviour
* src/rtl/gtwvt/gtwvt.c
+ SETMODE() will now support automatic resizing of font to make
requested dimensions fit on the screen, when HB_GTI_RESIZABLE
is enabled. (Previously in such case SETMODE() returned .F.)
Please test/review it.
* examples/rddado/tests/test.mdb
! Updated with newly generated one. Seems this file "rots" while
left sitting there on SVN, this is probably the 3rd time I'm
doing this, just to make it open. [ or maybe the file format
required by ADO changes constantly with OS updates/upgrades? ]
* examples/rddado/tests/access1.prg
! Deleted debug code leftover.
* Minor cleanups
* examples/rddado/tests/access2.prg
+ Added date column
! Fixed LOCATE command filter argument. It was not working
since the initial committer added it, because the filter
string used Harbour syntax, while it requires ADO (SQL-like)
syntax. RDDADO will make a very basic attempt to help in
that conversion, but f.e. aliased field names (and many
others) will break it. So: use ADO filter syntax until
this gets properly resolved.
* Minor cleanups
* examples/rddado/rddado.hbc
! Added missing libpath option.
* utils/hbmk2/hbmk2.prg
+ Added '-quiet-' option to turn off -quiet switch.
(note that -quiet will also force off -info, so after
-quiet- you also want to use a -info option to reverse
that)
* src/rtl/achoice.prg
! ACHOICE(): Fixed two navigation bugs (misplacement and RTE)
reported by Abe Buchinger.
Many thanks to Jerry Finuliar for the patches.
* harbour/include/hbgtinfo.ch
* harbour/include/hbgtcore.h
* harbour/src/rtl/hbgtcore.c
+ added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
filter inkey key codes. This codeblock receives as 1-st parameter
actually processed inside INKEY() function key code. It should return
final inkey code (it can be the same or 0 if key should be ignored.
I.e. this code change key 'a' to 'B' and blocks 'c':
hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
SWITCH nKey
CASE ASC( 'a' )
RETURN ASC( 'B' )
CASE ASC( 'c' )
RETURN '0'
ENDSWITCH
RETURN nKey
} )
+ added HB_GTI_INKEYREAD which allows to set/get codeblock executed
just before INKEY() reads key code from the GT typeahead buffer.
If it returns non 0 numeric value then this value is returned instead
as inkey code. Otherwise standard inkey procedure is activated and
key code is read from the GT typeahead buffer.
* harbour/include/hbextern.ch
* harbour/src/rtl/inkey.c
- removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/xhbgt.c
+ harbour/contrib/xhb/xhbinkey.prg
* harbour/contrib/xhb/hbcompat.ch
* updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
Incompatibility warning!
In Harbour timeout value passed to inkey() is correctly respected
and not reset internally on each call to inkey after block.
If inkey before block returns non 0 numeric value then it's not
ignored but returned as INKEY() function result without touching
GT typeahead buffer.