mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Increase minimum supported GNU make version to 3.81.
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
This commit is contained in:
parent
634a89c708
commit
8efefa7487
@ -77,7 +77,7 @@ su - postgres
|
|||||||
<primary>make</primary>
|
<primary>make</primary>
|
||||||
</indexterm>
|
</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.
|
<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
|
(<acronym>GNU</acronym> <application>make</application> is sometimes installed under
|
||||||
the name <filename>gmake</filename>.) To test for <acronym>GNU</acronym>
|
the name <filename>gmake</filename>.) To test for <acronym>GNU</acronym>
|
||||||
|
@ -635,7 +635,6 @@ submake-libpgfeutils: | submake-generated-headers
|
|||||||
|
|
||||||
ifneq ($(USE_MODULE_DB),)
|
ifneq ($(USE_MODULE_DB),)
|
||||||
PL_TESTDB = pl_regression_$(NAME)
|
PL_TESTDB = pl_regression_$(NAME)
|
||||||
# Replace this with $(or ...) if we ever require GNU make 3.81.
|
|
||||||
ifneq ($(MODULE_big),)
|
ifneq ($(MODULE_big),)
|
||||||
CONTRIB_TESTDB=contrib_regression_$(MODULE_big)
|
CONTRIB_TESTDB=contrib_regression_$(MODULE_big)
|
||||||
ISOLATION_TESTDB=isolation_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
|
# allows parallel make across directories and lets make -k and -q work
|
||||||
# correctly.
|
# correctly.
|
||||||
|
|
||||||
# We need the $(eval) function and order-only prerequisites, which are
|
# We need the ability to export target-specific variables, which was
|
||||||
# available in GNU make 3.80. That also happens to be the version
|
# added in GNU make 3.81. That also happens to be the version
|
||||||
# where the .VARIABLES variable was introduced, so this is a simple check.
|
# where the .FEATURES variable was introduced, so this is a simple check.
|
||||||
ifndef .VARIABLES
|
ifndef .FEATURES
|
||||||
$(error GNU make 3.80 or newer is required. You are using version $(MAKE_VERSION))
|
$(error GNU make 3.81 or newer is required. You are using version $(MAKE_VERSION))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# This function is only for internal use below. It should be called
|
# 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,
|
# given subdirectory. For the tree-wide all/install/check/installcheck cases,
|
||||||
# ensure we do our one-time tasks before recursing (see targets above).
|
# ensure we do our one-time tasks before recursing (see targets above).
|
||||||
# Note that to avoid a nasty bug in make 3.80,
|
# 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
|
# 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
|
# 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.
|
# subdirectory at a time, rather than to a list of subdirectories.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user