aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2000-08-28 11:53:23 +0000
committerPeter Eisentraut <peter_e@gmx.net>2000-08-28 11:53:23 +0000
commitf03fc94e7df1078959a4fa4a4b5c4e02b09a2bc1 (patch)
tree1aadad9c51a781f608d1820000a4478dbf00aa83 /src
parent4c8d2f7f7b129d8fd679bb970345593ac6190725 (diff)
downloadpostgresql-f03fc94e7df1078959a4fa4a4b5c4e02b09a2bc1.tar.gz
postgresql-f03fc94e7df1078959a4fa4a4b5c4e02b09a2bc1.zip
New configure test for flex, which recognizes only flex but does so in all
incarnations (I hope). When an acceptable flex version is not found, print instructive error messages from both configure and the makefiles, so that users can continue building anyway.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in6
-rw-r--r--src/backend/bootstrap/Makefile10
-rw-r--r--src/backend/parser/Makefile9
-rw-r--r--src/backend/utils/misc/Makefile17
-rw-r--r--src/interfaces/ecpg/preproc/Makefile9
-rw-r--r--src/pl/plpgsql/src/Makefile13
6 files changed, 40 insertions, 24 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index f81bea42a1e..0795870487c 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.90 2000/07/22 01:48:53 petere Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.91 2000/08/28 11:53:14 petere Exp $
#
# NOTES
# Essentially all Postgres make files include this file and use the
@@ -165,6 +165,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SHLIB = @INSTALL_SHLIB@
mkinstalldirs = @mkinstalldirs@
+missing = $(top_srcdir)/config/missing
RANLIB= @RANLIB@
@@ -175,7 +176,8 @@ CC= @CC@
CPP= @CPP@
YACC= @YACC@
YFLAGS = @YFLAGS@
-LEX= @LEX@
+FLEX = @FLEX@
+FLEXFLAGS = @FLEXFLAGS@ $(LFLAGS)
AROPT= @AROPT@
CPPFLAGS = @CPPFLAGS@
CFLAGS = -I$(SRCDIR)/include $(CPPFLAGS) @CFLAGS@
diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile
index d1b40e99830..cf3b29477e0 100644
--- a/src/backend/bootstrap/Makefile
+++ b/src/backend/bootstrap/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for the bootstrap module
#
-# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.24 2000/07/19 16:29:47 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.25 2000/08/28 11:53:17 petere Exp $
#
#-------------------------------------------------------------------------
@@ -48,9 +48,13 @@ $(srcdir)/bootparse.c $(srcdir)/bootstrap_tokens.h: bootparse.y Makefile
rm -f y.tab.c y.tab.h
$(srcdir)/bootscanner.c: bootscanner.l Makefile
- $(LEX) $(LFLAGS) $<
- $(sed-magic) < lex.yy.c > $@
+ifdef FLEX
+ $(FLEX) $(FLEXFLAGS) $<
+ $(sed-magic) lex.yy.c > $@
rm -f lex.yy.c
+else
+ @$(missing) flex $< $@
+endif
clean:
rm -f SUBSYS.o $(OBJS) bootstrap.o
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
index 169575e082d..6ef084d04b6 100644
--- a/src/backend/parser/Makefile
+++ b/src/backend/parser/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for parser
#
-# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.28 2000/07/19 16:29:50 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.29 2000/08/28 11:53:19 petere Exp $
#
#-------------------------------------------------------------------------
@@ -30,8 +30,11 @@ $(srcdir)/gram.c $(srcdir)/parse.h: gram.y
mv y.tab.h $(srcdir)/parse.h
$(srcdir)/scan.c: scan.l
- $(LEX) $(LFLAGS) $<
- mv lex.yy.c $@
+ifdef FLEX
+ $(FLEX) $(FLEXFLAGS) -o'$@' $<
+else
+ @$(missing) flex $< $@
+endif
analyze.o keywords.o parse_clause.o parse_expr.o scan.o: $(srcdir)/parse.h
diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile
index d5f5843a738..140ce9df17c 100644
--- a/src/backend/utils/misc/Makefile
+++ b/src/backend/utils/misc/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/backend/utils/misc/Makefile,v 1.17 2000/08/25 10:00:31 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/utils/misc/Makefile,v 1.18 2000/08/28 11:53:20 petere Exp $
subdir = src/backend/utils/misc
top_builddir = ../../../..
@@ -19,18 +19,19 @@ SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
guc-file.c: guc-file.l
- $(LEX) $(LFLAGS) $<
- sed -e 's/lex\.yy\.c/guc-file\.c/g' \
- -e 's/^yy/GUC_yy/g' \
- -e 's/\([^a-zA-Z0-9_]\)yy/\1GUC_yy/g' < lex.yy.c > $@
+ifdef FLEX
+ $(FLEX) $(FLEXFLAGS) $<
+ sed -e 's/^yy/GUC_yy/g' -e 's/\([^a-zA-Z0-9_]\)yy/\1GUC_yy/g' lex.yy.c > $@
rm -f lex.yy.c
-
+else
+ @$(missing) flex $< $@
+endif
# Note: guc-file.c is not deleted by 'make clean',
# since we want to ship it in distribution tarballs.
-
clean:
- rm -f SUBSYS.o $(OBJS) lex.yy.c
+ rm -f SUBSYS.o $(OBJS)
+ @rm -f lex.yy.c
depend dep:
$(CC) -MM $(CFLAGS) *.c >depend
diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile
index 48ab51d5353..bba2ecdeb7e 100644
--- a/src/interfaces/ecpg/preproc/Makefile
+++ b/src/interfaces/ecpg/preproc/Makefile
@@ -32,8 +32,11 @@ $(srcdir)/preproc.c $(srcdir)/preproc.h: preproc.y
mv y.tab.h $(srcdir)/preproc.h
$(srcdir)/pgc.c: pgc.l
- $(LEX) $(LFLAGS) $<
- mv lex.yy.c $@
+ifdef FLEX
+ $(FLEX) $(FLEXFLAGS) -o'$@' $<
+else
+ @$(missing) flex $< $@
+endif
distprep: $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c
@@ -49,7 +52,7 @@ uninstall:
clean distclean:
rm -f *.o ecpg$(X)
# garbage from partial builds
- rm -f y.tab.c y.tab.h lex.yy.c
+ @rm -f y.tab.c y.tab.h
# garbage from development
@rm -f core a.out *~ *.output *.tab.c
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 66013c62a75..17780551b00 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for the plpgsql shared object
#
-# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.5 2000/07/19 16:30:24 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.6 2000/08/28 11:53:23 petere Exp $
#
#-------------------------------------------------------------------------
@@ -60,12 +60,14 @@ $(srcdir)/pl_gram.c $(srcdir)/pl.tab.h: gram.y
sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < y.tab.h > $(srcdir)/pl.tab.h
rm -f y.tab.c y.tab.h
-# Assuming flex here for -i and -l options, since scan.l requires flex anyway.
$(srcdir)/pl_scan.c: scan.l
- $(LEX) $(LFLAGS) -i -l $<
+ifdef FLEX
+ $(FLEX) -i -l $(FLEXFLAGS) $<
sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < lex.yy.c > $@
rm -f lex.yy.c
-
+else
+ @$(missing) flex $< $@
+endif
distprep: $(srcdir)/pl_scan.c $(srcdir)/pl.tab.h $(srcdir)/pl_gram.c
@@ -74,7 +76,8 @@ mklang.sql: mklang.sql.in
clean distclean: clean-lib
- rm -f *.o y.tab.c y.tab.h lex.yy.c mklang.sql
+ rm -f $(OBJS) mklang.sql
+ @rm -f y.tab.c y.tab.h lex.yy.c
maintainer-clean: clean
rm -f $(srcdir)/pl_gram.c $(srcdir)/pl.tab.h $(srcdir)/pl_scan.c