summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2012-09-09 19:08:32 +0000
committerTom Lane2012-09-09 19:09:04 +0000
commitaf3de2d19ec65216737192b8cdd948331c3f2e80 (patch)
tree368adf07f119221f753a8fca4dc3a0cd97e77c9f
parent770556d6c69c4edf219d4ace2e4fb29a1f2c35df (diff)
Use .NOTPARALLEL in ecpg/Makefile to avoid a gmake parallelism bug.
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.
-rw-r--r--src/interfaces/ecpg/Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile
index 724aab4961d..0116ec0db91 100644
--- a/src/interfaces/ecpg/Makefile
+++ b/src/interfaces/ecpg/Makefile
@@ -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