diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ad87fd74bf..3029ec8a32 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,34 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2008-09-24 00:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * tests/memtst.prg + + Added #include "simpleio.ch" to allow output redirection. + + * bin/bld.bat + * bin/bld_os2.cmd + * Removed any HB_GT_LIB "selection" logic. Selection is to + be done from source code, from now on all supported core GTs + are included in the lib list. + * Few other minor cleanups. + + * source/vm/cmdarg.c + * Commented code turned into HB_C52_STRICT branch. + + * source/vm/vmmt/Makefile + ! Fixed cemgw -> mingwce + + * config/dos/global.cf + * config/os2/global.cf + * config/w32/global.cf + % Removed unnecessary logic to select default GT. This is + done in Harbour source code now. + + ; TOFIX: After MT changes, mingw32 build gives this new error: + make: *** mainstd: No such file or directory. Stop. + make[3]: *** [first] Error 2 + make[2]: *** [first] Error 2 + 2008-09-23 21:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * use HB_IMPORT instead of hardcoded attributes in hb* scripts diff --git a/harbour/bin/bld.bat b/harbour/bin/bld.bat index 33e7511acc..cdead2fc79 100644 --- a/harbour/bin/bld.bat +++ b/harbour/bin/bld.bat @@ -3,14 +3,6 @@ rem rem $Id$ rem -rem --------------------------------------------------------------- -rem This is a generic template file, if it doesn't fit your own needs -rem please DON'T MODIFY IT. -rem -rem Instead, make a local copy and modify that one, or make a call to -rem this batch file from your customized one. [vszakats] -rem --------------------------------------------------------------- - rem --------------------------------------------------------------- rem Template to build a final Harbour executable, using Harbour rem with the C code generation feature, then calling the proper C @@ -22,7 +14,6 @@ rem --------------------------------------------------------------- rem if "%HB_ARCHITECTURE%" == "" set HB_ARCHITECTURE=w32 rem if "%HB_COMPILER%" == "" set HB_COMPILER=mingw -rem if "%HB_GT_LIB%" == "" set HB_GT_LIB= if "%HB_BIN_INSTALL%" == "" set HB_BIN_INSTALL=..\bin if "%HB_LIB_INSTALL%" == "" set HB_LIB_INSTALL=..\lib @@ -42,19 +33,16 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include echo. echo Notes: echo. - echo - 'filename' is the .prg filename *without* extension. + echo - 'filename' is the .prg filename _without_ extension. echo - Don't forget to make a MAIN() function for you application. echo - This batch file assumes you are in some directory off the main echo harbour directory. - echo - Environment variables HB_ARCHITECTURE, HB_COMPILER, HB_GT_LIB - echo should be set. Setting HB_GT_LIB is optional. - echo The following values are currently supported: + echo - Environment variables HB_ARCHITECTURE, HB_COMPILER should be set. echo. echo HB_ARCHITECTURE: - echo - dos (HB_GT_LIB=gtdos by default) - echo - w32 (HB_GT_LIB=gtwin by default) + echo - dos + echo - w32 echo. - pause echo HB_COMPILER: echo - When HB_ARCHITECTURE=dos echo - djgpp (Delorie GNU C, DOS 32-bit) @@ -68,16 +56,6 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include echo - icc (IBM Visual Age C++, Windows 32-bit) echo - msvc (Microsoft Visual C++, Windows 32/64-bit) echo - watcom (OpenWatcom, Windows 32-bit) - echo. - pause - echo HB_GT_LIB: - echo - gtstd (Standard streaming) (for all architectures) - echo - gtdos (DOS console) (for dos architecture) - echo - gtwin (Windows console) (for w32 architecture) - echo - gtwvt (Windows GUI console) (for w32 architecture) - echo - gtpca (PC ANSI console) (for all architectures) - echo - gtcrs (Curses console) (for linux, w32 architectures) - echo - gtsln (Slang console) (for linux, w32 architectures) goto END :NO_ARCH @@ -106,12 +84,8 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include :A_DOS - if not "%HB_GT_LIB%" == "" set _HB_GT_LIB=%HB_GT_LIB% - if not "%HB_ARCHITECTURE%" == "dos" goto A_W32 - if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtdos - if not "%HB_COMPILER%" == "djgpp" goto A_DOS_DJGPP_NOT echo %1.c > build.tmp @@ -120,7 +94,10 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include echo -lhbdebug >> build.tmp echo -lhbvm >> build.tmp echo -lhbrtl >> build.tmp - echo -l%_HB_GT_LIB% >> build.tmp + echo -lgtdos >> build.tmp + echo -lgtcgi >> build.tmp + echo -lgtstd >> build.tmp + echo -lgtpca >> build.tmp echo -lhblang >> build.tmp echo -lhbrdd >> build.tmp echo -lhbrtl >> build.tmp @@ -142,7 +119,7 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include if not "%HB_COMPILER%" == "rsx32" GOTO A_DOS_RSX32_NOT - gcc %1.c -Zrsx32 %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib + gcc %1.c -Zrsx32 %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtdos -lgtcgi -lgtstd -lgtpca -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib goto END :A_DOS_RSX32_NOT @@ -156,7 +133,10 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include echo LIB hbdebug.lib >> build.tmp echo LIB hbvm.lib >> build.tmp echo LIB hbrtl.lib >> build.tmp - echo LIB %_HB_GT_LIB%.lib >> build.tmp + echo LIB gtdos.lib >> build.tmp + echo LIB gtcgi.lib >> build.tmp + echo LIB gtstd.lib >> build.tmp + echo LIB gtpca.lib >> build.tmp echo LIB hblang.lib >> build.tmp echo LIB hbrdd.lib >> build.tmp echo LIB hbmacro.lib >> build.tmp @@ -177,15 +157,11 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include if not "%HB_ARCHITECTURE%" == "w32" goto A_OS2 - if "%HB_GT_LIB%" == "" set _HB_GT_LIB=gtwin - - if "%HB_COMPILER%" == "bcc32" bcc32 -O2 -d %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib %_HB_GT_LIB%.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib - - if "%HB_COMPILER%" == "gcc" gcc %1.c -o%1.exe %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib - if "%HB_COMPILER%" == "mingw" gcc %1.c -o%1.exe %C_USR% -mno-cygwin -I%HB_INC_INSTALL% %HB_INC_TEMP% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib - if "%HB_COMPILER%" == "rsxnt" gcc %1.c -Zwin32 %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib - - if "%HB_COMPILER%" == "msvc" cl -TP -W3 %C_USR% -I%HB_INC_INSTALL% %1.c /link /subsystem:CONSOLE /LIBPATH:%HB_LIB_INSTALL% %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib %_HB_GT_LIB%.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib wsock32.lib advapi32.lib gdi32.lib + if "%HB_COMPILER%" == "bcc32" bcc32 -O2 -d %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib + if "%HB_COMPILER%" == "msvc" cl -TP -W3 %C_USR% -I%HB_INC_INSTALL% %1.c /link /subsystem:CONSOLE /LIBPATH:%HB_LIB_INSTALL% %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtcgi.lib gtgui.lib gtpca.lib gtstd.lib gtwin.lib gtwvt.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib wsock32.lib advapi32.lib gdi32.lib + if "%HB_COMPILER%" == "mingw" gcc %1.c -o%1.exe %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtcgi -lgtgui -lgtpca -lgtstd -lgtwin -lgtwvt -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib + if "%HB_COMPILER%" == "gcc" gcc %1.c -o%1.exe %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtcgi -lgtgui -lgtpca -lgtstd -lgtwin -lgtwvt -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib + if "%HB_COMPILER%" == "rsxnt" gcc %1.c -Zwin32 %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtcgi -lgtgui -lgtpca -lgtstd -lgtwin -lgtwvt -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbhsx -lhbsix -lhbcommon -lhbpcre -lhbzlib :C_WATCOM @@ -198,7 +174,12 @@ if not "%HB_ARCHITECTURE%" == "w32" goto A_OS2 echo LIB hbdebug.lib >> build.tmp echo LIB hbvm.lib >> build.tmp echo LIB hbrtl.lib >> build.tmp - echo LIB %_HB_GT_LIB%.lib >> build.tmp + echo LIB gtcgi.lib >> build.tmp + echo LIB gtgui.lib >> build.tmp + echo LIB gtpca.lib >> build.tmp + echo LIB gtstd.lib >> build.tmp + echo LIB gtwin.lib >> build.tmp + echo LIB gtwvt.lib >> build.tmp echo LIB hblang.lib >> build.tmp echo LIB hbmacro.lib >> build.tmp echo LIB hbpp.lib >> build.tmp diff --git a/harbour/bin/bld_os2.cmd b/harbour/bin/bld_os2.cmd index 40c7b2e4dc..3958fd5980 100644 --- a/harbour/bin/bld_os2.cmd +++ b/harbour/bin/bld_os2.cmd @@ -8,7 +8,7 @@ rem Template to build a final Harbour executable, using Harbour rem with the C code generation feature, then calling the proper C rem linker/compiler. rem -rem Copyright 1999-2001 Viktor Szakats (viktor.szakats@syenar.hu) +rem Copyright 1999-2008 Viktor Szakats (viktor.szakats@syenar.hu) rem See doc/license.txt for licensing terms. rem --------------------------------------------------------------- @@ -35,20 +35,12 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include echo - Don't forget to make a MAIN() function for you application. echo - This batch file assumes you are in some directory off the main echo harbour directory. - echo - Environment variables HB_COMPILER, HB_GT_LIB should be set. - echo Setting HB_GT_LIB is optional. + echo - Environment variable HB_COMPILER should be set. echo The following values are currently supported: echo. echo HB_COMPILER: echo - gcc (EMX GNU C, OS/2 32-bit) echo - icc (IBM Visual Age C++ 3.0, OS/2 32-bit) - echo. - echo HB_GT_LIB: - echo - gtstd (Standard streaming) (for all architectures) - echo - gtos2 (OS/2 console) (for os2 architecture) - echo - gtpca (PC ANSI console) (for all architectures) - echo - gtcrs (Curses console) (for linux, w32 architectures) - echo - gtsln (Slang console) (for linux, w32 architectures) goto END :NO_COMP @@ -67,11 +59,8 @@ if "%HB_INC_INSTALL%" == "" set HB_INC_INSTALL=..\include :A_DOS - set _HB_GT_LIB=%HB_GT_LIB% - if "%_HB_GT_LIB%" == "" set _HB_GT_LIB=gtos2 - - if "%HB_COMPILER%" == "gcc" gcc %1.c %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -l%_HB_GT_LIB% -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib - if "%HB_COMPILER%" == "icc" icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %C_USR% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\hbcpage.lib %HB_LIB_INSTALL%\hbdebug.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\%_HB_GT_LIB%.lib %HB_LIB_INSTALL%\hblang.lib %HB_LIB_INSTALL%\hbrdd.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbmacro.lib %HB_LIB_INSTALL%\hbpp.lib %HB_LIB_INSTALL%\rddfpt.lib %HB_LIB_INSTALL%\rddntx.lib %HB_LIB_INSTALL%\rddcdx.lib %HB_LIB_INSTALL%\hbsix.lib %HB_LIB_INSTALL%\hbcommon.lib %HB_LIB_INSTALL%\hbpcre.lib %HB_LIB_INSTALL%\hbzlib.lib + if "%HB_COMPILER%" == "gcc" gcc %1.c %C_USR% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% -lhbcpage -lhbdebug -lhbvm -lhbrtl -lgtcgi -lgtstd -lgtos2 -lgtpca -lhblang -lhbrdd -lhbrtl -lhbvm -lhbmacro -lhbpp -lrddfpt -lrddntx -lrddcdx -lhbsix -lhbcommon -lhbpcre -lhbzlib + if "%HB_COMPILER%" == "icc" icc /Gs+ /W2 /Se /Sd+ /Ti+ /C- /Tp %C_USR% -I%HB_INC_INSTALL% %1.c %HB_LIB_INSTALL%\hbcpage.lib %HB_LIB_INSTALL%\hbdebug.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\gtcgi.lib %HB_LIB_INSTALL%\gtstd.lib %HB_LIB_INSTALL%\gtos2.lib %HB_LIB_INSTALL%\gtpca.lib %HB_LIB_INSTALL%\hblang.lib %HB_LIB_INSTALL%\hbrdd.lib %HB_LIB_INSTALL%\hbrtl.lib %HB_LIB_INSTALL%\hbvm.lib %HB_LIB_INSTALL%\hbmacro.lib %HB_LIB_INSTALL%\hbpp.lib %HB_LIB_INSTALL%\rddfpt.lib %HB_LIB_INSTALL%\rddntx.lib %HB_LIB_INSTALL%\rddcdx.lib %HB_LIB_INSTALL%\hbsix.lib %HB_LIB_INSTALL%\hbcommon.lib %HB_LIB_INSTALL%\hbpcre.lib %HB_LIB_INSTALL%\hbzlib.lib goto END :CLEANUP diff --git a/harbour/config/dos/global.cf b/harbour/config/dos/global.cf index 4d5d0f301e..ac09289b02 100644 --- a/harbour/config/dos/global.cf +++ b/harbour/config/dos/global.cf @@ -19,10 +19,6 @@ HB_GT_LIST=\ #HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),)) HB_GT_LIBS := $(HB_GT_LIST) -ifeq ($(HB_GT_LIB),) - HB_GT_LIB = gtdos -endif - ifeq ($(SHLVL),) # COMMAND.COM # There is a conflict with the use of '\' and '/' characters diff --git a/harbour/config/os2/global.cf b/harbour/config/os2/global.cf index a230ab7b29..cd4aedfafd 100644 --- a/harbour/config/os2/global.cf +++ b/harbour/config/os2/global.cf @@ -15,10 +15,6 @@ HB_GT_LIST=\ # temporary workaround for some possible problems with some GNU make versions HB_GT_LIBS := $(HB_GT_LIST) -ifeq ($(HB_GT_LIB),) - HB_GT_LIB = gtos2 -endif - ifeq ($(SHLVL),) # An OS/2 command shell ARCH_DIR = $(HB_ARCH) diff --git a/harbour/config/w32/global.cf b/harbour/config/w32/global.cf index 4df93df71b..fb0f7367c2 100644 --- a/harbour/config/w32/global.cf +++ b/harbour/config/w32/global.cf @@ -18,10 +18,6 @@ HB_GT_LIST=\ # verify if GT drivers exist HB_GT_LIBS := $(foreach gt, $(HB_GT_LIST), $(if $(wildcard $(TOP)$(ROOT)source/rtl/$(gt)),$(gt),)) -ifeq ($(HB_GT_LIB),) - HB_GT_LIB = gtwin -endif - ifeq ($(SHLVL),) # COMMAND.COM # There is a conflict with the use of '\' and '/' characters diff --git a/harbour/source/vm/cmdarg.c b/harbour/source/vm/cmdarg.c index c23fd5fb4b..7edffd9b6b 100644 --- a/harbour/source/vm/cmdarg.c +++ b/harbour/source/vm/cmdarg.c @@ -359,8 +359,11 @@ ULONG hb_cmdargProcessVM( int *pCancelKey, int *pCancelKeyEx ) { char buffer[ 128 ]; - /* snprintf( buffer, sizeof( buffer ), "DS avail=%luKB OS avail=%luKB EMM avail=%luKB", hb_xquery( HB_MEM_BLOCK ), hb_xquery( HB_MEM_VM ), hb_xquery( HB_MEM_EMS ) ); */ +#if defined(HB_C52_STRICT) + snprintf( buffer, sizeof( buffer ), "DS avail=%luKB OS avail=%luKB EMM avail=%luKB", hb_xquery( HB_MEM_BLOCK ), hb_xquery( HB_MEM_VM ), hb_xquery( HB_MEM_EMS ) ); +#else snprintf( buffer, sizeof( buffer ), "DS avail=%luKB OS avail=%luKB EMM avail=%luKB MemStat:%s MT:%s", hb_xquery( HB_MEM_BLOCK ), hb_xquery( HB_MEM_VM ), hb_xquery( HB_MEM_EMS ), hb_xquery( HB_MEM_USEDMAX ) ? "On" : "Off", hb_vmIsMt() ? "On" : "Off" ); +#endif hb_conOutErr( buffer, 0 ); hb_conOutErr( hb_conNewLine(), 0 ); } diff --git a/harbour/source/vm/vmmt/Makefile b/harbour/source/vm/vmmt/Makefile index 1b1bee792a..b4146232a1 100644 --- a/harbour/source/vm/vmmt/Makefile +++ b/harbour/source/vm/vmmt/Makefile @@ -12,7 +12,7 @@ ifeq ($(HB_ARCHITECTURE),w32) C_MAIN = mainwin.c DIRS = mainstd else - ifeq ($(HB_COMPILER),cemgw) + ifeq ($(HB_COMPILER),mingwce) C_MAIN = mainwin.c DIRS = mainstd mainwin else diff --git a/harbour/tests/memtst.prg b/harbour/tests/memtst.prg index d17852689b..719d68c13d 100644 --- a/harbour/tests/memtst.prg +++ b/harbour/tests/memtst.prg @@ -7,6 +7,8 @@ * a small memory mangaer test code */ +#include "simpleio.ch" + #define N_LOOPS 100000 #ifdef __HARBOUR__