* config/global.mk
* README.txt
+ enabled dynlib generation by default on the Windows
platform. It means that hbrun will be built in shared
mode, so it can load them. You can copy hbmk2 to the name
'hbrun' and get a static built hbrun, or build it using
its .hbp file to your own needs. If you feel offended
anyways, turn off dyn contribs as described in README.txt
* contrib/hbxdiff/tests/test3.prg
! fixed to run as script
* contrib/hbnf/tests/dfile.prg
* contrib/hbnf/tests/pending.prg
* use CLS instead of old dBase trick
* utils/hbmk2/hbmk2.prg
+ automatically define HBMK_HAS_<packagename> macro
if a given package is linked or loaded when running
as script. F.e. HBMK_HAS_HBGD. The macro will have
the value zero if there is no version information
about the package and it will be 0x010203 if there
is, via .hbc version=x[.y[.z]] directive.
* extras/httpsrv/modules/showcounter.prg
* extras/httpsrv/modulesg.hbp
* extras/httpsrv/uhttpd.prg
* extras/httpsrv/uhttpdgd.hbp
+ use HBMK_HAS_* macro instead of manually rolled solution
* extras/hbusb/hbusb.hbc
* extras/hbusb/tests/hbmk.hbm
* extras/hbusb/tests/test.prg
* extras/hbvpdf/hbvpdf.hbc
* extras/hbvpdf/tests/pdf_demo.prg
+ use default headers extras where it makes sense
* include/Makefile
- include/hbtest.ch
* src/rtl/Makefile
- src/rtl/hbtest.prg
* utils/hbmk2/hbmk2.prg
- deleted hbtest from core.
* contrib/hbct/tests/test.prg
* contrib/hbgt/tests/test.prg
* contrib/hbmisc/tests/tsstrfmt.prg
* modified regression tests to use hbtest contrib
instead of hbtest functionality in core RTL
; Thanks to Mindaugas and Przemek, now the contrib
tests will require users to manually add 'hbtest.hbc'
to their hbmk2 cmdline in case someone would like
to build exes from them. Which means that fewer
people will bother to build and run them. They still
run simply using 'hbrun <name>.prg' as scripts.
* src/rtl/hbtest.prg
! made another accidentally public function STATIC
% merged XToStr() and XToStrE()
% XToStr() modified to use hb_CStr() where it can
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_trans.prg
% synced in-string date format with src/rtl/hbtest.prg
* contrib/hbmisc/tests/tsstrfmt.prg
! fixed to not rely on current date
! fixed to set date format
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/*.po
+ accept .ch files as project input. These headers
will be used as standard ones using -u+ option.
F.e.:
--- test.prg
? K_ESC
---
$ hbmk2 inkey.ch test.prg
$ test -> 27
+ accept .ch files in sources= .hbc directive.
; TODO: consider deleting headers= directive
* include/hb.ch
* utils/hbmk2/hbmk2.prg
* minor sync between list of "essential" core headers
and the minimal list of core headers embedded into hbmk2.
(minimal list is not used in default builds)
* added missing hbstrict.ch to full list of included headers
* contrib/hbgd/tests/hbmk.hbm
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/antialia.prg
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/tpoly.prg
* experiment: instead of #including "simpleio.ch" in
most tests, I added -u+simpleio.ch to hbmk.hbm so
it's automatically enabled for all tests.
(need to be careful about it f.e. in /tests/ where
some code assumes that ?/?? goes to screen, not
stdout)
* contrib/hbwin/tests/testprn.prg
* contrib/hbwin/tests/testprn2.prg
* contrib/hbwin/win_tprn.prg
* cleanups (names, avoid QUIT, use hb_StrFormat(), etc)
* contrib/gtwvg/gtwvg.hbc
+ added all three headers as standard one
(they were all used in all tests files)
* contrib/gtwvg/tests/_activex.prg
* contrib/gtwvg/tests/_cuigdlg.prg
* contrib/gtwvg/tests/_dyndlgs.prg
* contrib/gtwvg/tests/_modal.prg
* contrib/gtwvg/tests/_tbrowse.prg
* contrib/gtwvg/tests/_utils.prg
* contrib/gtwvg/tests/_wvtcls.prg
* contrib/gtwvg/tests/_xbp.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/demowvg1.prg
* contrib/gtwvg/tests/demoxbp.prg
% do not explicitly include standard gtwvg headers
* contrib/gtwvg/tests/_utils.prg
! fixed to not define a function which is already
defined as a macro
* contrib/gtwvg/wvgparts.ch
* minor
* contrib/gtwvg/hbgtwvg.ch
! fixed the way some HB_GTE_* event macro collision
is avoided with core
* contrib/rddads/ads.ch
! added missing self-guard
* contrib/hbmagic/tests/hbmagit.prg
* contrib/hbmxml/tests/custom.prg
* contrib/hbmxml/tests/reminder.prg
* contrib/hbmxml/tests/testmxml.prg
% no longer use #include to include standard
package headers. Rely on autoload triggered
by .hbc file or #require directive.
(missed from prev)
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/testmg.prg
! fixed to run properly as scripts
(need to register RDDs manually in such scenario,
maybe this could be automatized?)
* contrib/hbwin/hbwin.hbc
* contrib/rddads/rddads.hbc
+ set hbwin.ch and ads.ch as standard headers
; NOTE: Seems that hbct, hbxpp and xhb contribs
do not have such what could be called
common standard headers.
For gtwvg I cannot tell, but probably
all three .ch files should be standard.
* contrib/hbwin/tests/testax.prg
* contrib/hbwin/tests/testcom1.prg
* contrib/hbwin/tests/testcom2.prg
* contrib/hbwin/tests/testcopy.prg
* contrib/hbwin/tests/testevnt.prg
* contrib/hbwin/tests/testgdi.prg
* contrib/hbwin/tests/testmapi.prg
* contrib/hbwin/tests/testprn.prg
* contrib/hbwin/tests/testreg.prg
* contrib/hbwin/tests/testsvc.prg
* contrib/hbzebra/tests/testwin.prg
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/testmg.prg
% no longer use #include to include standard
package headers. Rely on autoload triggered
by .hbc file or #require directive.
; WARNING: The autoload feature for standard package
headers should be generally harmless, but
it might as well pose an INCOMPATIBILITY
if user code redefines or simply uses
macro names/commands in user code that
collide with the ones defined in these
standard headers.
If this comes up, avoid using .hbc files,
until your code is changed/fixed to avoid
name collisions either by renames or
undeffing the standard ones.
As consequence it's even more important
to pay attention to macro namespaces used
in package headers to avoid accidental
collision with user code. This was standard
practice for function/class names, now it
is extended for macros/user commands.
* contrib/hbwin/hbole.ch
! missing svn props
* contrib/hbwin/hbsim.ch
* contrib/hbfoxpro/hbfoxpro.ch
* contrib/hbmysql/mysql.ch
! added missing self-guards
This was a requirement, but now it really must
be done, if a header wants to be put in headers=
directive in a .hbc file for auto-inclusion.
* contrib/hbmysql/tests/dbf2mysq.prg
! missing #require directive
* contrib/hbblat/hbblat.hbc
* contrib/hbblink/hbblink.hbc
* contrib/hbbz2/hbbz2.hbc
* contrib/hbcairo/hbcairo.hbc
* contrib/hbcurl/hbcurl.hbc
* contrib/hbexpat/hbexpat.hbc
* contrib/hbfimage/hbfimage.hbc
* contrib/hbfoxpro/hbfoxpro.hbc
* contrib/hbgd/hbgd.hbc
* contrib/hbhpdf/hbhpdf.hbc
* contrib/hblzf/hblzf.hbc
* contrib/hbmagic/hbmagic.hbc
* contrib/hbmlzo/hbmlzo.hbc
* contrib/hbmxml/hbmxml.hbc
* contrib/hbmysql/hbmysql.hbc
* contrib/hbmzip/hbmzip.hbc
* contrib/hbnetio/hbnetio.hbc
* contrib/hbpgsql/hbpgsql.hbc
* contrib/hbsqlit3/hbsqlit3.hbc
* contrib/hbssl/hbssl.hbc
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbxdiff/hbxdiff.hbc
* contrib/hbzebra/hbzebra.hbc
* contrib/rddsql/rddsql.hbc
+ added .ch headers to .hbc files for
autoload.
; For some contribs it still has to do
for several reasons, f.e. .ch file overrides
standard features so they must stay optional,
or they must be optional for other reasons,
or they have multiple headers and I didn't
decide yet which one of those should be
standard.
* contrib/hbexpat/tests/test.prg
* contrib/hbexpat/tests/tohash.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/antialia.prg
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/test_out.prg
* contrib/hbgd/tests/testdpi.prg
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/tpoly.prg
* contrib/hbhpdf/tests/harupdf.prg
* contrib/hblzf/tests/test.prg
* contrib/hbmlzo/tests/test.prg
* contrib/hbpgsql/tests/cache.prg
* contrib/hbpgsql/tests/stress.prg
* contrib/hbpgsql/tests/test.prg
* contrib/hbsqlit3/tests/authoriz.prg
* contrib/hbsqlit3/tests/backup.prg
* contrib/hbsqlit3/tests/blob.prg
* contrib/hbsqlit3/tests/hooks.prg
* contrib/hbsqlit3/tests/metadata.prg
* contrib/hbsqlit3/tests/pack.prg
* contrib/hbsqlit3/tests/sl3_test.prg
* contrib/hbssl/tests/bio.prg
* contrib/hbssl/tests/crypt.prg
* contrib/hbssl/tests/digest.prg
* contrib/hbssl/tests/encode.prg
* contrib/hbssl/tests/pem.prg
* contrib/hbssl/tests/test.prg
* contrib/hbxdiff/tests/test.prg
* contrib/hbxdiff/tests/test2.prg
* contrib/hbxdiff/tests/test3.prg
* contrib/hbzebra/tests/testcair.prg
* contrib/hbzebra/tests/testhpdf.prg
* contrib/hbzebra/tests/testwin.prg
* contrib/sddmy/tests/test1.prg
* contrib/sddoci/tests/test1.prg
* contrib/sddodbc/tests/test1.prg
* contrib/sddodbc/tests/test2.prg
* contrib/sddsqlt3/tests/test1.prg
% no longer use #include to include standard
package headers. Rely on autoload triggered
by .hbc file or #require directive.
* contrib/hbblat/hbblat.hbc
* contrib/hbblink/hbblink.hbc
* contrib/hbbz2/hbbz2.hbc
* contrib/hbcairo/hbcairo.hbc
* contrib/hbcurl/hbcurl.hbc
+ specified automatic headers
* contrib/hbcurl/tests/ftp_uldl.prg
! added missing #require
* contrib/hbcairo/tests/fancytxt.prg
* contrib/hbcairo/tests/glyphdbg.prg
* contrib/hbcairo/tests/hellow.prg
* contrib/hbcairo/tests/lightning.prg
* contrib/hbcairo/tests/table.prg
* contrib/hbcurl/tests/ftp_uldl.prg
% do not explicitly #include headers
; Please note this will require that you build
these samples using hbmk2 and using .hbc files,
or run them as hbrun scripts.
* contrib/hbodbc/hbodbc.hbc
* minor
* utils/hbmk2/hbmk2.prg
+ automatically load headers listed in .hbc file
when executing an .hb script
* contrib/hbodbc/tests/testodbc.prg
% #include "sql.ch" no longer needed either when
built to an executable or when executed as script
* contrib/hbodbc/hbodbc.hbc
+ added experimental headers= line
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
+ added support for new .hbc directive:
-headers=<.ch files>
wildcards accepted.
hbmk2 will automatically include the listed headers
for all source files. It will be more efficient than
including them to each file, as they are processed
only once (well, at least I hope this optimization
is done by Harbour PP/compiler). It also makes it
unnecessary to manually #include headers that belong
to a module/package.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_array.prg
* utils/hbtest/rt_class.prg
* utils/hbtest/rt_date.prg
* utils/hbtest/rt_file.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_main.ch
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_mt.prg
* utils/hbtest/rt_str.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_trans.prg
% use the same HBTEST command format for tests as
available for contribs and 3rd parties.
It made source easier to edit and code size
smaller by 111KB.
+ contrib/xhb/xhwinprn.prg
- contrib/xhb/xhw32prn.prg
* contrib/xhb/xhb.hbp
* renamed to avoid using '32' when referring to Windows API
* src/rtl/gtcrs/gtcrs.c
* src/rtl/gtos2/gtos2.c
* deleted excessive {}
* commented code converted to #if 0 blocks
* formatting
+ contrib/xhb/xhbmisc.prg
* contrib/xhb/xhb.hbp
* contrib/xhb/xhbcomp.prg
* moved Occurs() to separate source
+ implemented optimizations and fix from Przemek.
original behavior retained under HB_CLP_STRICT built-time
branch.
* contrib/xhb/xhb.hbx
* contrib/xhb/xhbcomp.prg
+ added OCCURS() from xhb which appears there in CT lib,
but it's not a CT function. Reworked to meet Harbour standards
and to avoid compiler warning.
* harbour/src/vm/classes.c
! fixed passing be reference pseudo object variables which
are not bound with real messages but are redirected to
class error handler
* contrib/hbct/dummy.c
* contrib/hbmemio/memio.c
* src/rdd/dbffpt/dbffpt1.c
* src/rtl/gtcrs/gtcrs.c
* use "{ ; }" for empty function body to be uniform
in whole source base
* harbour/src/vm/cmdarg.c
* eliminated unnecessary initialization
* harbour/src/common/hbfopen.c
* added workaround for missing _wopen() in XCC
* harbour/config/win/xcc.mk
* updated RC include paths
; TOFIX: it's still wrong and hbmk2 cannot be compiled
and xRC fails opening ../../package/harb_win.rc
* harbour/contrib/hbwin/hbolesrv.c
* do not include <tchar.h>, current code does not use
any tchar functions and macros and some older MinGW
versions are broken and this files breaks some standard
unicode macros like TEXT()
- ChangeLog
+ ChangeLog.txt
* bin/commit.hb
* doc/howtorel.txt
* doc/howtorep.txt
* package/harbour.spec
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/RELNOTES.txt
* README.txt
* src/pp/hbpp.c
* tests/fixcase.hb
* website/changelog.html
* website/index.html
* website/news.html
* website/news1.html
* website/snapshot.html
* renamed ChangeLog to ChangeLog.txt
; TODO: Please update SVN URL references in google groups web headers:
.../ChangeLog -> .../ChangeLog.txt
.../README -> .../README.txt
; NOTE: Also update your local scripts to use ChangeLog.txt instead
of ChangeLog. Or use bin/hbcommit.hb script, which supports
both.
- w64-make.exe
* README.txt
% deleted. it was my private build and it didn't offer
much over win-make.exe.
- README
+ README.txt
* config/global.mk
* config/postinst.hb
* contrib/hbtpathy/telepath.prg
* contrib/hbtpathy/tests/testtp.prg
* doc/gmake.txt
* doc/howtorep.txt
* doc/oldnews.txt
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/RELNOTES.txt
* tests/hbdoctst.prg
* website/menu/harbour-menu.js
* website/news.html
* renamed README to README.txt
This will make it easy for non-*nix users to open it,
it also makes it clear that we're talking about a
document when referring to it