Commit b78f9b49 authored by Michael Meskes's avatar Michael Meskes

Enable script to generate preproc.y in build process.

parent a76e98f0
preproc.y
preproc.c preproc.c
preproc.h preproc.h
pgc.c pgc.c
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# #
# Copyright (c) 1998-2008, PostgreSQL Global Development Group # Copyright (c) 1998-2008, PostgreSQL Global Development Group
# #
# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.137 2008/10/14 09:31:04 meskes Exp $ # $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/Makefile,v 1.138 2008/11/14 17:11:40 meskes Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -38,27 +38,30 @@ preproc.o: $(srcdir)/pgc.c ...@@ -38,27 +38,30 @@ preproc.o: $(srcdir)/pgc.c
$(srcdir)/preproc.h: $(srcdir)/preproc.c ; $(srcdir)/preproc.h: $(srcdir)/preproc.c ;
$(srcdir)/preproc.c: preproc.y $(srcdir)/preproc.c: $(srcdir)/preproc.y
ifdef BISON ifdef BISON
$(BISON) -d $(BISONFLAGS) -o $@ $< $(BISON) -d $(BISONFLAGS) -o $@ $<
else else
@$(missing) bison $< $@ @$(missing) bison $< $@
endif endif
$(srcdir)/pgc.c: pgc.l $(srcdir)/pgc.c: $(srcdir)/pgc.l
ifdef FLEX ifdef FLEX
$(FLEX) $(FLEXFLAGS) -o'$@' $< $(FLEX) $(FLEXFLAGS) -o'$@' $<
else else
@$(missing) flex $< $@ @$(missing) flex $< $@
endif endif
$(srcdir)/preproc.y: $(top_srcdir)/src/backend/parser/gram.y
$(PERL) $(srcdir)/parse.pl $(srcdir) < $< > $@
ecpg_keywords.o c_keywords.o keywords.o preproc.o parser.o: preproc.h 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 # instead of maintaining our own list, take the one from the backend
keywords.c: % : $(top_srcdir)/src/backend/parser/% keywords.c: % : $(top_srcdir)/src/backend/parser/%
rm -f $@ && $(LN_S) $< . rm -f $@ && $(LN_S) $< .
distprep: $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c distprep: $(srcdir)/preproc.y $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c
install: all installdirs install: all installdirs
$(INSTALL_PROGRAM) ecpg$(X) '$(DESTDIR)$(bindir)' $(INSTALL_PROGRAM) ecpg$(X) '$(DESTDIR)$(bindir)'
...@@ -78,4 +81,4 @@ clean distclean: ...@@ -78,4 +81,4 @@ clean distclean:
# want to ship those files in the distribution for people with # want to ship those files in the distribution for people with
# inadequate tools. # inadequate tools.
maintainer-clean: distclean maintainer-clean: distclean
rm -f $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c rm -f $(srcdir)/preproc.y $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c
...@@ -3,7 +3,7 @@ package Solution; ...@@ -3,7 +3,7 @@ package Solution;
# #
# Package that encapsulates a Visual C++ solution file generation # Package that encapsulates a Visual C++ solution file generation
# #
# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.44 2008/08/16 12:42:27 mha Exp $ # $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.45 2008/11/14 17:11:40 meskes Exp $
# #
use Carp; use Carp;
use strict; use strict;
...@@ -237,6 +237,19 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY ...@@ -237,6 +237,19 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
chdir('..\..\..'); chdir('..\..\..');
} }
if (
IsNewer(
'src\interfaces\ecpg\preproc\preproc.y',
'src\backend\parser\gram.y'
)
)
{
print "Generating preproc.y...\n";
chdir('src\interfaces\ecpg\preproc');
system('perl parse.pl < ..\..\..\backend\parser\gram.y > preproc.y');
chdir('..\..\..\..');
}
if ( if (
IsNewer( IsNewer(
'src\interfaces\ecpg\include\ecpg_config.h', 'src\interfaces\ecpg\include\ecpg_config.h',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment