git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 634a89c)
Increase minimum supported GNU make version to 3.81.
2022年7月23日 16:12:42 +0000 (12:12 -0400)
2022年7月23日 16:12:42 +0000 (12:12 -0400)
We've long held the minimum at 3.80, but that's required more than
one workaround. Commit 0f39b70a6 broke it again, because it turns
out that exporting a target-specific variable didn't work in 3.80.
Considering that 3.81 is now old enough to get a driver's license,
and that the only remaining buildfarm member testing 3.80 (prairiedog)
is likely to be retired soon, let's just stop supporting 3.80.

Adjust docs and Makefile.global's minimum-version check to match.
There are a couple of comments in the Makefiles suggesting that
random things could be done differently after we desupport 3.80,
but I couldn't get excited about changing any of them right now.

Back-patch to v15, as 0f39b70a6 was.

Discussion: https://postgr.es/m/20220720172321.GL12702@telsasoft.com


diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index 32e0d3fd9d31be72a5829a353c6d080d9050de69..70d188e2bc4960e8c18a3b1038214b93ac51a4ee 100644 (file)
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -77,7 +77,7 @@ su - postgres
<primary>make</primary>
</indexterm>
- <acronym>GNU</acronym> <application>make</application> version 3.80 or newer is required; other
+ <acronym>GNU</acronym> <application>make</application> version 3.81 or newer is required; other
<application>make</application> programs or older <acronym>GNU</acronym> <application>make</application> versions will <emphasis>not</emphasis> work.
(<acronym>GNU</acronym> <application>make</application> is sometimes installed under
the name <filename>gmake</filename>.) To test for <acronym>GNU</acronym>
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index bb177a816226b3f87795931f114ce33d4da5f5af..14fdd4ef7b1f732a721b2d8d64486ccf2f52339a 100644 (file)
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -635,7 +635,6 @@ submake-libpgfeutils: | submake-generated-headers
ifneq ($(USE_MODULE_DB),)
PL_TESTDB = pl_regression_$(NAME)
- # Replace this with $(or ...) if we ever require GNU make 3.81.
ifneq ($(MODULE_big),)
CONTRIB_TESTDB=contrib_regression_$(MODULE_big)
ISOLATION_TESTDB=isolation_regression_$(MODULE_big)
@@ -872,11 +871,11 @@ install-strip:
# allows parallel make across directories and lets make -k and -q work
# correctly.
-# We need the $(eval) function and order-only prerequisites, which are
-# available in GNU make 3.80. That also happens to be the version
-# where the .VARIABLES variable was introduced, so this is a simple check.
-ifndef .VARIABLES
-$(error GNU make 3.80 or newer is required. You are using version $(MAKE_VERSION))
+# We need the ability to export target-specific variables, which was
+# added in GNU make 3.81. That also happens to be the version
+# where the .FEATURES variable was introduced, so this is a simple check.
+ifndef .FEATURES
+$(error GNU make 3.81 or newer is required. You are using version $(MAKE_VERSION))
endif
# This function is only for internal use below. It should be called
@@ -884,7 +883,7 @@ endif
# given subdirectory. For the tree-wide all/install/check/installcheck cases,
# ensure we do our one-time tasks before recursing (see targets above).
# Note that to avoid a nasty bug in make 3.80,
-# this function has to avoid using any complicated constructs (like
+# this function was written to not use any complicated constructs (like
# multiple targets on a line) and also not contain any lines that expand
# to more than about 200 bytes. This is why we make it apply to just one
# subdirectory at a time, rather than to a list of subdirectories.
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /