From 0ae7932565b2b830feba162508d6ce2e9b3a0777 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Tue, 28 Nov 2006 20:22:58 +0000 Subject: [PATCH] 2006-11-28 21:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * harbour/config/c.cf * changed default settings to not use bison for generation new grammar files. Now developers who will want to update our grammar definition files for compiler and macro compiler should set environment variable HB_REBUILD_PARSER=yes to force preprocessing new rules by bison and should remember to update before committing modifications in *.y file(s) corresponding *.yy[ch] files by copping the new ones generated by parser. ! fixed typo in makefile.bc - instead of $(HARBOUR_DIR)\macro.yyc should be $(MACRO_DIR)\macro.yyc --- harbour/ChangeLog | 14 ++++++++++++++ harbour/config/c.cf | 8 ++++---- harbour/makefile.bc | 44 ++++++++++++++++++++++---------------------- 3 files changed, 40 insertions(+), 26 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index cfaf52c206..3f958d8e7c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,20 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2006-11-28 21:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/makefile.bc + * harbour/config/c.cf + * changed default settings to not use bison for generation new + grammar files. Now developers who will want to update our + grammar definition files for compiler and macro compiler + should set environment variable HB_REBUILD_PARSER=yes + to force preprocessing new rules by bison and should + remember to update before committing modifications in *.y + file(s) corresponding *.yy[ch] files by copping the new + ones generated by parser. + ! fixed typo in makefile.bc - instead of $(HARBOUR_DIR)\macro.yyc + should be $(MACRO_DIR)\macro.yyc + 2006-11-28 19:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * use HB_COMP_PARAM macro in expression destructor instead of diff --git a/harbour/config/c.cf b/harbour/config/c.cf index 00ef20c9ae..35c9bfc8c3 100644 --- a/harbour/config/c.cf +++ b/harbour/config/c.cf @@ -27,16 +27,16 @@ ALL_C_OBJS = $(YACC_OBJ) $(LEX_OBJ) $(C_OBJS) $(C_MAIN_OBJ) $(YACC_OBJ) : $(YACC_C) -ifeq ($(HB_REBUILD_PARSER),no) +ifneq ($(HB_REBUILD_PARSER),no) +$(YACC_C) : ../../$(YACC_SOURCE) $(YACC_HB_H) + $(YACC) $(YACC_FLAGS) -o$@ $< +else ifeq ($(DIRSEP),) DIRSEP = / endif %y.c : ../../%.yyc $(CP) $(subst /,$(DIRSEP),$<) $@ $(CP) $(subst /,$(DIRSEP),$(<:.yyc=.yyh)) $(@:.c=.h) -else -$(YACC_C) : ../../$(YACC_SOURCE) $(YACC_HB_H) - $(YACC) $(YACC_FLAGS) -o$@ $< endif $(LEX_OBJ) : $(LEX_C) diff --git a/harbour/makefile.bc b/harbour/makefile.bc index 49b8d2221f..058c88f69a 100644 --- a/harbour/makefile.bc +++ b/harbour/makefile.bc @@ -628,17 +628,7 @@ $(PP_DIR)\pptable.c : $(BIN_DIR)\ppgen.exe include\hbstdgen.ch #********************************************************** -!if "$(HB_REBUILD_PARSER)" == "no" - -$(OBJ_DIR)\macroy.c : $(HARBOUR_DIR)\macro.yyc - copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log - copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log - -$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc - copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log - copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log - -!else +!if "$(HB_REBUILD_PARSER)" != "no" $(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y bison --no-line -p hb_macro -d $** -o$@ @@ -646,6 +636,16 @@ $(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y $(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y bison --no-line -d $** -o$@ +!else + +$(OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc + copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log + copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log + +$(OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc + copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log + copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log + !endif #********************************************************** @@ -672,17 +672,7 @@ $(OBJ_DIR)\harbourl.obj : $(OBJ_DIR)\harbourl.c #********************************************************** -!if "$(HB_REBUILD_PARSER)" == "no" - -$(DLL_OBJ_DIR)\macroy.c : $(HARBOUR_DIR)\macro.yyc - copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log - copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log - -$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc - copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log - copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log - -!else +!if "$(HB_REBUILD_PARSER)" != "no" $(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y bison --no-line -p hb_macro -d $** -o$@ @@ -690,6 +680,16 @@ $(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.y $(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.y bison --no-line -d $** -o$@ +!else + +$(DLL_OBJ_DIR)\macroy.c : $(MACRO_DIR)\macro.yyc + copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log + copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log + +$(DLL_OBJ_DIR)\harboury.c : $(HARBOUR_DIR)\harbour.yyc + copy /A /Y $** $@ >> inst_$(CC_DIRNAME).log + copy /A /Y $(**:.yyc=.yyh) $(@:.c=.h) >> inst_$(CC_DIRNAME).log + !endif #**********************************************************