]> 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:08:32 +0000 (15:08 -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 724aab4961d0ec43c85d1d1245fa3d21f689a687..0116ec0db914ce3aa3de5de27efd3cc4a5d922cf 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-pgtypeslib-recurse all-ecpglib-recurse all-compatlib-recurse all-preproc-recurse: all-include-recurse