Suppress parallel build in interfaces/ecpg/preproc/.

This is to see if it will stop intermittent build failures on buildfarm
member okapi.  We know that gmake 3.82 has some problems with sometimes
not honoring dependencies in parallel builds, and it seems likely that
this is more of the same.  Since the vast bulk of the work in the preproc
directory is associated with creating preproc.c and then preproc.o,
parallelism buys us hardly anything here anyway.

Also, make both this .NOTPARALLEL and the one previously added in
interfaces/ecpg/Makefile be conditional on "ifeq ($(MAKE_VERSION),3.82)".
The known bug in gmake is fixed upstream and should not be present in
3.83 and up, and there's no reason to think it affects older releases.
This commit is contained in:
Tom Lane 2012-11-28 22:19:46 -05:00
parent 3c84046490
commit 1fc698cf14
2 changed files with 8 additions and 0 deletions

View File

@ -10,7 +10,9 @@ SUBDIRS = include pgtypeslib ecpglib compatlib preproc
# (There are some other parallelism bugs in the subdirectory makefiles
# themselves, but there's little point in fixing them as long as we have
# to use this big hammer.)
ifeq ($(MAKE_VERSION),3.82)
.NOTPARALLEL:
endif
$(recurse)

View File

@ -30,6 +30,12 @@ OBJS= preproc.o type.o ecpg.o output.o parser.o \
keywords.o c_keywords.o ecpg_keywords.o kwlookup.o ../ecpglib/typename.o descriptor.o variable.o \
$(WIN32RES)
# Suppress parallel build to avoid a bug in gmake 3.82
# (see comments in ../Makefile)
ifeq ($(MAKE_VERSION),3.82)
.NOTPARALLEL:
endif
all: ecpg
ecpg: $(OBJS) | submake-libpgport