* contrib/hbqt/utils/hbqtgen.prg
+ Will now generate hbqt*_extern.ch with REQUEST for all
classed contained in given lib.
+ contrib/hbqt/qtgui/g/hbqtgui_extern.ch
+ contrib/hbqt/qtwebkit/g/hbqtwebkit_extern.ch
+ contrib/hbqt/qtcore/g/hbqtcore_extern.ch
+ contrib/hbqt/qtnetwork/g/hbqtnetwork_extern.ch
+ contrib/hbqt/qscintilla/g/hbqscintilla_extern.ch
+ contrib/hbqt/qtdesigner/g/hbqtdesigner_extern.ch
* contrib/hbqt/qtgui/hbqtgui.hbp
* contrib/hbqt/qtwebkit/hbqtwebkit.hbp
* contrib/hbqt/qtcore/hbqtcore.hbp
* contrib/hbqt/qtnetwork/hbqtnetwork.hbp
* contrib/hbqt/qscintilla/hbqscintilla.hbp
* contrib/hbqt/qtdesigner/hbqtdesigner.hbp
+ Added hbqt*_extern.ch files.
+ contrib/hbxbp/hbxbp_extern.ch
* contrib/hbxbp/hbxbp.hbp
+ Added REQUEST list for hbxbp.
* contrib/hbide/idemisc.prg
- Deleted usrrdd hack not mentioned in ChangeLog.
+ Changed to use new hbqt*_extern.ch and hbxbp_extern.ch files
instead of rolling a private list of external lib functions.
* src/rdd/usrrdd/usrrdd.c
+ Readded old mistyped function name guarded with HB_LEGACY_LEVEL3.
WARNING: Change UR_SUPER_WRITEBHEADER() to UR_SUPER_WRITEDBHEADER()
in your code.
* include/hbapidbg.h
+ Added HB_EXPORT to the complete hb_dbg*() API set.
This should fix -shared -b builds on win/wce when
using non-mingw compiler.
* src/vm/hvm.c
* Formatting.
* harbour/src/rdd/dbcmd53.c
* removed one redundant casting
* harbour/package/mpkg_rpm.sh
! move source code archive to RPM directory structure to
not leave it after creating RPMs
* harbour/package/mpkg_src.sh
! fixed to work correctly after moving from root directory
- harbour/package/harbour-win.spec
+ harbour/package/harbour-win.spec.in
* harbour/package/mpkg_rpm_win.sh
- harbour/package/harbour-wce.spec
+ harbour/package/harbour-wce.spec.in
* harbour/package/mpkg_rpm_wce.sh
! renamed cross build .spec files to fix -ta option
To keep this functionality working only one file in tar archive
can have .spec extension
* contrib/make.hbs
% Code consolidation.
! Fixed recent regression, whereas now again the root project's
.hbc file will be added to the make process in HB_BUILD_CONTRIB_DYN
mode.
+ Changed the way filter is processed, now dependent packages will
always be built, so there is no need to manually pick all the
dependencies too.
* Internal terminology cleanup.
+ Will now also rebuild the _dependencies_ in HB_BUILD_CONTRIB_DYN mode.
- Deleted forcing English language for hbmk2 output.
; Regressions are possible
; NOTE: This dynamic stuff is a real can of worms. Virtually infinite
combinations of dynamic vs static libs may be supported, plus
there is ST vs MT issue, where we must decide about this at
dynlib build time, and f.e. what happens when trying to load
two .dlls one with was linked against MT Harbour and the other
against ST? It's a combinatorical explosion.
* src/vm/vmmt/Makefile
! Fixed missing procaddr.c causing unresolved externals when creating
MT mode dynlibs.
* config/global.mk
! Attempt to fix LD_LIBRARY_PATH problem, adding dynamic lib build
dir to this envvar while doing the build, pls test it, I didn't.
+ contrib/hbplist
- contrib/pkglist
* Renamed.
* contrib/hbct/ctwin.h
! Added missing HB_EXPORT.
* contrib/xhb/xhb.hbp
* contrib/hbgd/hbgd.hbp
! Added missing project references also to .hbp files.
* utils/hbmk2/hbmk2.prg
! Fixed regression with mingw -hbdyn after adding new stub which
stole the show by explicitly exporting one symbol which (due
to autoexport function in mingw) prevented regular symbols to
be exported. This fix will remove the exception so far applied
to mingw/cygwin compilers where HB_DYNLIB was not used with these,
now it's used equally on all compilers/platforms. For this to
be effective, it should be noted that HB_EXPORT must be used
in all public declarations, even in contrib.
! Fix (?) to not include MAIN proc force code when building with
hbmaindllp.
* contrib/xhb/thtm.prg
% Changed hbct LTOC to simple iif()
; TOFIX: xhb makes reference to (deprecated) hb_symEval symbol:
Info: resolving _hb_symEval by linking to __imp__hb_symEval (auto-import)
* contrib/rddsql/hbrddsql.h
! Added HB_EXTERN_BEGIN/END
! Added HB_EXPORT
! Added extern
* contrib/sddoci/sddoci.hbp
! Restored some flags present in old Makefile to make it
work with mingw and bcc.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
! Fixed to add HB_EXPORT to public declarations.
; TOFIX: hbqt still doesn't link in hbdyn mode.
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/doc/en/*.txt
* Regenerated.
* contrib/hbqt/hbqt.hbc
! Fixed to not include QtUiTools in -hbdyn mode. It creates duplicate
symbols at link. Maybe this is not the right fix, go figure.
(HB_STATIC_QT mode still has to be checked)
; TODO: Add ${__HB_DYN__} to all .hbc files.
* include/hbextern.ch
* src/rdd/usrrdd/usrrdd.c
! Fixed typo in function name: WRITEBHEADER() -> WRITEDBHEADER()
Eagle-eye spotted by Marcos Gambeta.
* contrib/make.hbs
! Fixed to include dependent .hbc files instead of referencing
own .hbc file in HB_BUILD_CONTRIB_DYN mode. It was not good
solution as it was referencing itself that way.
+ Will now request dynamic version of dependencies when building
HB_BUILD_CONTRIB_DYN dynlibs. This is required otherwise f.e.
hbxbp lib will contain a static copy of hbqt libs, which is not
very good.
! Fixed to not attempt to build dynamic version of referenced
projects in HB_BUILD_CONTRIB_DYN mode.
* contrib/hbct/hbct.hbc
* contrib/hbqt/hbqt.hbc
* contrib/rddsql/rddsql.hbc
* contrib/hbtip/hbtipssl.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbwin/hbwin.hbc
* contrib/hbssl/hbssl.hbc
+ Experimental move to support linking dynamic version of the
dependencies when building dynamic lib in HB_BUILD_CONTRIB_DYN
mode. This is starting to get insanely ugly (thanks Microsoft)
so I'll with it some more and probably leave it.
; I hope I didn't miss any contribs which can also be a dependency
(probably I did)
* contrib/pkglist
* contrib/hbtip/hbtip.hbp
* hbtipssl made a separate project instead of being a sub-project
of hbtip. hbtipssl has different dependencies, so this move
was needed for libdyn support.
* INSTALL
* tdragon mingw marked as non-recommended. They due to
incompatible with previous release tool naming, our make
systems cannot currently support it. (it needs CCPOSTFIX
for windres tool when using the dwarf-2 installation)
* src/rdd/usrrdd/usrrdd.c
! Fixed to prev since new warnings appeared after the change.
Please review this. The stack API in some places expects
'int' while other calls use HB_ISIZ. In this case a value
is formed from ( hb_stackTopOffset() - hb_stackBaseOffset() ),
both HB_ISIZ, which is then passed to hb_stackItemFromBase(),
which expects an int.
What is the best way to correct this?
* src/rdd/usrrdd/usrrdd.c
! Fixed new msvc64 HB_ISIZ vs HB_LONG warnings popped after
finishing variable cleanup in stack API.
* src/rdd/dbcmd53.c
! Silenced one remaining warning (with a cast) in hbrdd lib.
* harbour/src/rdd/workarea.c
* harbour/src/rdd/wacore.c
* harbour/src/rdd/dbcmd.c
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/dbcmd53.c
* harbour/src/rdd/usrrdd/usrrdd.c
* harbour/src/rdd/wafunc.c
* harbour/src/rdd/hbsix/sxcompr.c
* casting and type modifications to eliminate possible lost data
warnings
* include/hbsocket.h
* src/rtl/hbsocket.c
! Fixed type in C level function name.
* src/rtl/hbdoc.prg
! Fixed to always use CRLF as EOL in internal doc data.
* contrib/hbtip/utils.c
! HB_BASE64() marked as HB_LEGACY_LEVEL3.
+ Added TIP_CRLF()
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/mail.prg
* Using TIP_CRLF() instead of HB_INETCRLF().
* config/postinst.hbs
+ More meaningful message when doing 'make install' without
HB_INSTALL_PREFIX being set.
* contrib/hbpost.hbm
+ Added extra protection to not try to install anything when
using 'install' without target dir being specified.
* INSTALL
* Updated to reflect the optional nature of make 'install'
option.
* Updated to reflect change in HB_INSTALL_PREFIX.
* {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
* harbour/src/compiler/gencc.c
! fixed wrongly used HB_ISIZ instead of HB_LONG
* harbour/package/harbour.spec
! fixed /etc/ld.so.conf.d detection
% minor improvement
; TOFIX:
* /etc/ld.so.conf.d/harbour.conf in final RPM contains
wrong path due to missing HB_INSTALL_PREFIX
* soft links to harbour shared libraries for systems
without /etc/ld.so.conf.d are missing
* soft links with short shared libraries names are missing
and current long names do not confirm standard Linux
shared library naming convention:
<name>.so[.<maj>[.<min>[.<rel>]]]
hbmk2 also uses short names so it does not work correctly
with binaries installed from the RPMs
* src/rtl/hbsocket.c
! hb_socketBind((): Deleted hb_socketSetReuseAddr() call,
which caused that the same addr:port could be opened multiple
times on Windows (tested on 7) systems, causing uncertain behavior.
This is documented MS (mis?)feature.
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbxbp/tests/wvtqt.hbp
! Added missing SVN header.
% Cleanup.
* INSTALL
* contrib/hbpost.hbm
* config/global.mk
* Changed HB_BUILD_IMPLIB to HB_INSTALL_IMPLIB to reflect
new meaning after recent changes. With new build system
the implibs are always created in lib working dir, and
this setting only controls whether to copy it to final
install directory. The default is still 'no'. Setting it
to yes is only recommended if the installation will be
used in local environment (3rd party .dlls) only. IOW
never set this to yes when creating a build for other
users (f.e. for distribution).
INCOMPATIBLE if you used this setting, pls change it now.
* INSTALL
+ Documented HB_STATIC_* options.
* contrib/make.hbs
* Updated TODO list.
* src/debug/debugger.prg
* src/rtl/dirscan.prg
* tests/wcecon.prg
* contrib/xhb/traceprg.prg
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbqt/generator2/hbqtgen2.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/tests/dialogqt.prg
* contrib/hbxbp/tests/wvtqt.hbp
* contrib/hbhpdf/tests/harupdf.prg
* contrib/gtwvg/tests/wvgtbrowser.prg
* contrib/gtwvg/tests/wvgwvtclasses.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/mail.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idetools.prg
* contrib/hbide/idesources.prg
* contrib/hbide/hbide.prg
* examples/uhttpd2/umain.prg
* examples/hbvpdf/tests/pdf_demo.prg
* examples/httpsrv/uhttpd.prg
* examples/httpsrv/cgifunc.prg
* examples/httpsrv/modules/tableservletdb.prg
* examples/httpsrv/session.prg
* HB_OSPATHSEPARATOR() -> HB_PS()
% Delete temp vars along the way.
* utils/hbmk2/hbmk2.prg
+ Generalized internals for support for older Harbour and
xhb versions.
+ Added -hb20 option. (thanks for asking for it so nicely ;)
* 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'
---
* 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.
* 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.
* 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)
* 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.
* 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.
* 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.
* 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.
* 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/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.
* 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/compiler/genc.c
* src/compiler/gencc.c
! Fixed format strings to be win64 compatible. Also fixing
mingw64 (4.6.0) reported warnings.
; I'd appreciate a review here. There are explicit lengths
used in some of these format strings, which may need to
be extended.
* src/rdd/dbffpt/dbffpt1.c
! Silenced bcc warning.
* 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.