From 0a8b82dfb735bad8dd4720f1a6b093714fd5ee86 Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Wed, 21 May 2008 19:51:01 +0000 Subject: [PATCH] Link in keywords file instead of copying it. Use #define/#ifdef instead of sed to fix include files, this should work on Windows too. --- src/backend/parser/keywords.c | 5 ++++- src/interfaces/ecpg/preproc/Makefile | 4 ++-- src/tools/msvc/Mkvcbuild.pm | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/backend/parser/keywords.c b/src/backend/parser/keywords.c index 5f3d730df5..51152275a9 100644 --- a/src/backend/parser/keywords.c +++ b/src/backend/parser/keywords.c @@ -29,8 +29,11 @@ #define YYSTYPE int #include "parser/keywords.h" +#ifndef ECPG_COMPILE #include "parser/parse.h" - +#else +#include "preproc.h" +#endif /* * List of keyword (name, token-value, category) entries. diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile index 3d28ceb9fb..e83860d920 100644 --- a/src/interfaces/ecpg/preproc/Makefile +++ b/src/interfaces/ecpg/preproc/Makefile @@ -22,7 +22,7 @@ override CPPFLAGS := -I../include -I$(top_srcdir)/src/interfaces/ecpg/include \ -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \ $(CPPFLAGS) -override CFLAGS += $(PTHREAD_CFLAGS) +override CFLAGS += $(PTHREAD_CFLAGS) -DECPG_COMPILE OBJS= preproc.o type.o ecpg.o output.o parser.o \ keywords.o c_keywords.o ecpg_keywords.o ../ecpglib/typename.o descriptor.o variable.o \ @@ -59,7 +59,7 @@ ecpg_keywords.o c_keywords.o keywords.o preproc.o parser.o: preproc.h # instead of maintaining our own list, take the one from the backend # we cannot just link it in, but must copy and make some minor changes keywords.c: % : $(top_srcdir)/src/backend/parser/% - sed -e 's/#include "parser\/parse.h"/#include "preproc.h"/' $< > $@ + rm -f $@ && $(LN_S) $< . distprep: $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 63aeae78dd..0d86967732 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -162,12 +162,12 @@ sub mkvcbuild my $ecpg = $solution->AddProject('ecpg','exe','interfaces','src\interfaces\ecpg\preproc'); $ecpg->AddIncludeDir('src\interfaces\ecpg\include'); $ecpg->AddIncludeDir('src\interfaces\libpq'); - $ecpg->AddIncludeDir('src\backend'); # needed for parse.h $ecpg->AddPrefixInclude('src\interfaces\ecpg\preproc'); $ecpg->AddFiles('src\interfaces\ecpg\preproc','pgc.l','preproc.y'); $ecpg->AddDefine('MAJOR_VERSION=4'); $ecpg->AddDefine('MINOR_VERSION=2'); $ecpg->AddDefine('PATCHLEVEL=1'); + $ecpg->AddDefine('ECPG_COMPILE'); $ecpg->AddReference($libpgport); my $pgregress_ecpg = $solution->AddProject('pg_regress_ecpg','exe','misc'); -- 2.39.5