From 14838768074a32973b869b44b1dc4030d6eef235 Mon Sep 17 00:00:00 2001 From: "David G. Holm" Date: Wed, 30 Jun 1999 04:15:13 +0000 Subject: [PATCH] See ChangeLog entry 19990629-23:00 EDT David G. Holm --- harbour/ChangeLog | 20 +++++++++ harbour/build31.bat | 3 +- harbour/makefile.b31 | 70 +++++++++++-------------------- harbour/source/compiler/fixflex.c | 25 ++++++++--- harbour/source/vm/hvm.c | 12 +++--- harbour/tests/working/Makefile | 2 +- 6 files changed, 72 insertions(+), 60 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 839fd99fbc..0c67b9b357 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,23 @@ +19990629-23:00 EDT David G. Holm + * build31.bat + + Added option to build 16-bit harbour.exe instead of just the + harbour libraries by using "build31 hb" instead of "build31" + * makefile.b31 + - Moved everything to do with harbour.exe to harbour.b31 + + Added dir and msguk + + harbour.b31 + + Split out from makefile.b31 + + Added preprocessor files + * source/compiler/fixflex.c + + Switched from using a series of if statements for the smaller large + files to using an array of table names and a for loop + - Removed yy_acclist from new array + * source/vm/hvm.c + * Changed a few error messages from "types not match..." to + "types do not match..." + * tests/working/Makefile + * Changed order in which library files are included + 19990630-00:25 Ryszard Glab * include/init.h diff --git a/harbour/build31.bat b/harbour/build31.bat index bbf3776881..e728ec395c 100644 --- a/harbour/build31.bat +++ b/harbour/build31.bat @@ -1 +1,2 @@ -make -fmakefile.b31 -r %1 \ No newline at end of file +if %1.==hb. make -fharbour.b31 -r %2 +if not %1.==hb. make -fmakefile.b31 -r %1 diff --git a/harbour/makefile.b31 b/harbour/makefile.b31 index e43a7e7f9a..ebade7c3a7 100644 --- a/harbour/makefile.b31 +++ b/harbour/makefile.b31 @@ -1,26 +1,24 @@ -# makefile for Borland C/C++ 16 bits +# makefile for Borland C/C++ 16 bits Harbour libraries .path.asm = source\compiler .path.c = source\rtl .path.h = include -.path.l = source\compiler -.path.y = source\compiler -.path.exe = bin .path.lib = libs\b16 .path.obj = obj .path.prg = source\rtl -c_opt = -mh -O2 -I.\include -DUSE_GTAPI +c_opt = -mh -O2 -I.\include -DUSE_GTAPI -DHARBOUR_STRICT_ANSI_C #c_opt = -mh -O2 -I.\include -PROJECT: harbour.lib hbtools.lib terminal.lib libs\win16\terminal.lib harbour.exe +PROJECT: harbour.lib hbtools.lib terminal.lib libs\win16\terminal.lib harbour.lib : arrays.obj asort.obj classes.obj codebloc.obj copyfile.c \ - dates.obj descend.obj dynsym.obj environ.obj error.obj \ - errorapi.obj errorsys.obj extend.obj \ + dates.obj descend.obj dir.obj dynsym.obj environ.obj \ + error.obj errorapi.obj errorsys.obj extend.obj \ files.obj gtapi.obj hardcr.obj initsymb.obj itemapi.obj \ - math.obj mtran.obj objfunc.obj \ - set.obj strings.obj strcmp.obj symbols.obj tclass.obj transfrm.obj + math.obj mtran.obj msguk.obj objfunc.obj \ + set.obj strings.obj strcmp.obj symbols.obj tclass.obj \ + transfrm.obj hbtools.lib : datesx.obj debug.obj io.obj mathx.obj \ stringp.obj stringsx.obj \ @@ -42,16 +40,17 @@ console.obj : console.c extend.h hbdefs.h ctoharb.h dates.h gtapi.h set.h # tlib .\libs\win16\terminal.lib -+$@,, arrays.obj : arrays.c extend.h hbdefs.h itemapi.h ctoharb.h -asort.obj : asort.prg extend.h hbdefs.h init.h pcode.h harbour.exe +asort.obj : asort.prg extend.h hbdefs.h init.h pcode.h classes.obj : classes.c extend.h hbdefs.h itemapi.h codebloc.obj : codebloc.c extend.h hbdefs.h copyfile.obj : copyfile.c extend.h hbdefs.h itemapi.h errorapi.h error.ch filesys.h fileio.ch filesys.api dates.obj : dates.c extend.h hbdefs.h dates.h set.h descend.obj : descend.c extend.h hbdefs.h +dir.obj : dir.c extend.h hbdefs.h environ.obj : environ.c extend.h hbdefs.h -error.obj : error.prg extend.h hbdefs.h init.h pcode.h harbour.exe +error.obj : error.prg extend.h hbdefs.h init.h pcode.h errorapi.obj : errorapi.c extend.h hbdefs.h ctoharb.h -errorsys.obj : errorsys.prg extend.h hbdefs.h init.h pcode.h harbour.exe +errorsys.obj : errorsys.prg extend.h hbdefs.h init.h pcode.h extend.obj : extend.c extend.h hbdefs.h set.h dates.h files.obj : extend.c extend.h hbdefs.h gtapi.obj : gtapi.c extend.h hbdefs.h gtapi.h @@ -59,15 +58,16 @@ hardcr.obj : hardcr.c extend.h hbdefs.h itemapi.obj : itemapi.c extend.h hbdefs.h ctoharb.h itemapi.h set.h dates.h math.obj : math.c extend.h hbdefs.h mtran.obj : mtran.c extend.h hbdefs.h -objfunc.obj : objfunc.prg extend.h hbdefs.h init.h pcode.h harbour.exe +objfunc.obj : objfunc.prg extend.h hbdefs.h init.h pcode.h set.obj : set.c extend.h hbdefs.h set.h strcmp.obj : strcmp.c extend.h hbdefs.h set.h strings.obj : strings.c extend.h hbdefs.h set.h symbols.obj : symbols.asm -tclass.obj : tclass.prg extend.h hbdefs.h init.h pcode.h harbour.exe +tclass.obj : tclass.prg extend.h hbdefs.h init.h pcode.h transfrm.obj : transfrm.c extend.h hbdefs.h ctoharb.h set.h dates.h -gtdos.obj : source\rtl\gt\gtdos.c extend.h hbdefs.h gtapi.h +gtdos.obj : source\rtl\gt\gtdos.c extend.h hbdefs.h gtapi.h +msguk.obj : source\rtl\natmsg\msguk.c extend.h hbdefs.h dynsym.obj : source\vm\dynsym.c extend.h hbdefs.h initsymb.obj : source\vm\initsymb.c extend.h hbdefs.h @@ -76,7 +76,7 @@ datesx.obj : source\tools\datesx.c extend.h hbdefs.h debug.obj : source\tools\debug.c extend.h hbdefs.h ctoharb.h itemapi.h io.obj : source\tools\io.c extend.h hbdefs.h mathx.obj : source\tools\mathx.c extend.h hbdefs.h -stringp.obj : source\tools\stringp.prg extend.h hbdefs.h init.h pcode.h harbour.exe +stringp.obj : source\tools\stringp.prg extend.h hbdefs.h init.h pcode.h stringsx.obj : source\tools\stringsx.c extend.h hbdefs.h asciisum.obj : source\tools\asciisum.c extend.h hbdefs.h @@ -119,9 +119,16 @@ strright.obj : source\tools\strright.c extend.h hbdefs.h bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\terminal.lib -+$@,, +{source\rtl\natmsg}.c{obj}.obj: + bcc -c $(c_opt) -o$@ $< + tlib .\libs\b16\harbour.lib -+$@,, + {source\compiler}.c{obj}.obj: bcc -c $(c_opt) -Isource\compiler -o$@ $< +{source\hbpp}.c{obj}.obj: + bcc -c $(c_opt) -Isource\hbpp -o$@ $< + .c.obj: bcc -c $(c_opt) -o$@ $< tlib .\libs\b16\harbour.lib -+$@,, @@ -129,32 +136,3 @@ strright.obj : source\tools\strright.c extend.h hbdefs.h .asm.obj: tasm -I.\include $< $@ tlib .\libs\b16\harbour.lib -+$@,, - -harbour.exe : harboury.obj harbourl.obj lex_t1.obj lex_t2.obj lex_t3.obj harbour.obj genobj32.obj - echo -ebin\harbour.exe obj\harboury.obj > b31.bc - echo obj\harbourl.obj obj\lex_t1.obj >> b31.bc - echo obj\lex_t2.obj obj\lex_t3.obj >> b31.bc - echo obj\harbour.obj obj\genobj32.obj >> b31.bc - bcc $(c_opt) -Isource\compiler @b31.bc - -fixflex.obj : source\compiler\fixflex.c -genobj32.obj : source\compiler\genobj32.c -harbour.obj : source\compiler\harbour.c -harbourl.obj : source\compiler\harbourl.c harbour.l -lex_t1.obj : source\compiler\lex_t1.c harbour.l -lex_t2.obj : source\compiler\lex_t2.c harbour.l -lex_t3.obj : source\compiler\lex_t3.c harbour.l -harboury.obj : source\compiler\harboury.c harbour.y - -source\compiler\harboury.c : harbour.y - bison -d -v -y -osource\compiler\harboury.c source\compiler\harbour.y - -fixflex.exe : fixflex.obj - bcc -mh $(c_opt) -ebin\fixflex.exe obj\fixflex.obj - -source\compiler\lex_t1.c :: harbour.l fixflex.exe -source\compiler\lex_t2.c :: harbour.l fixflex.exe -source\compiler\harbourl.c :: harbour.l fixflex.exe - flex -i -8 -osource\compiler\harbourl.c source\compiler\harbour.l - if exist source\compiler\harbourl.bak del source\compiler\harbourl.bak - fixflex source\compiler\harbourl.c source\compiler\lex_t1.c source\compiler\lex_t2.c source\compiler\lex_t3.c -P- diff --git a/harbour/source/compiler/fixflex.c b/harbour/source/compiler/fixflex.c index 18748f98e4..752e9e9f7b 100644 --- a/harbour/source/compiler/fixflex.c +++ b/harbour/source/compiler/fixflex.c @@ -112,7 +112,7 @@ int main (int argc, char * argv []) if (rc == 0) { /* Initialize. */ - int copy = 0, move1 = 0, move2 = 0, move3 = 0, check_count = 7; + int copy = 0, move1 = 0, move2 = 0, move3 = 0, check_count = 6; int defer_move = 0, defer_end = 0; static char inbuf [BUF_SIZE + 1]; static char outbuf [sizeof (inbuf)]; @@ -140,6 +140,7 @@ int main (int argc, char * argv []) /* It's the first of the two big tables. Move it out of source into dest1, leaving only an extern or extern "C" declaration. */ + printf("\nLocated table yy_nxt"); fixup (inbuf, outbuf, c_plus_plus); move1 = 1; defer_move = 1; @@ -153,6 +154,7 @@ int main (int argc, char * argv []) /* It's the second of the two big tables. Move it out of source into dest2, leaving only an extern or extern "C" declaration. */ + printf("\nLocated table yy_chk"); fixup (inbuf, outbuf, c_plus_plus); move2 = 1; defer_move = 1; @@ -166,15 +168,22 @@ int main (int argc, char * argv []) /* It's the start of various #defines that need to be copied from source to dest in order to set up the yyconst define. */ + printf("\nLocated first #define to copy"); copy = 1; check_count--; } else { - ptr = strstr (inbuf, "yy_acclist"); - if (!ptr) ptr = strstr (inbuf, "yy_accept"); - if (!ptr) ptr = strstr (inbuf, "yy_base"); - if (!ptr) ptr = strstr (inbuf, "yy_def"); + #define TABLE_MAX 3 + int i; + char * table [TABLE_MAX] = + { "yy_accept", "yy_base", "yy_def" }; + ptr = 0; + for( i = 0; i < TABLE_MAX && !ptr; i++ ) + { + ptr = strstr (inbuf, table [i]); + if (ptr) printf("\nLocated table %s", table [i]); + } if (ptr) { /* It's one of the smaller big tables. @@ -197,7 +206,11 @@ int main (int argc, char * argv []) else { ptr = strstr (inbuf, "#ifdef YY_USE_PROTOS"); - if (ptr && copy) copy = 0; /* End of #defines to copy. */ + if (ptr && copy) + { + printf("\nLocated last #define to copy"); + copy = 0; /* End of #defines to copy. */ + } } } if (move1 || move2 || move3 || copy) diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 11582e695c..a59f90dd1e 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -852,7 +852,7 @@ void Equal( BOOL bExact ) else if( pItem1->type != pItem2->type ) { - printf( "types not match on equal operation\n" ); + printf( "types do not match on equal operation\n" ); exit( 1 ); } @@ -986,7 +986,7 @@ void Greater( void ) else if( ( stack.pPos - 2 )->type != ( stack.pPos - 1 )->type ) { - printf( "types not match on greater operation\n" ); + printf( "types do not match on greater operation %d, %d\n", (stack.pPos - 2)->type, (stack.pPos - 1)->type ); exit( 1 ); } } @@ -1033,7 +1033,7 @@ void GreaterEqual( void ) else if( ( stack.pPos - 2 )->type != ( stack.pPos - 1 )->type ) { - printf( "types not match on greaterequal operation\n" ); + printf( "types do not match on greaterequal operation\n" ); exit( 1 ); } } @@ -1183,7 +1183,7 @@ void Less( void ) else if( ( stack.pPos - 2 )->type != ( stack.pPos - 1 )->type ) { - printf( "types not match on less operation\n" ); + printf( "types do not match on less operation\n" ); exit( 1 ); } } @@ -1230,7 +1230,7 @@ void LessEqual( void ) else if( ( stack.pPos - 2 )->type != ( stack.pPos - 1 )->type ) { - printf( "types not match on lessequal operation\n" ); + printf( "types do not match on lessequal operation\n" ); exit( 1 ); } } @@ -1314,7 +1314,7 @@ void NotEqual( void ) else if( pItem1->type != pItem2->type ) { - printf( "types not match on equal operation\n" ); + printf( "types do not match on equal operation\n" ); exit( 1 ); } diff --git a/harbour/tests/working/Makefile b/harbour/tests/working/Makefile index 5e7e109b89..b6f14813a4 100644 --- a/harbour/tests/working/Makefile +++ b/harbour/tests/working/Makefile @@ -121,8 +121,8 @@ BAD_PRG_SOURCES=\ testid.prg \ LIBS=\ + tools \ vm \ rtl \ - tools \ include $(TOP)$(ROOT)config/test.cf