Put back parallel-safety guards in plpython and src/test/regress/.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 10 Apr 2018 20:14:55 +0000 (16:14 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 10 Apr 2018 20:15:04 +0000 (16:15 -0400)
commit31f1f0bb4fd642643994d35c35ecb5b929711a99
tree7d9d311a8ad15420038241314c44ed5fd0263463
parent15a8f8caad14c1f85b23d97842d0c27b106cc10e
Put back parallel-safety guards in plpython and src/test/regress/.

I'd hoped that commit 3b8f6e75f was sufficient to ensure parallel safety
even when a build started in a subdirectory requires rebuilding of
generated headers.  This isn't so, because making submake-generated-headers
a prerequisite of "all" isn't enough to ensure it's completed before
starting on "all"'s other prerequisites.  The explicit dependencies we put
on the recursive make targets ensure safe ordering before we recurse into
child directories, but they don't protect targets to be made in the current
directory.  Hence, put back some ordering dependencies in directories that
we've traditionally expected to be starting points for "standalone" builds,
to wit src/pl/plpython and src/test/regress.  (The former needs this in
order to minimize the work involved in building for both python 2 and
python 3; the latter to support packagings that make the regression tests
available for out-of-build-tree execution.)  Adjust some other dependencies
so that these two cases work correctly even at high -j settings.

I'm not terribly happy with this partial solution, but I don't see a
way to do better without massive makefile restructuring, which we surely
aren't doing at this point in the development cycle.  In any case, it's
little if any worse than what we had in prior releases.

Discussion: https://postgr.es/m/1523353963.8169.26.camel@gunduz.org
src/Makefile.global.in
src/pl/plpython/Makefile
src/test/regress/GNUmakefile