+ contrib/hbexpat
+ contrib/hbexpat/hbexpat.c
+ contrib/hbexpat/hbexpatc.c
+ contrib/hbexpat/hbexpatp.prg
+ contrib/hbexpat/hbexpat.ch
+ contrib/hbexpat/hbexpat.hbp
+ contrib/hbexpat/hbexpat.hbc
+ contrib/hbexpat/tests
+ contrib/hbexpat/tests/hbmk.hbm
+ contrib/hbexpat/tests/test.prg
+ contrib/hbexpat/tests/tohash.prg
+ Added Harbour bindings for expat XML parser lib.
; Test contains XML to hash conversion. It's very nice,
small and complete, callback-based parser:
http://expat.sourceforge.net/http://www.xml.com/pub/a/1999/09/expat/index.htmlhttp://www.xml.com/lpt/a/47
+ contrib/hbexpat/expat
+ contrib/hbexpat/expat/expat.hbp
+ contrib/hbexpat/expat/expat.hbc
+ contrib/hbexpat/expat/COPYING
+ contrib/hbexpat/expat/amigacon.h
+ contrib/hbexpat/expat/ascii.h
+ contrib/hbexpat/expat/asciitab.h
+ contrib/hbexpat/expat/expat.h
+ contrib/hbexpat/expat/expat_ex.h
+ contrib/hbexpat/expat/iasciita.h
+ contrib/hbexpat/expat/internal.h
+ contrib/hbexpat/expat/latin1ta.h
+ contrib/hbexpat/expat/macconfi.h
+ contrib/hbexpat/expat/nametab.h
+ contrib/hbexpat/expat/utf8tab.h
+ contrib/hbexpat/expat/winconfi.h
+ contrib/hbexpat/expat/xmlparse.c
+ contrib/hbexpat/expat/xmlrole.c
+ contrib/hbexpat/expat/xmlrole.h
+ contrib/hbexpat/expat/xmltok.c
+ contrib/hbexpat/expat/xmltok.h
+ contrib/hbexpat/expat/xmltok_i.c
+ contrib/hbexpat/expat/xmltok_i.h
+ contrib/hbexpat/expat/xmltok_n.c
+ Added expat as foreign code. It's ANSI C with MIT license.
It's first example of adding foreign code in the contrib
domain, using hbmk2 as build tool. It's also configured to work
with hbxpatch.hbs.
; Please test, I bet MS-DOS builds are broken, and I didn't
make tests with OS/2 and WinCE either, plus with some
C compilers. Should build fine though with mingw[64], msvc[64],
pocc[64], bcc.
; TOFIX: Watcom build is broken. Any takers?
* contrib/hbplist
+ Enabled hbexpat.
* utils/hbmk2/hbmk2.prg
! Minor fix.
* src/rtl/hbjson.c
* src/rtl/hblpp.c
! Silenced msvc64 warnings.
* utils/hbrun/hbrun.prg
* Moved creation of header hash to separate function.
+ Added HBRUN_NOHEAD envver to disable embedded headers.
Any non-empty value will have this effect.
* utils/hbrun/Makefile
+ Enabled embedded headers.
* contrib/make.hbs
* config/postinst.hbs
* bin/hbxpatch.hbs
! Resolved TOFIX notes: now the headers can be used
just like in any .prg, and no need to locally #define
core constants.
Also hbqt_hbmk2_plugin.hbs should work now in stdalone
mode, with all the OOP code.
* utils/hbmk2/hbmk2.prg
* MS-DOS LFN vs. SFN next guess: deleted hack when loading
plugin.
* include/hbwmain.c
* src/vm/cmdarg.c
* config/bin.mk
* Cygwin main entry patch from Tamas.
* INSTALL
+ Added note that all settings are case sensitive.
Not that those would read it who would need to.
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/src/pp/ppcore.c
* harbour/src/main/harbour.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/ppcomp.c
* harbour/src/compiler/hbcmplib.c
* added support for setting hash array as container for included
files in HB_COMPILE*() functions.
* harbour/utils/hbrun/hbrun.prg
+ added optional support for embedding all core header files
into final HBRUN executable file. It can be enabled by
compilation with HBRUN_WITH_HEADERS macro.
* harbour/contrib/hbsqlit3/hbsqlit3.c
! removed non standard C construction
% push function parameters directly on HVM stack
* utils/hbmk2/hbmk2.prg
+ MS-DOS builds got internal protection against trying to load
.hbc/.hbp/.hbm/plugin files with long filenames (only in
filename/extension part, so it's sort of a hack).
Such would result in unpredictable behavior depending on
MS-DOS OS or emulation used, but for sure none can load the
intended file.
So current hack will consider such files non-existent,
and consequently fail along the way. Please test in on
MS-DOS.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
+ Reworked standalone hbqt generator as dynamic hbmk2
plugi. It will now dynamically convert .qth to
.cpp + .prg + .txt. .qtp lists can now be
replaced by .hbm files. See them inside /qth dirs.
* Minor cleanups and optimizations to generator code.
* Standalone conversion mode is also available, though it's
little difficult to run due to current hbrun limitations.
% Generated code further slimmed down.
+ Since now we have no generated central header, each
required declarations have to be repeated in each source
file. Consistency is maintained by generator.
; TODO: Consider splitting .qth generator functionality
from mainstream hbqt hbmk2 plugin.
; TODO: Switch to using new dynamic code generation.
; TODO: Consider merging .cpp + .prg using #pragma BEGINDUMP.
In generated code, I find it benign, and hopefully
eventually .prg code can be eliminated fully.
; TODO: Resolve dependence on generated central headers,
in manual source files.
; TOFIX: Error message in plugin now erroneously shows
as "hbclass.ch(131)", IOW the compiler thinks its
compiling the header, while in reality its compiling
the .hbs file.
* utils/hbmk2/hbmk2.prg
+ REQUESTing some stuff for hbqt plugin.
* utils/hbmk2/hbmk2.prg
* Using _APPMAIN() instead of MAIN() as entry function, to be
friendly with plugins using MAIN().
* Commented test code added for hbrun integration.
+ Added popular package handler's lib and include directory
to bsd builds' default setup.
* Added comments describint which such directory belongs to which package
system (darwin, bsd)
+ Plugins will now be called with Harbour header directory properly setup,
so it's possible to use headers in them.
* include/hbclass.ch
- Deleted some lines which were active when __HARBOUR__ is not defined.
As I understand this is Harbour-only header, so __HARBOUR__ is always
to be defined. Please speak up if you know what it was for.
It was added here: 2006-10-04 02:30 UTC+0200
* src/pp/hbpp.c
+ Support for -e option which lets override the name of the
public entry function in generated PP rules .c file.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
+ Some provisions to handle .qth files.
* INSTALL
* https links changed to http for win nightly pkgs.
* contrib/hbqt/qtgui/hbqt_init.cpp
! Fixed missing HB_EXTERN_BEGIN/END from around a new internal function.
* contrib/hbqt/utils/hbqtgen.prg
! Fixed to not spit HB_TR_ALWAYS msgs while running.
% Deleted unnecessary HB_SYMBOL_UNUSED in generated code.
% Minor optimization in generate code.
; TODO: Optimize code generated for GC desctructor.
* contrib/hbqt/*/g/*
* Regenerated.
* utils/hbmk2/hbmk2.prg
+ Will now accepts macros in Harbour options.
(lightly tested)
* src/rtl/gete.c
% Deleted very old code to satisfy Borland C++ getenv()
requirement, and which turned out to be a mere Borland
documentation error (confirmed by Borland).
Thanks to Tamas Tevesz for getting to end of this and
the patch.
* utils/hbmk2/hbmk2.prg
* Formatting.
* ChangeLog
! Fixed bloody daylight saving timezone in recent commits.
* src/vm/Makefile
* src/vm/mainwin.c
* src/vm/hvm.c
* src/vm/cmdarg.c
* src/vm/vmmt/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/cygwin/global.mk
+ Cygwin related patch from Tamas Tevesz.
- Fixing cygwin dynamic lib name
- Dynamic lib linking
- defining __PLATFORM__CYGWIN in cross-platform builds
* src/rtl/dateshb.c
+ tests/dttest.prg
+ HB_DATETIME() got new, optional nYear, nMonth, nDay, nHour, nMinute, nSecond, nFragment
parameters. If passed, it will return date or timestamp based on passed parameters
instead of current timestamp.
Based on initiative and code by Carlos Bacco. Thank you!
* contrib/hbsqlit3/hbsqlit3.c
- Reverted UTF8 patch in 2010-11-01 00:05 UTC+0200.
+ Replaced above solution with transparent one, using
Str API usage and extended it for all places where UTF8
strings are expected or returned by sqlite3 API.
Please test. This clears an old TOFIX.
+ Added TOFIX for raw pointer usage.
* contrib/hbqt/qtgui/g/QApplication.cpp
* contrib/hbqt/qtgui/qth/QApplication.qth
! Fixed to wrap one declaration in HB_EXTERN_BEGIN/END.
* utils/hbmk2/hbmk2.prg
+ Applied cygwin patch from Tamas Tevesz.
! Few more cygwin related fixes here and there.
+ Added more cygwin related TOFIX notes.
* utils/hbmk2/hbmk2.prg
+ Platform/compiler checks made robust and don't
give match anymore for 'win' when checking it against
'darwin' or 'cygwin'.
* utils/hbmk2/hbmk2.prg
* INSTALL
* Updated to reflect that cygwin is now distinct platform.
(TODO: examples)
* contrib/hbcurl/hbcurl.hbc
* Changed to use 'libcurl' as implib name also for mingw.
This name will work for the implib generated
by Harbour build process. If you want to use something
else (f.e. one shipped with a prebuilt libcurl binary release),
update the .hbc file locally.
* utils/hbrun/hbrun.prg
* Minor stdization in recent output msgs.
* utils/hbrun/hbrun.prg
+ Added support for registering/unregistering .hbs file type
in Windows registry. Based on .reg files provided by Mindaugas
(with modifications and unregister support). I changed the way
defaulticon entry is made, but it still doesn't appear, maybe
I need reboot or something. Pls test it.
Usage (from cmdline):
-r - register for current user
-ra - register for all users (requires admin rights)
-u - unregister for current user
-ua - unregister for all users (requires admin rights)
Tested on Win7 using current user only.
NOTE: regedit (the tool used for registration) doesn't
return errorlevels on error, so it's not possible
to write correct feedback (so hbrun always shows
success).
* package/winuni/mpkg_win_uni.bat
! Added .hbs files in contrib roots to unified windows
package. In practice this means that the hbmk2 qt plugin
will now be shipped with standard distro.
* utils/hbmk2/hbmk2.prg
! Typo in comment.
* harbour/src/rtl/gtstd/gtstd.c
* updated to compile with WinCE
* harbour/package/harbour.spec
* modified to work with new HBMK2 translations
* harbour/contrib/hbmzip/hbmzip.c
! fixed function order
* harbour/contrib/hbwin/axcore.c
* include <olectl.h>
! fixed buffer sizes in debug function
* removed trailing spaces and tabs
* harbour/contrib/hbwin/hbolesrv.c
* include <tchar.h> - for some compilers which do not make it
with OLE header files
* contrib/hbqt/utils/hbqtgen.prg
! Fixed to pass 'uchar' where QT needs it (instead of current 'char')
; TOFIX: hb_parc() return value is still de-const-ed and passed
to QT which is 100% way to create random GPFs.
See TOFIXes in code.
* utils/hbmk2/hbmk2.prg
* Formatting.
* harbour/utils/hbmk2/hbmk2.prg
+ *nix builds will now use /opt/harbour/contrib and /opt/harbour/addons
dirs to autofind .hbc files. (if /opt/harbour dir exists)
* harbour/utils/hbmk2/hbmk2.prg
* use "~hbmk" instead of ".hbmk" as temporary directory name in DOS
builds to avoid problem with unsupported file names.
TODO: for better customization we need new function:
HB_FNameCheck( <cFileName> ) -> <lNameOK>
* harbour/contrib/hbmzip/hbmzip.c
! fixed GPF when file datetime is passed as 3-rd argument to
HB_ZipFileCreate()
% eliminated repeated code
* package/winuni/RELNOTES
* pgsql version.
* contrib/xhb/hboutdbg.c
! Fixed missing xhb.h for public function declaration.
* contrib/sddoci/sddoci.c
! Implemented fix based on Przemek's recent commit to sddpg.
(2010-10-04 12:43 UTC+0200)
I made no testing, just tried to copy the method since the
situation looked the same. Please review/test.
+ utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hbp
+ Added Spanish translation.
Many thanks to Guillermo Varona Silupu (GVS) for the translation
and for making it available to Harbour.
; QUESTION: These are used from xhb lib, yet they are not exported
from harbour dll. Should they be worked around in xhb
or exported?:
hb_stackItem, hb_stackBaseOffset, hb_stackBaseProcOffset,
hb_stackWithObjectOffset
* harbour/utils/hbmk2/hbmk2.prg
! disabled automatic generation of dll_hb_vmProcAddress()
in binaries linked with hbmaindllp library.
Such function should be attached to the code linked with
HVM on user request i.e. using some new HBMK2 switch.
* harbour/contrib/xhb/xhw32prn.prg
* added dummy WIN32BMP() function in non MS-Windows builds
* harbour/contrib/rddads/adsfunc.c
* added dummy ADSREGCALLBACK() and ADSCLRCALLBACK() functions
to Linux builds
* harbour/contrib/hbxpp/hbxpp.hbx
* harbour/contrib/hbqt/qtgui/hbqtgui.hbx
* harbour/contrib/hbqt/qtcore/hbqtcore.hbx
* automatically updated by HB_REBUILD_EXTERN=yes
* harbour/utils/hbrun/hbrun.prg
! fixed typo in my last commit - Thanks to Frank Van Nuffel for
information about the problem
+ harbour/src/lang/msgsv.c
+ harbour/src/lang/msgsvwin.c
+ added Swedish language modules by Klas Engwall
(borrowed from xHarbour with some small modifications - please verify)
* harbour/utils/hbrun/hbrun.prg
+ extended error message so it reports more precisely the problem
with user command.
+ use -n2 instead of -n for user command compilation
It allows to use:
DO <proc> [WITH <args,...>]
when <proc>.prg contains code without explicit startup procedure.
% removed useless hbrun_DirAddPathSep() - hb_FNameMerge() automatically
adds directory separator if necessary.
! changed the order of locating files without extension so files in
local directory are not hidden by file in PATH or hb_baseDir()
! interrupt execution when given .hbs or .prg file cannot be cleanly
compiled.
! generate error when file passed as in parameters cannot be found.
! do not strip quote characters from PATHs in *nix builds.0
! use in DOS builds "~harbour" instead of ".harbour" as directory name
for hbrun history file.
; Possible TODO: add function:
HB_FNameCheck( <cFileName> ) -> <lNameOK>
which will check if <cFileName> is correct and can be used
with given file system. <cFileName> should contain full path
so it can be verified with correct file system. Such extension
should eliminate code which disable unconditionally long file
names in all DOS builds.
* utils/hbmk2/hbmk2.prg
+ Added MS-DOS compiler (djgpp) detection when used on *nix platform
in cross-compile scenario.
BTW I've also found that I had already implemented win and wce
autodetection based on global.mk, so it' supposed to work. Please
test it.
* config/global.mk
- Deleted a variable not used anymore.
* utils/hbmk2/hbmk2.prg
+ Added workaround for mingw compiler problem where it
tends to leave zero byte long objects in cases when the
build process gets (manually) aborted.
Please check it and report any potential performace
problems (hbmk2 needs to read the objects' size from
the directory listing). Maybe we will need a Harbour
function which returns both timestamp and size in one
call.
* contrib/hbodbc/todbc.prg
- Deleted 'FROM HBCLASS' from class declarations.
Thanks to Manu for the report.
* contrib/hbxpp/dbfuncsx.prg
+ Added XPP_DBUSEAREA() which emulates non-Clipper compatible
behavior of Xbase++ DBUSEAREA() implementation.
Based on code and information sent by Shum
* contrib/gtwvg/wvgwing.c
! Fixed compilation in newer BCC versions (6.3).
Fix suggested by YD0DKL
* package/winuni/mpkg_win_uni.bat
+ Added copyright msg.
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.rc
* Changed to use plain number for icons, instead of 'ICONn' name
to ease addressing them in some situations.
; INCOMPATIBLE: If you used
hb_GTInfo( HB_GTI_ICONRES, "ICONn" )
to set app icon at runtime, change it to:
hb_GTInfo( HB_GTI_ICONRES, n )
* utils/hbmk2/hbmk2.prg
* config/global.mk
* INSTALL
! HB_BUILD_NAME/-build= no longer supports pathseps (backslash/fwdslash)
(it would need costly solution to resolve compilation of
hbrun.rc, maybe more. It's also "cleaner" this way, since the
dir structure is not altered)
* utils/hbmk2/hbmk2.prg
+ Harbour environment autodetection will now work if pathseps
are present in HB_BUILD_NAME/-build= setting.
(so now it's in sync with Harbour build in this regard)
* harbour/include/hbclass.ch
% small modification to reduce lock time
* harbour/src/common/hbdate.c
! fixed hb_timeUTCOffset() in MS-Windows builds to work in some
countries/windows versions where GetTimeZoneInformation() returns
TIME_ZONE_ID_INVALID but sets correct tzInfo.StandardBias field.
* harbour/package/mpkg_ver.sh
! fixed to set correctly root path after moving build scripts to
./package subdirectory
* harbour/utils/Makefile
! do not build executable files when HB_BUILD_PARTS is set to 'lib'
* harbour/src/rtl/filesys.c
* unified hb_fsSeek[Large]() return value when seek operation cannot
be executed for given file handle. Now it's 0 for all platforms.
* harbour/include/hbapicls.h
* harbour/src/vm/classes.c
+ added new public C function
PHB_SYMB hb_clsFuncSym( HB_USHORT uiClass )
It returns class function symbol or NULL.
* harbour/ChangeLog
* harbour/config/os2/gccomf.mk
* harbour/include/hbpcode.h
* harbour/include/hbdebug.ch
* harbour/include/hbmath.ch
* harbour/include/hbgfx.ch
* harbour/src/vm/classes.c
* harbour/utils/hbmk2/hbmk2.prg
* removed dummy trailing spaces at EOLs
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Switched .po files to UTF-8.
+ Set svn:mime-type accordingly.
; NOTE: Make sure to use UTF-8 aware editor to edit these files
from now on. These are the first UTF-8 files in hb repo.
* INSTALL
+ Added .xz source file. Thanks Tamas for installing it
required tools onto the nightly server.
* package/mpkg_win_nightly.bat
* Minor to reqs.
* utils/hbmk2/hbmk2.prg
+ Added extension to license. Pls read it, especially projects
including hbmk2 or modified version of hbmk2 (f.e. MiniGUI).
Help text and documentation is now covered by Creative Commons
Attribution-ShareAlike 3.0.
Plus some restriction to not tear hbmk2 off of Harbour Project,
to clearly show modified nature and always distribute modified
source.
My intent is to leave hbmk2 as coherent part of Harbour,
possibly unmodified and my name not stripped.
* config/global.mk
% Minor opt.
* package/mpkg_nightly.sh
! Harmless typo.
* package/winuni/RELNOTES
* Updated.
* INSTALL
+ Some binary link.
* utils/hbmk2/hbmk2.prg
! Changed the way links are installed. This should fix it
for win platform.
* Will now delete link before trying to create it in install phase.
* include/hbcomp.h
* src/macro/macro.yyc
* src/macro/macro.y
* src/macro/macrolex.c
* src/compiler/hbmain.c
* src/compiler/complex.c
* src/compiler/harbour.yyc
* src/compiler/harbour.y
* Changed prefix used for bison generated function prefix
(hb_comp -> hb_comp_yy, hb_macro -> hb_macro_yy)
; Pls review.
This avoids collision between hb_macroError/hb_macroerror
for obsolete tools like bcc implib which uses case-insensitive
symbol lookup by default)
* package/winuni/mpkg_win_uni_extra_copy.bat
+ Added trick to generate special implib for core .dlls so
that now bcc can use the regular Harbour one and doesn't
need the special '-bcc' postfixed version to be shipped.
An ugly trick for an obsolete compiler.
(release process now requires bcc implib tool because of this)
* utils/hbmk2/hbmk2.prg
+ Added -c option to implib calls. This fixes implib generation
for certain .dlls, like OpenSSL.
* contrib/gtalleg/gtalleg.hbc
! Fixed allegro-config command to not contain output redirection.
* contrib/hbcurl/hbcurl.hbc
! Fixed lib name on non-win platforms.
* contrib/hbgd/hbgd.hbc
! Fixed gd lib name on Linux.
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
* contrib/hbssl/hbssls.hbp
* contrib/hbcurl/hbcurl.hbc
* contrib/hbcurl/hbcurls.hbp
% Using allwin instead of win|wce.
* utils/hbmk2/hbmk2.prg
+ Added trick to not corrupt version numbers in libnames when
adding extension. (it will check for extensions beginning
with numeric and add instead of replace extension in such case)
! Fixed pkg-config/*-config parser when result contained LF chars.
* config/postinst.hbs
* Do not create dynlib symlink on non-*nix platforms.
; Now HB_BUILD_CONTRIB_DYN works for all contribs also on Linux.
; TODO: Shouldn't harbour-2.1.0.so be called harbour.so.2.1.0 ?
; TODO: Creating versionless links for contribs.