* source/compiler/hbcomp.c
! Changed error messaged to go to stderr on non-Unix
platforms too. With this change the Harbour compiler
uses the same output on non-Unix platforms as on Unixes.
With Przemek's previous and now this change, the
compiler uses stdout/stderr in the standard way
(messages to stdout, warnings/errors to stderr),
instead of being more or less CA-Cl*pper compatible.
(in CA-Cl*pper startup msg plus some info went to
stderr and errors/warnings and some other progress
info went to stdout)
* source/compiler/hbusage.c
+ Added -f* switches to help screen.
* source/compiler/cmdcheck.c
! -r=<max> -> -r:<max>
* contrib/libct/screen2.c
* contrib/libct/cursor.c
* contrib/libct/ctstrfil.c
! Fixed MSVC warnings.
* contrib/libct/make_b32.bat
* contrib/libct/make_vc.bat
* contrib/htmllib/Makefile.bc
* Changed to not generate .ppo output on build.
* contrib/libct/make_b32.bat
* contrib/libct/make_vc.bat
- contrib/libct/makefile.bc
- contrib/libct/makefile.vc
+ contrib/libct/common.mak
+ contrib/maketpl.b32
+ contrib/maketpl.vc
+ contrib/maketpl.mak
+ Added BC/VC non-GNU generic make script for contribs.
+ Using the above generic make scripts to build LIBCT.
Notice BC/VC now uses one make file per contrib project
named common.mak. The two helper batch files are essentially
identical for BC and VC, and there is no reduancy or any
complexity in common.mak (they much resemble in content
to Makefile).
Notice that with this new system users have to call
make_[b32|vc].bat INSTALL in order to get the libs and
headers installed in the final lib/header destinations.
(This step was previously done automatically by the .bat
files in LIBCT - or maybe not in other contribs.)
The new scripts also have a generic CLEAN functionality.
; Thanks Marek Paliwoda for the generic make scripts.
* harbour/make_xmingw.sh
* minor modification in one message
+ harbour/make_rpmw32.sh
+ harbour/harbour-w32-spec
+ added script to build RPMs with cross build of Harbour for MS-Windows
using MinGW32 cross compiler.
make_rpmw32.sh should create harbour-w32-<ver>.i[345]86.rpm which
can be installed with platform native harbour RPMs.
This RPM contains Harbour libraries compiled for Win32 and
set of hbw* scripts which should be used instead of standard hb*
ones to create MS-Windows binaries. It means that you can create
standard Linux binaries and MS-Windows binaries in the same session
without setting/changing any additional environment variables, f.e:
hbmk -n -w -es2 test.prg
will create Linux binaries and:
hbwmk -n -w -es2 test.prg
will create binaries for MS-Windows.
Please also remember that if you create and install RPMs with Harbour
for WinCE/PocketPC (make_rpmce.sh) then hbce* scripts will create
WinCE/PocketPC binaries, f.e.:
hbcemk -n -w -es2 test.prg
* harbour/source/common/hbfsapi.c
! fixed DJGPP builds
* use _chmod() if available (for long file name support)
or _dos_getfileattr() instead of direct interrupt calls
* harbour/include/hbwince.h
* put functions declarations inside HB_EXTERN_BEGIN / HB_EXTERN_END
+ harbour/include/hbwmain.c
+ added WinMain() to main() wrapper
* harbour/include/hbexprb.c
* harbour/source/common/expropt1.c
! fixed typo reported by Chen
* harbour/source/pp/hbppgen.c
* harbour/source/main/harbour.c
* harbour/utils/hbpp/hbpp.c
* use hbwmain.c when main() is not supported by C compiler/platform
* harbour/source/rtl/gtwin/gtwin.c
* include wincon.h in all builds except LCC
* harbour/source/rtl/fserror.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/filesys.c
* use HB_OS_WIN_32_USED as in other files (still on TOFIX list)
* harbour/source/rtl/seconds.c
+ added HB_OS_WIN_32_USED
* harbour/source/compiler/hbcomp.c
! fixed typo: stderr was used instead of stdout
* harbour/utils/hbmake/hbmlang.c
* pacify some other data lost conversion warnings by explicit casting
* harbour/source/compiler/harbour.y
* cleaned explicit comparison with TRUE value
* harbour/source/compiler/harbour.yyc
* rebuild with all recent cleanup in harbour.y
* harbour/include/hbcomp.h
* harbour/include/hbmacro.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/harbour.y
* harbour/source/vm/macro.c
* harbour/source/vm/garbage.c
* harbour/source/vm/hvm.c
* harbour/source/vm/classes.c
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rtl/binnum.c
* harbour/source/rtl/gtwvt/gtwvt.c
* added explicit casting or changed some declarations to avoid
warning about possible data lost in conversions
* harbour/source/rtl/direct.c
% optimized directory array creation and fixed one TOFIX note
I left few warnings intentionally to mark places which should be
updated in the future (f.e. HB_SYMBOLSCOPE translations).
Victor, if you can please make build test with MSVC builds and
send the list of warnings which still exist to harbour-devel.
* harbour/include/hbapi.h
* harbour/source/common/hbstr.c
+ added hb_strlow()
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/filesys.c
! fixed _SET_DIRSEPARATOR behavior - now it's always set to default
OS directory separator what means no translations. If you want to
enable some translations then it should be set to other value, f.e.
in *nixes:
set( _SET_DIRSEPARATOR, "\" )
enables translations of "\" in paths to "/"
* harbour/source/main/harbour.c
+ added support for new compiler switches:
- Filename casing:
-fn:l (lower)
-fn:u (upper)
-fn- (disable - default)
-fn (disable - default)
- Directory casing
-fd:l (lower)
-fd:u (upper)
-fd- (disable - default)
-fd (disable - default)
- Path separator:
-fp:<char>
-fp (default: OS defined)
- Filename space trimming:
-fs (enable)
-fs- (disable - default)
These switches works only in standalone compiler.
When compiler is linked with HVM and RTL then corresponding
_SET_* switches are used instead.
* harbour/source/rtl/cdpapi.c
* some minor speed improvement
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* use hb_cdpSelect() instead of direct accessing hb_cdp_page variable
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
* replaced all direct access to hb_set structure with functions
Now it's possible to link bmdbfcdx with harbour.dll but because
it still access hb_cdp_page then only if linker supports auto
import conversions
* harbour/source/common/hbfsapi.c
* harbour/source/main/harbour.c
* harbour/source/pp/hbppgen.c
* harbour/utils/hbpp/hbpp.c
* added filename conversion (hb_fsNameConv()) to hb_fsFileExists()
function
* harbour/include/hbapifs.h
+ harbour/source/common/hbfopen.c
* harbour/source/common/Makefile
* harbour/common.mak
+ added hb_fopen() function - it's a wrapper to fopen() function but
calls internally hb_fsNameConv()
* harbour/source/pp/hbppgen.c
* harbour/source/pp/ppcore.c
* harbour/source/common/hbtrace.c
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/genhrb.c
* harbour/source/compiler/gencobj.c
* harbour/source/compiler/genobj32.c
* harbour/source/compiler/genc.c
* harbour/source/rtl/gtchrmap.c
* harbour/source/vm/fm.c
* use hb_fopen() instead of fopen()
* harbour/source/rtl/cdpapi.c
* changed accented character handling and multibyte character
comparison to make some operations like:
dbSeek(cVal)
while ordKeyVal() = cVal
...
enddo
safe also with such CDPs
* contrib/tip/sendmail.prg
* cleanup to compile with a std harbour build, removed the
"include "hbcompat.ch"", and added the #translate for LIKE found in the
hbcompat.ch file, to keep it easy and clean when comparing from/to the
xHarbour version.
* doc/howtosvn.txt
+ Added few propset command. Would need some more cleanup.
* contrib/win32/test/testw32p.prg
; Formatting
* source/common/hbfsapi.c
! Minor fixes.
* source/compiler/hbusage.c
+ Added (c) after copyright.
- lib/b16
- obj/b16
- Removed not needed directories.
* utils/hbpp/pragma.c
* source/rtl/binnum.c
* source/rtl/direct.c
! Some VS2005 -O2 warnings.
One TOFIX added at the same time, since DIRECTORY()
has a problem returning file sizes greater than 2GB.
* include/hbapifs.h
* source/common/hbfsapi.c
! Added missing HB_EXPORTs.
+ Added hb_fsFileExists(). This is the preferred way to check
for the existence of a file, because it is fast and will
find a file even of directory traversal is not possible
for the file's directory. Works the same way as file
existence check in most other tools.
; NOTE: DOS branch was not compiled or tested (it is a
rewrite of a tested ASM function though).
* common.mak
* include/hbextern.ch
* source/rtl/Makefile
+ source/rtl/hbfile.c
+ Added HB_FILEEXISTS() Harbour level function to check
for the existence of a file. This works better than
FILE() in most situations, but it doesn't accept any
wildcards.
* source/compiler/gencobj.c
! Fixed to not used access(). Using hb_fsFileExists() instead.
* include/hbsetup.h
- Removed HOST_OS_UNIX_COMPATIBLE which was a misleading
alias for OS_UNIX_COMPATIBLE.
* source/compiler/hbcomp.c
% HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE
* common.mak
* harbour-ce-spec
* make_xmingw.sh
* make_xmingwce.sh
* makefile.bc
* makefile.gc
* makefile.vc
* source/pp/Makefile
- source/pp/ppgen.c
+ source/pp/hbppgen.c
! executable ppgen renamed to hbppgen.
* samples/pe/editorlo.c
* samples/pe/pe.prg
+ samples/pe/bld_b32.bat
+ Added BCC build batch file.
! Fixed to compile under current Harbour.
! Fixed filename casing.
! Fixed several warnings (quite some signedness problem still remain).
; This is a very nice editor written in C (Harbour callable),
I think it is the work of Ryszard.
* samples/hscript/bld_b32.bat
* samples/hscript/hscript.prg
* samples/hscript/dir.hs
* samples/hscript/multiply.hs
* samples/hscript/ugly.hs
* samples/hscript/hello.hs
! Fixed build batch file.
! Fixed to use NFLib file IO rather than libmisc, because
latter was broken (it is a clone of the NFLib file IO).
! Fixed scripts to use Start instead of Main as an entry
point otherwise __hrbRun() got confused and called the
app Main().
! Fixed some other problems to make it run.
* contrib/win32/w32_prn.c
! Changed hb_retnl() -> hb_retptr() for Windows handles.
! Changed hb_parnl() -> hb_parptr() for Windows handles.
; Thanks Przemek.
; The GC-ed version is yet to be done.
- bldcmncf.sh
* make_gcc.sh
% bldcmncf.sh integrated into make_gcc.sh.
After consulting with Przemek.
* include/clipdefs.h
! Fixed HANDLE clash with Windows headers after recent modification.
Notice that I've left HB_VMHANDLE as ULONG for now. It's enough
to revisit this when implementing those VM API calls.
Another notice that because of this name clash legacy Clipper
VM API calls in Harbour won't work with Windows headers,
native Harbour VM API calls will do work however.
- make_xcemgw.sh
+ make_xmingwce.sh
* Rename to be in sync with make_xmingw.ch