]> granicus.if.org Git - postgresql/commitdiff
Suppress parallel build in interfaces/ecpg/preproc/.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 29 Nov 2012 03:19:46 +0000 (22:19 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 29 Nov 2012 03:19:46 +0000 (22:19 -0500)
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.

src/interfaces/ecpg/Makefile
src/interfaces/ecpg/preproc/Makefile

index 0116ec0db914ce3aa3de5de27efd3cc4a5d922cf..e397210a71192422197f089978235832062e5c99 100644 (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)
 
index 6e117d49c76b2541c1938b9d864d808e77b2d659..583429906769b5ae34613d72a8aeaf4f5b26b9fd 100644 (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