]> granicus.if.org Git - postgresql/commitdiff
Use .NOTPARALLEL in ecpg/Makefile to avoid a gmake parallelism bug.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 9 Sep 2012 19:08:32 +0000 (15:08 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 9 Sep 2012 19:09:11 +0000 (15:09 -0400)
Investigation shows that some intermittent build failures in ecpg are the
result of a gmake bug that was reported quite some time ago:
http://savannah.gnu.org/bugs/?30653

Preventing parallel builds of the ecpg subdirectories seems to dodge the
bug.  Per yesterday's pgsql-hackers discussion, there are some other things
in the subdirectory makefiles that seem rather unsafe for parallel builds
too, but there's little point in fixing them as long as we have to work
around a make bug.

Back-patch to 9.1; parallel builds weren't very well supported before
that anyway.

src/interfaces/ecpg/Makefile

index e89f2fe0f28d987a2057ea4cfc5079f238e589ba..d4b37e972378a30c8dbb8d755c38145f8e06ab36 100644 (file)
@@ -4,6 +4,14 @@ include $(top_builddir)/src/Makefile.global
 
 SUBDIRS = include pgtypeslib ecpglib compatlib preproc
 
+# Suppress parallel build of subdirectories to avoid a bug in gmake 3.82, cf
+# http://savannah.gnu.org/bugs/?30653
+# https://bugzilla.redhat.com/show_bug.cgi?id=835424
+# (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.)
+.NOTPARALLEL:
+
 $(recurse)
 
 all-compatlib-recurse: all-ecpglib-recurse