* contrib/hbbmcdx/bmdbfcdx.c
* source/rdd/dbfcdx/dbfcdx1.c
! fixed return value after rt error.
* Added rt error as in clipper when OrdkeyVal is greater than 240, with default
capabilities as in clipper.
code to test it:
FUNCTION MAIN()
LOCAL i
LOCAL nSec := SECONDS()
REQUEST DBFCDX
RddSetDefault( "DBFCDX" )
DBCREATE( "__MYTEST", { { "test", "C", 241, 0 } } )
USE __MYTEST
INDEX ON FIELD->Test TO __MYTEST
FOR i := 1 TO 10
APPEND BLANK
FIELD->test := Replicate( "1", 240 ) + Str( 10 - i, 1 )
NEXT
DbGoTop()
? &(OrdKey())
? "Length of &(OrdKey()) :" + Str( Len( &(OrdKey()) ) )
? OrdKeyVal()
? "Length of OrdKeyVal() :" + Str( Len(OrdKeyVal()) )
WHILE ! EOF()
? Right( FIELD->Test, 1 )
DbSkip()
ENDDO
USE
FERASE( "__MYTEST.DBF" )
FERASE( "__MYTEST.CDX" )
RETURN NIL
* contrib/xhb/Makefile
* contrib/xhb/common.mak
+ contrib/xhb/xhbcopyf.c
+ contrib/xhb/tests
+ contrib/xhb/tests/testcp.prg
+ contrib/xhb/tests/bld_b32.bat
+ contrib/xhb/tests/bld_vc.bat
+ Added XHB_COPYFILE() function, which is (more or less)
compatible with xhb's extended __COPYFILE() function.
Thanks to Toninho for the initial code and hint.
* harbour/make_rpm.sh
* use rpm to test if curl-devel package is installed
* harbour/include/hbapi.h
* harbour/source/common/hbstr.c
+ added hb_strduptrim() and hb_strlentrim()
* harbour/source/rdd/dbfcdx/dbfcdx1.c
! control total length of KEY and FOR expression together
to be compatible with other CDX drivers.
Total length of both expressions cannot exceed 512 bytes
(with two trailing ASCII 0 characters)
* make_vc.mak
* Synced with BCC to build in ST mode by default.
; TOFIX: There seems to be an old problem where contrib
.prg files won't get rebuilt after a modification
by running make_vc.bat (MSVC only).
Marek, if you see this, could you take a look at it?
* make_rpm.sh
! Attempt to detect libcurl.
[TOMERGE 1.0]
* contrib/hbziparc/hbziparc.prg
* contrib/hbwin/win_tole.prg
* contrib/hbvpdf/hbvpdf.prg
* Some STATIC vars converted to THREAD STATIC.
* aReport renamed to s_aReport.
(is it a good idea to name 'ts_name' THREAD STATIC
vars?)
* utils/hbmake/hbmake.prg
! Patch by Bill Robertson applied.
This should eliminate any messing with harbour.cfg.
* contrib/hbbmcdx/bmdbfcdx.c
* source/rdd/dbfcdx/dbfcdx1.c
! fixed generation error when length of key is greater than 256 as Clipper.
instead of wait for internal error.
* Used defined errors instead of hardcoded numbers.
* harbour/source/vm/fm.c
+ harbour/source/vm/dlmalloc.c
+ added alternative memory manager written by Doug Lea
It can be activated by recompiling Harbour with HB_FM_DL_ALLOC macro.
Please make test on different platforms with different C compilers.
Linux users will not benefit from it because the default GLIBC MM
is derived from a version of code.
NOTE: the results may strongly depend on total memory allocation
and will be different then in simple memory tests.
* bin/hb-mkslib.sh
* make_gcc.sh
* make_gnu.sh
* make_tgz.sh
* make_xmingw.sh
* make_xmingwce.sh
* contrib/make_gcc_all.sh
* contrib/mtpl_gcc.sh
- Removed unnecessary explicit SunOS detection.
- Removed unnecessary explicit Darwin detection (to be tested).
* contrib/make_gcc_all.sh
! Fixed 'cyg' platform in contrib make files.
* make_tgz.sh
! Fixed .tgz generation for SunOS. Thanks Przemek.
I simply copied the Linux method here, I'm not sure 64-bit
code would apply here, too.
! Fix for SunOS to link against curses instead of ncurses lib.
Someone pls verify me.
; TOFIX: make_tgz.sh in OpenSolaris still has these errors:
ld: fatal: relocations remain against allocatable but non-writable sections.
ld: fatal: library -lharbour: not found
* bin/hb-mkslib.sh
* make_xmingwce.sh
* make_gcc.sh
* make_xmingw.sh
* make_gnu.sh
* make_tgz.sh
+ Added SunOS platform detection as an attempt to make
make_tgz.sh work on OpenSolaris.
; NOFIX: Still, when trying to use make_tgz.sh in OpenSolaris,
I'm getting these errors:
---
ld: fatal: library -lharbour: not found
ld: fatal: library -lncurses: not found
---
gtar: wheel: %s: Invalid group
* debian/changelog
* Synced with 1.0.1.
* source/pp/ppcore.c
! Minor typo in one PP error message. (sync 1.0.1)
* Cleaned ":" from all PP error/warning messages to be
friendly with Eclipse.
* source/compiler/hbgenerr.c
* Cleaned some more ":" chars from compiler error/warning
messages to be friendly with Eclipse.
; NOTE: Few more still remain. If you have an idea how to rephrase these, pls tell:
"Bound error: '%s'"
"Syntax error: '%s'"
"Syntax error: \"%s at '%s'\""
"Invalid lvalue: '%s'"
"Invalid use of '@' (pass by reference): '%s'"
"3Incompatible type in assignment to declared array element expected: '%s'"
"4Suspicious type in assignment to declared array element expected: '%s'"
* utils/hbmake/hbmake.prg
* Updated by large patch from Bill Robertson.
Adds several enhancements, fixes and optimizations
to the previous version.
* utils/hbdoc/hbdoc.prg
* utils/hbmake/hbmake.prg
* utils/hbrun/hbrun.prg
* Changed the way version number is shown.
* utils/hbmake/hbmake.prg
* Updated MT lib lists. (untested)
* make_b32.mak
* Minor sync with make_vc.mak.
* make_vc.mak
* Attempt to implement hbvmmt.lib just like in
make_b32.mak to make them synced.
* harbour/utils/hbtest/rt_class.prg
! fixed description message
* harbour/common.mak
* harbour/utils/hbtest/Makefile
* harbour/utils/hbtest/hbtest.prg
+ harbour/utils/hbtest/rt_mt.prg
+ added simple MT test for fast checking MT builds
NOTE: DMC builds crashes with and without direct TLS access
If possible it has to be fixed. Now MT mode is not supported
for this compiler.
* harbour/include/hbthread.h
+ added DMC to list of compilers which can use __declspec( thread )
+ automatically use TLS for Linux and GLIBC >= 2.6 on x86* machines
* harbour/include/hbthread.h
* harbour/source/vm/estack.c
* harbour/source/vm/thread.c
! clean up typos in OS2 builds
* source/compiler/hbgenerr.c
* Most ':' chars removed from Harbour compiler error messages.
Few still remain, where I wasn't sure of the exact meaning
or final layout of the texts.
Warnings are also a TODO yet.
Please review.
* doc/gmake.txt
* doc/gtapi.txt
* doc/hbmake.txt
* doc/windll.txt
* Useless changes.
* make_vc.mak
* Some untested MT support for MSVC.
* include/hbdefs.h
! Removed mistakenly committed experiment to pull in
MT related libs. This caused the strange build problem due
to empty lib name passed to #pragma. This could work
in case someone wanted to deal with it in the future.
+ harbour/tests/memtst.prg
+ added some simple tests for memory manager
* harbour/tests/speedtst.prg
* reduced the size of allocated block size to not test C-RTL
memory manager but HVM speed
* harbour/include/hbthread.h
* added for x86@32 PTHREADS builds HB_ATOM_GET() and HB_ATOM_SET()
so they can be used together with HB_ATOM_INC()/HB_ATOM_DEC()
also for x86@64 but with reduced to 32bit reference counter.
* make_b32.mak
* contrib/mtpl_b32.mak
+ Added -vG -Od to debug flags (CodeGuard and no optimization
if HB_BUILD_DEBUG is 'yes').
; I couldn't test it, because I'm getting a fatal error
when trying with my BCC build file.
Fatal: Unable to open file '.OBJ'
* harbour/include/hbthread.h
+ added assembler MT version of HB_ATOM_INC/HB_ATOM_DEC operation
for x86@32
* harbour/source/vm/fm.c
! removed #undef HB_ATOM_INC/HB_ATOM_DEC I left by mistake
* harbour/tests/speedtst.prg
* small update in speedtst.prg. It should be enough to make test and
compare MT and ST mode speed.
Please make test with different C compiler and send results to
devel list.
* harbour/bin/pack_src.sh
* added file list to archive so it's possible to recreate it later without SVN data
* harbour/common.mak
* harbour/make_b32.mak
* harbour/make_gcc.mak
+ added HBVMMT library for default builds
BCC version not tested - please test.
* harbour/source/vm/hvm.c
* moved language and code page setting before class and error initialization
* harbour/source/rtl/fserror.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
! fixed overloading FS error codes by other operations, f.e. accessing
TLS data by OS API function call
* harbour/include/hbsetup.h
* accept both settings: HB_FM_STATISTICS and HB_FM_STATISTICS_OFF
without errors
* harbour/bin/postinst.sh
* added small trick to make HBFM lib compilation not dependent on
default HB_FM_STATISTIC settings
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
+ added C function hb_vmIsMt()
* harbour/source/vm/cmdarg.c
* report MT HVM status when program is executed with //INFO
parameter
* harbour/source/vm/fm.c
! fixed memory statistic MT protection in hb_xrealloc() operation
* harbour/config/w32/owatcom.cf
* use echo instead of echo. for non empty output.
* harbour/include/hbextern.ch
* harbour/source/vm/thread.c
+ added .prg function hb_threadTerminateAll() - it sends QUIT request
to each HVM thread and waits for their termination. Can be executed
only by main HVM thread.
2008-09-14 16:30 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
* contrib/hbvpdf/hbvpdf.prg
* contrib/hbvpdf/hbvpdf.ch
* contrib/hbvpdf/test/pdf_demo.prg
! Mostly a cleanup of the code, added some functions to avoid the use
of publics vars.
* make_b32.mak
+ Now setting 'HB_BUILD_ST = no' will generate an MT build.
TODO: Change the default to 'yes' should be the way to go
IMO.
* bin/bld.bat
+ Added cw32mt.lib for BCC32 to make it work for MT Harbour.
; I hope this won't break ST Harbour builds, a quick tests
proved not.
* make_b32.mak
* make_vc.mak
* make_gcc.mak
* A change with the goal to further clean duplicate build
controlling options and make the configuration of GNU
and non-GNU build systems closer. INCOMPATIBLE.
Builders should make the following changes in their
configurations and build scripts:
- CFLAGS -> C_USR
- CLIBFLAGS -> C_USR
- LDFLAGS -> L_USR
- HARBOURFLAGS -> PRG_USR
* BCCDLL_WITH_DYNRT -> HB_BCCDLL_DYNRT
Shouldn't this be the default, if it's marked as 'recommended'?
; Basic rules for builders is now pretty simple:
C_USR for .c options, L_USR for link options,
PRG_USR for .prg options.
; L_USR doesn't work the same way as in GNU-make, yet.
; Also expect, that in the future - even before 1.1 release -
these switches might be also standardized to be
HB_USR_C, HB_USR_PRG, HB_USR_L, HB_USR_A.
+ contrib/hbnf/tests/nftest.prg
+ Adapted hbnf test program from xhb.
* contrib/hbnf/common.mak
! File list synced with the GNU-make one.
[TOMERGE 1.0]
* source/common/hbver.c
* "Intl." removed from the version number. Besides mimicing
CA-Cl*pper there is not point in including this, since
all Harbour compilers are by default international version.