* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* bin/hb-func.sh
* utils/hbmk2/hbmk2.prg
* hbmkcfg.hbp file renamed to the clearer: hbmk.cfg
Same rules apply, the format is .hbp, which is also
made clear on the hbmk2 help screen.
hbmk2 and hbmk.cfg now effecticely replaces harbour.cfg,
which can now be considered obsolete, along with the
/go option. If someone knows some real-life tasks
which can be done with /go+harbour.cfg, but cannot
with hbmk2, please speak up.
* utils/hbmk2/hbmk2.prg
! Fixed bug in path normalization which stripped leading
(root) path separator. Guy, could you please retest now?
- bin/hb-mkdll.bat
+ bin/hb-mkdyn.bat
* bin/postinst.bat
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* bin/postinst.sh
* bin/hb-func.sh
- bin/hb-mkslib.sh
+ bin/hb-mkdyn.sh
* Synced the name of these tools with similar function,
name also converted to 8.3.
; NOTE: lib/dll creation functionality (which is the
difference now between .sh and .bat flavour) may
once in the future be implemented in hbmk2. See
existing TODO there.
* bin/postinst.bat
! Protected command from pre-NT systems.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
+ hbmkcfg.hbp added to distros (I hope to all of them).
* ChangeLog
* Updated statuses of a few pending items.
* utils/hbmk/hbmk2.prg
+ Added object archive support for (currently) gcc compilers.
.a file are gathered like .o files, and they can be added
to the internal command line templates using the {OA} macro.
I've added these after {O} macros in gcc cmdlines.
(Przemek's request #9. Please review.)
* Minor internal change to system location detection.
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* mpkg_tgz.sh
% Removed -r make flags. No longer needed.
* harbour/common.mak
* harbour/source/rtl/Makefile
- harbour/source/rtl/hbi18n.c
+ harbour/source/rtl/hbi18n1.c
* renamed hbi18n.c to hbi18n1.c to avoid conflicts with hbi18n
program - non GNU make files needs unique file names
! fixed bug in internal function __I18N_HASHTABLE()
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/hbi18n2.prg
+ added new I18N functions to manage .pot files and generate .hbl ones.
public functions:
HB_I18N_loadPot( <cFile>, [<pI18N>] [, @<cErrorMsg>] ) -> <pI18N> | NIL
Reads .pot file and returns Harbour translation set or NIL when
error appears. In such case <cErrorMsg> is contains error message
string. If second parameter [<pI18N>] is given then translation
items read from .pot file are added to this set. Otherwise new
Harbour translation set is created.
HB_I18N_savePot( <cFile>, <pI18N> [, @<cErrorMsg>] ) -> <lSuccess>
Generates .pot file from Harbour translation set. Please note
that Harbour translation set does not contain additional
information which exists in original .pot files like source
code numbers or alternative plural forms.
internal functions for Harbour developers which will work on I18N
tools:
__I18N_potArrayLoad( <cFile> [, @<cErrorMsg>] ) -> <aTrans> | NIL
Reads .pot file and returns array with translation items or
NIL when error appears. In such case <cErrorMsg> is contains
error message string.
<aTrans> is an array with translation items containing additional
informations from .pot file which are not necessary in final
translation sets used at runtime. It's designed for I18N tools
written in Harbour to manage .pot files and/or create .hbl ones.
__I18N_potArraySave( <cFile>, <aTrans> [, @<cErrorMsg>] ) -> <lSuccess>
Generates .pot file from array with translations items.
__I18N_potArrayJoin( <aTrans>, <aTrans2> ) -> <aTrans>
Join two arrays with translation items. Items from <aTrans2>
are added to <aTrans>. If given translation item already exists
in <aTrans> (the same msgctxt and msgid) then source code references
are merged and translations from <aTrans2> are added only if
<aTrans> does not have it.
__I18N_potArrayToHash( <aTrans>, [<lEmpty>] [, <hI18N>] ) -> <hI18N>
Converts array with translation items to hash table in the format
used internally by Harbour translation sets. It's the same format
as used __I18N_hashTable() function. The conversion removes data
which is not necessary for runtime translations like source code
references or alternative source plural forms.
If second parameter <hI18N> is given then translation items form
<aTrans> are added to it. Otherwise new hash table with is created.
If <lEmpty> is .T. then also items with empty translation are added
but source strings are used instead of missing destination ones.
* harbour/include/hbextern.ch
+ added new I18N functions
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/harbour.spec
* harbour/mpkg_tgz.sh
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_gcc.mak
* harbour/common.mak
* harbour/utils/Makefile
+ harbour/utils/hbi18n
+ harbour/utils/hbi18n/hbi18n.prg
+ harbour/utils/hbi18n/Makefile
+ added very simple application to manage .pot/.hbl files
Syntax: hbi18n -m | -g [-o<outfile>] [-e] [-q] <files1[.pot] ...>
-m merge given .pot files
-g generate .hbl file from given .pot files
-o<outfile> output file name
default is first .pot file name with
.po_ (merge) or .hbl extension
-e do not strip empty translation rules from .hbl files
-q quiet mode
TODO: extend it and add support for interactive mode which will
allow to edit translations.
* harbour/bin/hb-func.sh
+ added support for rddsql and sdd* libraries in hb* scripts
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
! added rddnsx library
* harbour/mpkg_rpm.sh
* harbour/harbour.spec
+ added harbour-fbird RPM and support for sqlrdd and sdd* libraries
* harbour/contrib/rddsql/sddpg/Makefile
+ added other paths checking for postgresql header files
* harbour/contrib/rddsql/sddfb/Makefile
! fixed file name
* harbour/contrib/rddsql/sddpg/pgsqldd.c
* harbour/contrib/rddsql/sddfb/fbirddd.c
* cleanup init symbol declaration
! casting for C++ compilation
* added missing const in some char * declarations
* harbour/contrib/rddsql/sddfb/fbirddd.c
* changed some parameters passed to firebird functions.
Mindaugas please verify me because these modifications changes
the code behavior. I do not know FireBird API and I modified it to
only pass C++ compilation checking error messages. At least these
lines should be checked: 233, 236, 244, 245, 260, 261, 440, 445
If possible please also check casting I added in in other lines
because it may hide some mistakes.
* harbour.spec
+ added rddnsx to rpm builds. Thanks Przemek.
; Also I would like to wish you all a happy xmas holidays
; and a new year full of health, love and Harbour business :)
* harbour/bin/hb-func.sh
* updated OS release version checking for new OpenSuse distros
* removed r from uname parameters used in get_hbplatform() function
+ added support for HB_MK_STATIC=yes|no envvar which allows to control
default -static/-shared hbmk switch. It should be set before hb*
scripts are created
* harbour/harbour.spec
* updated OS release version checking for new OpenSuse distros
* harbour/mpkg_tgz.sh
* changed installer envelope code to not use 'sed' and reenabled it
in default builds. Now it should work with different *nixes.
Please test.
* make_b32.mak
* make_gcc.mak
* make_vc.mak
* harbour.spec
* source/rtl/hbgtcore.c
* source/rtl/Makefile
* source/rtl/gtsys.c
* config/w32/poccce.cf
* config/w32/xcc.cf
* config/w32/pocc.cf
% Removed HB_GT_DEFAULT envvar, which was the exact synonym
of HB_GT_LIB. Please use HB_GT_LIB instead, if you - by any
chance - want to change the default GT at Harbour build-time.
* tests/speedtst.prg
! Fixed to delete temp .dbf files before exiting.
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
+ added harbour MT libraries: libfmmt and libhbvmmt
* harbour/include/hbstack.h
! respect HB_USE_TLS defined in hbthread.h
* harbour/bin/hb-func.sh
* always create harbourmt shared library in non DOS builds
* harbour/bin/postinst.sh
* always create libfmmt in non DOS builds
* harbour/source/vm/Makefile
* always create libhbvmmt in non DOS builds
* harbour-ce-spec
* make_deb.sh
* harbour-w32-spec
* harbour.spec
* contrib/Makefile
* contrib/make_b32_all.bat
* contrib/make_gcc_all.sh
* contrib/make_vc_all.bat
+ contrib/hbziparc
- contrib/hbziparch
+ hbziparc readded to default contrib list, as it
creates no more harm now.
; NOTE: And now that this is about ready, we might
step forward to develop a .7z interface ;)
- source/rtl/gtalleg
+ contrib/gtalleg
* TODO
* doc/dirstruc.txt
* include/hbgtcore.h
* contrib/gtalleg/Makefile
* contrib/gtalleg/make_b32.bat
* contrib/gtalleg/make_vc.bat
* contrib/gtalleg/make_gcc.sh
* contrib/make_b32_all.bat
* contrib/make_vc_all.bat
* contrib/make_gcc_all.sh
* contrib/Makefile
* config/hpux/gcc.cf
* config/hpux/global.cf
* config/darwin/gcc.cf
* config/darwin/global.cf
* config/dos/global.cf
* config/linux/gcc.cf
* config/linux/global.cf
* config/sunos/gcc.cf
* config/sunos/global.cf
* config/bsd/gcc.cf
* config/bsd/global.cf
* config/w32/global.cf
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* GTALLEG moved to contrib to make it possible to build
using the non-GNU make system, also to align the build
process with other 3rd party package dependent parts
of Harbour.
HB_INC_ALLEGRO or HB_DIR_ALLEGRO may be used to point
to Allegro package directory. This is generally necessary
on non-*nix systems.
; NOTE: Review and test build processes and modified files,
and unmodified, but potentially related files:
bin/hb-func.sh
make_gnu.sh
make_rpm.sh
make_rpmce.sh
make_rpmw32.sh
* contrib/hbgt/Makefile
* contrib/hbgt/common.mak
- contrib/hbgt/strdiff.c
+ contrib/hbgt/strdiffg.c
- contrib/hbgt/charmix.c
+ contrib/hbgt/charmixg.c
- contrib/hbgt/asciisum.c
+ contrib/hbgt/asciisgt.c
- contrib/hbgt/ascpos.c
+ contrib/hbgt/ascposgt.c
* contrib/hbgf/hbgfos2/Makefile
- contrib/hbgf/hbgfos2/tmenuitm.prg
+ contrib/hbgf/hbgfos2/tmenuit.prg
! Some files renamed to collide with each other on
non-GNU make systems.
* contrib/examples/hscript/cgi.ch
* contrib/examples/hscript/dir.hs
* contrib/examples/hscript/multiply.hs
* contrib/examples/hscript/ugly.hs
* contrib/examples/hscript/hello.hs
* contrib/examples/guestbk/guestbk.ini
+ Added SVN headers.
+ source/rtl/gtalleg/common.mak
+ source/rtl/gtalleg/make_gcc.sh
+ source/rtl/gtalleg/make_b32.bat
+ source/rtl/gtalleg/make_vc.bat
+ Added non-GNU make file as an ugly hack to
build them on Windows systems.
- tests/altd.prg
+ tests/altdtest.prg
* Rename.
* include/hbver.h
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* Version changed to '1.0.1dev'.
Trunk will need to be synced to tag/1.0.
* common.mak
+ Added version to harbour.dll: harbour-101-b32/vc.dll
; Work in progress. Pls comment.
* harbour/include/hbdefs.h
! fixed default printf length modifier for long long integer values
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
! fixed for new FM library name
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* common.mak
* make_b32.mak
* make_gcc.mak
* make_vc.mak
* make_vcce.mak
* make_tgz.sh
* debian/rules
- doc/man/hbdot.1
* doc/man/hbrun.1
- utils/hbdot
* utils/hbrun/Makefile
* utils/hbrun/hbrun.prg
- utils/hbrun/external.prg
* Replaced hbrun functionality with hbdot's.
- Removed separate hbdot tool.
* contrib/hbsqlit3/sqlite3/sqlite3.c
* contrib/hbsqlit3/make_vc.bat
! Fixed bug in foreign code (sqlite3.c) to compile in
MSVC C++ mode. (HANDLE -> HMODULE)
* C++ mode is no longer forced in non-GNU MSVC builds,
this way also avoiding a screen warning.
* contrib/examples/dbu/bld_b32.bat
* contrib/examples/dbu/bld_vc.bat
! Fixed to call 'patch' with '-N' so that it doesn't
ask to reverse patches when run multiple times.
+ utils/hbdoc/bld_b32.bat
+ utils/hbdoc/bld_vc.bat
+ Added non-GNU make batch files to build hbmake.
; This is a step towards detaching hbdoc from core.
* utils/hbdoc/hbdocdef.ch
! Fixed equality operators to be SET EXACT independent.
; Minor formatting.
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
! set 0 as package release number - the release signature is necessary
in RPM format and cannot be removed
* contrib/hbziparch/Makefile
! Fixed commented file in file list.
; This may fix some GNU-make problems regarding hbziparch.
; hbziparch may not work in RC2 GNU-make builds for this
reason.
* harbour-ce-spec
* harbour-w32-spec
* doc/whatsnew.txt
* include/hbver.h
* harbour.spec
* RC2 -> rc2
; We should use lowercase for 'RC' in the future, for consistency
with 'alpha', 'beta' (and with other projects too). It looks
smoother too.
* source/rtl/errorint.c
! hb_setGetCPtr( HB_SET_HBOUTLOG ) checked for NULL value.
I'm not sure if this is required in real life, so this may
be unnecessary safety.
* utils/Makefile
* Formatting.
* harbour-ce-spec
* harbour-w32-spec
* include/hbver.h
* harbour.spec
* RC1 -> RC2
* contrib/hbziparch/hbziparc.c
! Fixed potential GPF in HBZIPCLEANUP().
! HBZIPCLEANUP() changed to be a HB_FUNC() (from HB_EXIT_FUNC()),
so now it has to be called manually, but at least it's
now doing something useful. (HB_EXIT_FUNC() in .c code
never gets executed by itself).
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* define whole contrib library list for new contrib/Makefile
+ added header files to respect differences between platform
native and Windows only headers
* harbour/harbour.spec
* define whole contrib library list for new contrib/Makefile
* divided libraries which needs external references into
separated packages
! removed unnecessary dependences in binaries rebuild in shared
mode
* harbour/contrib/hbodbc/odbc.c
* pacified warnings
% minor optimization
* harbour/contrib/hbcurl/hbcurl.c
* harbour/contrib/hbfbird/firebird.c
* harbour/source/vm/extrap.c
* casting to pacify warnings
* harbour/contrib/gtwvg/gtwvg.c
! fixed pointer comparison - C uses different precedence for !
operator then Clipper/xbase
* harbour/source/rtl/hbinet.c
! fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong
socket parameter is passed. Please remember that after
RT error the control is returned to application.
% removed any hardcoded limits for size of data passed in
single read/write call during normal stream operations
- removed iSndBufSize/iRcvBufSize
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_tgz.sh
* removed not longer used HBPP references, thanks to Adam
* added hbppgen to list of installed binaries for native builds
* removed hbppgen from cross builds
* harbour/source/pp/Makefile
* harbour/config/install.cf
* added hack to install also hbppgen
I do not want to make deeper modifications in non GNU makefiles now.
Looks that now we are ready to rename hbppgen to hbpp. I would like
to keep -w hbppgen option semantic as is. Does anyone find it as
a problem?
* harbour/bin/hb-func.sh
+ added get_hbverstat function to extract build status from hbver.h
* harbour/make_rpmw32.sh
* harbour/harbour.spec
* harbour/make_rpmce.sh
* moved -RC1 from version to releasen part - it resolves the problem
with illegal character in version number
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* harbour/make_rpm.sh
* removed --with zlib switch - now zlib will be created in all builds
* added hbzlib library
* added hbmzip library - MiniZIP wrapper to manage ZIP files
* harbour/contrib/Makefile
* added hbmzip library to default builds
* harbour/include/hbzlib.h
! changed \ in include path
! added relative paths for LCC and XCC
* harbour/bin/hb-func.sh
* updated for hbzlib library in core code and hbmzip in contrib
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
* added hbzlib library to linked library list
* harbour/include/hbzlib.h
* harbour/bin/hb-func.sh
* harbour/make_gcc.mak
* harbour/config/darwin/gcc.cf
* harbour/config/hpux/gcc.cf
* harbour/config/linux/gcc.cf
* harbour/config/sunos/gcc.cf
* harbour/config/bsd/gcc.cf
* harbour/utils/hbdot/Makefile
* harbour/utils/hbrun/Makefile
+ added support for compilation with HB_EXT_ZLIB macro
It forces using external (OS) ZLIB library instead of hbzlib.
Still some other make files should be updated to respect it.
* harbour/make_rpm.sh
* harbour/harbour.spec
* changed --without gpl to --without gpllib
* harbour/source/compiler/complex.c
* changed END terminal symbol used for END SEQUENCE to ENDSEQ
for better error reporting in wrong .prg code
* harbour/ChangeLog
* harbour/harbour.spec
* reverted translation to UTF8 - Tomaz please check your editor
settings and disable automatic translation to UTF8. It's not
the first as such situation happens.
* harbour/include/hbclass.ch
+ added two missing PP directives
! protected against some repeated external definitions
* harbour/source/pp/Makefile
* harbour/source/pp/hbppgen.c
* harbour/source/pp/ppcore.c
* harbour/source/common/hbver.c
* harbour/source/common/hbverdsp.c
* harbour/source/main/harbour.c
* harbour/source/vm/cmdarg.c
* harbour/utils/hbpp/hbpp.c
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/include/hbver.h
* harbour/include/hbapi.h
* harbour/make_vcce.mak
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_gcc.mak
+ added support for dynamically set during compilation ChangeLog entry
ChangeLog ID and SVN revision and compilation flags
Now hbppgen creates in include directory hbverbld.h file with
information extracted from ChangeLog. New hbppgen parameters:
Syntax: ./hbppgen <file>[.prg] [options]
Options: -i<path> add #include file search path
-c[<file>] look for ChangeLog file
-o<file> creates .c file with PP rules
-v<file> creates .h file with version information
-w write preprocessed (.ppo) input file
-q disable information messages
+ added new C functions:
int hb_verSvnID( void )
- retrieves ChangeLog SVN revision number
const char * hb_verSvnChangeLogID( void )
- retrieves a static buffer containing ChangeLog ID string
const char * hb_verSvnLastEntry( void )
- retrieves a static buffer containing ChangeLog last entry string
const char * hb_verFlagsC( void )
- retrieves a static buffer containing build time C compiler
flags in C_USR envvar
const char * hb_verFlagsL( void )
- retrieves a static buffer containing build time linker
flags in L_USR envvar
const char * hb_verFlagsPRG( void )
- retrieves a static buffer containing build time Harbour compiler
flags in PRG_USR envvar
+ added new default PP defines which can be used in .prg code compiled
by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID
* harbour/source/rtl/gtxwc/gtxwc.c
* formatting
* harbour/source/rtl/gttrm/gttrm.c
! fixed redrawing GPM mouse pointer after screen updating
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* updated for compilation even if some POSIX macros are not supported
f.e. problems with some DJGPP versions reported recently
* harbour/source/debug/dbgentry.c
* harbour/source/debug/dbgtobj.prg
* harbour/source/debug/dbgbrwsr.prg
* harbour/source/debug/dbgthsh.prg
* harbour/source/debug/tbrwtext.prg
* harbour/source/debug/dbgwa.prg
* harbour/source/debug/debugger.prg
* harbour/source/debug/dbghelp.prg
* harbour/source/debug/dbgtarr.prg
! Fixed object inspector in the debugger.
! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
! Added an minimalistic TBrowse implementation that is just enough
for internal use by the debugger. Fixes miscellaneous problems e.g.
when debugging a piece of code with RELATIONs turned on.
Fixes by Phil Krylov borrowed from xHarbour.
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* updated for new library names
* harbour/ChangeLog
* harbour/include/hbexprb.c
* formatting
* harbour/source/rtl/net.c
! fixed casting
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/contrib/Makefile
* removed hbzlib - it cannot be longer part of default build
because Viktor removed zlib header files. Viktor sorry but
IMHO you should revert it and also restore ace.h - it creates
serious problems without any valuable addition. Now we will
have to rebuild Harbour on many different platforms and often
it will not be possible to install some libraries. We cannot
force installing additional libs by people who will create
binaries for incoming releases so it's important to revert
it. Please do it.
* harbour/config/bsd/install.cf
* harbour/config/darwin/install.cf
* harbour/config/hpux/install.cf
* harbour/config/linux/install.cf
* harbour/config/sunos/install.cf
* harbour/config/dos/install.cf
* harbour/config/os2/install.cf
* harbour/config/w32/install.cf
* redirected echo error messages to stderr when *sh shell is used
* harbour/config/lib.cf
* harbour/config/bin.cf
* harbour/config/global.cf
* harbour/config/hpux/gcc.cf
* harbour/config/hpux/global.cf
* harbour/config/darwin/gcc.cf
* harbour/config/darwin/global.cf
* harbour/config/dos/owatcom.cf
* harbour/config/dos/global.cf
* harbour/config/dos/rsx32.cf
* harbour/config/global.cf
* harbour/config/linux/owatcom.cf
* harbour/config/linux/global.cf
* harbour/config/os2/gcc.cf
* harbour/config/os2/global.cf
* harbour/config/sunos/gcc.cf
* harbour/config/sunos/global.cf
* harbour/config/bsd/global.cf
* harbour/config/w32/owatcom.cf
* harbour/config/w32/bcc32.cf
* harbour/config/w32/gcc.cf
* harbour/config/w32/rsxnt.cf
* harbour/config/w32/global.cf
! fixed build process. DOS and WINDOWS users should make tests for
different compilers. I tested only DOS-OpenWatcom, DOS-DJGPP,
W32-BCC32, W32-OpenWatcom, W32-POCC, W32-XCC and corss builds
W32-MinGW, W32-MinGW-CE. OS2 version not testes at all - I hope
it will work. LINUX-GCC, LINUX-G++, LINUX-OpenWatcom, BSD-GCC,
HPUX-GCC tested and they are working. I hope that SunOS version
also works though I do not have any solaris installation where
I can make real tests.
* common.mak
* harbour-ce-spec
* harbour-w32-spec
* harbour.spec
* make_tgz.sh
* utils/hbpptest/Makefile
+ utils/hbpptest/hbpptest.prg
- utils/hbpptest/pretest.prg
! Fixed hbpptest to have this name (instead of 'pretest') even
when built with the GNU make system.