diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 49f19e537c..c97c053caf 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,15 @@ +19990527-18:00 EST David G. Holm + * makefile.icc + - Added missing modules + - Modified to build console with USE_GTAPI + - Modified to put console and gtos2 into terminal library + * source/rtl/console.c + - Had row,col and y,x reversed in InitializeConsole() + * source/rtl/gt/gtdos.c + - Had row,col and y,x reversed in gtWhereX() and gtWhereY() + * tests/working/biccexe.cmd + - Include new terminal library + 19990527-17:25 EST David G. Holm * makefile.b31 - Added -DUSE_GTAPI as standard compiler option @@ -112,7 +124,7 @@ 19990527-00:40 Ryszard Glab * the support for following keywords are now 100% compatible with Clipper EXTERNAL, FIELD, FOR, FUNCTION - + 19990526-13:30 EST David G. Holm * source/rtl/dates.c - Added hb_dow and HARBOUR DOW() supplied by Jose Lalin @@ -360,43 +372,43 @@ Thu May 20 16:03:24 1999 Gonzalo A. Diethelm - * source/rtl/dates.c: - Nasty bug: using '&' instead of '&&'. + * source/rtl/dates.c: + Nasty bug: using '&' instead of '&&'. - * config/header.cf: - * include/Makefile: - * Makefile: - Added rules to deal with include files (they are just installed - into INC_DIR). Now the top level Makefile traverses include before - source. + * config/header.cf: + * include/Makefile: + * Makefile: + Added rules to deal with include files (they are just installed + into INC_DIR). Now the top level Makefile traverses include before + source. - * config/win32/gcc.cf: - * config/win32/msvc.cf: - * config/win32/global.cf: - The include directory is now given by INC_DIR. + * config/win32/gcc.cf: + * config/win32/msvc.cf: + * config/win32/global.cf: + The include directory is now given by INC_DIR. - * config/win32/rules.cf: - Harbour now uses -I to find include files. + * config/win32/rules.cf: + Harbour now uses -I to find include files. - * include/hbsetup.h: - Moved OS_PATH_DELIMITER back to harbour.y, as PATH_DELIMITER; it - is now a string that contains "/\\". - - * source/compiler/harbour.y: - Deal with '/' as path separator ('\\' still works). - Make sure -q is really quiet. - - * source/rtl/Makefile: - * source/tools/Makefile: - Used tabs instead of spaces. - - * source/rtl/gtapi.c: - * source/tools/io.c: - Made sure these two compile in non-DOS platforms (don't do much - though). - - * source/vm/hvm.c: - Fixed a warning about using %i instead of %li. + * include/hbsetup.h: + Moved OS_PATH_DELIMITER back to harbour.y, as PATH_DELIMITER; it + is now a string that contains "/\\". + + * source/compiler/harbour.y: + Deal with '/' as path separator ('\\' still works). + Make sure -q is really quiet. + + * source/rtl/Makefile: + * source/tools/Makefile: + Used tabs instead of spaces. + + * source/rtl/gtapi.c: + * source/tools/io.c: + Made sure these two compile in non-DOS platforms (don't do much + though). + + * source/vm/hvm.c: + Fixed a warning about using %i instead of %li. 19990520-07:10 MST Bil Simser (bsimser@home.com) * makefile.vc @@ -485,34 +497,34 @@ Thu May 20 16:03:24 1999 Gonzalo A. Diethelm 19990520-01:40 Ryszard Glab * source/compiler/harbour.y - -corrected support for INCLUDE environment variable (the last path + -corrected support for INCLUDE environment variable (the last path was ignored) - -definition of path delimiter and path list separator was moved to + -definition of path delimiter and path list separator was moved to hbsetup.h file. OS_PATH_DELIMITER and OS_PATH_LIST_SEPARATOR are - now defined. + now defined. -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION * source/compiler/harbour.l - -EXIT keyword is now properly supported + -EXIT keyword is now properly supported * source/vm/hvm.c - -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION + -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE * include/hbsetup.h - -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION + -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE -added #define OS_PATH_DELIMITER -added #define OS_PATH_LIST_SEPARATOR * include/hberrors.h - -added #define ERR_UNMATCHED_EXIT + -added #define ERR_UNMATCHED_EXIT * source/rtl/environ.c - -corrected support for Watcom C/C++ compiler + -corrected support for Watcom C/C++ compiler * tests/working/keywords.prg - -added test code for EXIT keyword + -added test code for EXIT keyword 19990519-21:22 CET Eddie Runia * makefile.b16 @@ -562,14 +574,14 @@ Thu May 20 16:03:24 1999 Gonzalo A. Diethelm When this option is used then the Harbour generates C code for a function __InitSymbols that have to be called in order to properly initialize the global symbol table. You should use this option if you - want to generate the C code output and your C compiler doesn't allow + want to generate the C code output and your C compiler doesn't allow to call any function before the 'main'. * surce/vm/initsymb.c - - added new file that registers a symbols table with runtime support - functions. This file can be edited to add calls for application specific + - added new file that registers a symbols table with runtime support + functions. This file can be edited to add calls for application specific functions that registers local symbols tables used in application modules. - The Harbour compiler can create __InitSymbols functions + The Harbour compiler can create __InitSymbols functions when you use '-t' option. * source/vm/hvm.c @@ -897,33 +909,33 @@ Tue May 11 18:53:43 1999 Gonzalo A. Diethelm >>>>>>> 1.78 <<<<<<< ChangeLog - * Makefile: - Added obj to the list of directories. - - * source/Makefile: - Added rdd to the list of directories. + * Makefile: + Added obj to the list of directories. - * source/rtl/Makefile: - Added gtapi.c to the list of C sources. - - * source/rtl/gtapi.c: - Got rid of two warnings with gcc. - - * source/rtl/environ.c: - Made sure it compiles with gcc. - There was a missing #endif. - - * source/tools/stringp.prg: - * tests/working/debugtst.prg: - Replaced Debug() with HBDebug(), otherwise the generated C source - collides with the macro DEBUG. - - * source/vm/hvm.c: - Corrected a comment. - - * source/rdd/Makefile: - * obj/Makefile: - Added these two Makefiles. + * source/Makefile: + Added rdd to the list of directories. + + * source/rtl/Makefile: + Added gtapi.c to the list of C sources. + + * source/rtl/gtapi.c: + Got rid of two warnings with gcc. + + * source/rtl/environ.c: + Made sure it compiles with gcc. + There was a missing #endif. + + * source/tools/stringp.prg: + * tests/working/debugtst.prg: + Replaced Debug() with HBDebug(), otherwise the generated C source + collides with the macro DEBUG. + + * source/vm/hvm.c: + Corrected a comment. + + * source/rdd/Makefile: + * obj/Makefile: + Added these two Makefiles. ======= * source/Makefile: diff --git a/harbour/makefile.icc b/harbour/makefile.icc index 01fe2b9fcb..21ba296bc4 100644 --- a/harbour/makefile.icc +++ b/harbour/makefile.icc @@ -2,7 +2,7 @@ .SUFFIXES : .prg .c -path_c = source\compiler;source\vm;source\rtl;source\tools +path_c = source\compiler;source\vm;source\rtl;source\rtl\gt;source\tools path_h = include path_l = source\compiler path_y = source\compiler @@ -11,7 +11,7 @@ path_lib = libs\icc path_obj = obj path_prg = source\rtl -c_opt = /W2 /Se /Sd+ /I.\include /Ti+ +c_opt = /DUSE_GTAPI /W2 /Se /Sd+ /I.\include /Ti+ all: $(path_exe)\harbour.exe $(path_lib)\harbour.lib $(path_lib)\hbtools.lib $(path_lib)\terminal.lib @@ -26,6 +26,7 @@ $(path_lib)\harbour.lib : $(path_obj)\arrays.obj \ $(path_obj)\errorapi.obj \ $(path_obj)\errorsys.obj \ $(path_obj)\extend.obj \ + $(path_obj)\gtapi.obj \ $(path_obj)\initsymb.obj \ $(path_obj)\itemapi.obj \ $(path_obj)\math.obj \ @@ -44,12 +45,17 @@ $(path_lib)\hbtools.lib: \ #(path_obj)\datesx.obj @echo HBtools.lib -$(path_lib)\terminal.lib :$(path_obj)\console.obj +$(path_lib)\terminal.lib :$(path_obj)\console.obj \ + $(path_obj)\gtos2.obj @echo terminal.lib -$(path_obj)\console.obj : {$(path_c)}console.c $(path_h)\extend.h $(path_h)\types.h +$(path_obj)\console.obj : {$(path_c)}console.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\gtapi.h icc /C+ $(c_opt) /Fo$@ /Tpsource\rtl\console.c - ilib .\libs\icc\harbour.lib -+$@,, + ilib .\libs\icc\terminal.lib -+$@,, + +$(path_obj)\gtos2.obj : {$(path_c)}gtos2.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\gtapi.h + icc /C+ $(c_opt) /Fo$@ /Tpsource\rtl\gt\gtos2.c + ilib .\libs\icc\terminal.lib -+$@,, $(path_obj)\arrays.obj : {$(path_c)}arrays.c $(path_h)\extend.h $(path_h)\types.h $(path_obj)\classes.obj : {$(path_c)}classes.c $(path_h)\extend.h $(path_h)\types.h @@ -59,7 +65,8 @@ $(path_obj)\datesx.obj : {$(path_c)}datesx.c $(path_h)\extend.h $(path_h)\ty $(path_obj)\environ.obj : {$(path_c)}environ.c $(path_h)\extend.h $(path_h)\types.h $(path_obj)\errorapi.obj : {$(path_c)}errorapi.c $(path_h)\extend.h $(path_h)\types.h $(path_obj)\extend.obj : {$(path_c)}extend.c $(path_h)\extend.h $(path_h)\types.h -#$(path_obj)\files.obj : {$(path_c)}extend.c $(path_h)\extend.h $(path_h)\types.h +$(path_obj)\files.obj : {$(path_c)}extend.c $(path_h)\extend.h $(path_h)\types.h +$(path_obj)\gtapi.obj : {$(path_c)}gtapi.c $(path_h)\extend.h $(path_h)\types.h $(path_h)\gtapi.h $(path_obj)\initsymb.obj : {$(path_c)}initsymb.c $(path_h)\extend.h $(path_h)\types.h $(path_obj)\itemapi.obj : {$(path_c)}itemapi.c $(path_h)\extend.h $(path_h)\types.h $(path_obj)\math.obj : {$(path_c)}math.c $(path_h)\extend.h $(path_h)\types.h @@ -93,6 +100,10 @@ $(path_obj)\tclass.obj : $(path_prg)\tclass.prg $(path_h)\init.h $(path_h)\ex icc /C+ $(c_opt) /Fo$@ /Tp$< ilib .\libs\icc\harbour.lib -+$@,, +{source\vm}.c{$(path_obj)}.obj: + icc /C+ $(c_opt) /Fo$@ /Tp$< + ilib .\libs\icc\harbour.lib -+$@,, + {source\tools}.c{$(path_obj)}.obj: icc /C+ $(c_opt) /Fo$@ /Tp$< ilib .\libs\icc\hbtools.lib -+$@,, diff --git a/harbour/source/rtl/console.c b/harbour/source/rtl/console.c index b26896aa9f..8c242dd89f 100644 --- a/harbour/source/rtl/console.c +++ b/harbour/source/rtl/console.c @@ -21,8 +21,8 @@ static unsigned short dev_col = 0; void InitializeConsole( void ) { #ifdef USE_GTAPI - dev_row = gtWhereX(); - dev_col = gtWhereY(); + dev_row = gtWhereY(); + dev_col = gtWhereX(); _gtSetPos( dev_row, dev_col ); #else dev_row = 0; diff --git a/harbour/source/rtl/gt/gtdos.c b/harbour/source/rtl/gt/gtdos.c index 02943cea30..81df5be6a0 100644 --- a/harbour/source/rtl/gt/gtdos.c +++ b/harbour/source/rtl/gt/gtdos.c @@ -296,26 +296,6 @@ void gtPutText(char x1, char y1, char x2, char y2, char *srce) char gtWhereX(void) { -#if defined(__TURBOC__) - _AH = 0x03; - _BH = 0; - geninterrupt(0x10); - return _DH; -#else - union REGS regs; - regs.h.ah = 0x02; - regs.h.bh = 0; -#if defined(__WATCOMC__) && defined(__386__) - int386(0x10, ®s, ®s); -#else - int86(0x10, ®s, ®s); -#endif - return regs.h.dh; -#endif -} - -char gtWhereY(void) -{ #if defined(__TURBOC__) _AH = 0x03; _BH = 0; @@ -333,3 +313,23 @@ char gtWhereY(void) return regs.h.dl; #endif } + +char gtWhereY(void) +{ +#if defined(__TURBOC__) + _AH = 0x03; + _BH = 0; + geninterrupt(0x10); + return _DH; +#else + union REGS regs; + regs.h.ah = 0x02; + regs.h.bh = 0; +#if defined(__WATCOMC__) && defined(__386__) + int386(0x10, ®s, ®s); +#else + int86(0x10, ®s, ®s); +#endif + return regs.h.dh; +#endif +} diff --git a/harbour/tests/working/biccexe.cmd b/harbour/tests/working/biccexe.cmd index d5c90f4763..331ef5452a 100644 --- a/harbour/tests/working/biccexe.cmd +++ b/harbour/tests/working/biccexe.cmd @@ -3,11 +3,11 @@ IF A%1 == A GOTO :SINTAX IF A%2 == A GOTO :NOOUTPUT -icc /Ti+ /W2 /Se /Sd+ /I..\..\include /Fe%2.exe /fohvm.obj /Tp..\..\source\vm\hvm.c /fo%1.obj /Tp%1.c ..\..\libs\icc\harbour.lib ..\..\libs\icc\hbtools.lib +icc /Ti+ /W2 /Se /Sd+ /I..\..\include /Fe%2.exe /fohvm.obj /Tp..\..\source\vm\hvm.c /fo%1.obj /Tp%1.c ..\..\libs\icc\harbour.lib ..\..\libs\icc\hbtools.lib ..\..\libs\icc\terminal.lib GOTO :END :NOOUTPUT -icc /Ti+ /W2 /Se /Sd+ /I..\..\include /Fe%1.exe /fohvm.obj /Tp..\..\source\vm\hvm.c /fo%1.obj /Tp%1.c ..\..\libs\icc\harbour.lib ..\..\libs\icc\hbtools.lib +icc /Ti+ /W2 /Se /Sd+ /I..\..\include /Fe%1.exe /fohvm.obj /Tp..\..\source\vm\hvm.c /fo%1.obj /Tp%1.c ..\..\libs\icc\harbour.lib ..\..\libs\icc\hbtools.lib ..\..\libs\icc\terminal.lib GOTO :END :SINTAX