aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mk/Uses/pgsql.mk23
1 files changed, 21 insertions, 2 deletions
diff --git a/Mk/Uses/pgsql.mk b/Mk/Uses/pgsql.mk
index c920fffbe938..ee2f668259b8 100644
--- a/Mk/Uses/pgsql.mk
+++ b/Mk/Uses/pgsql.mk
@@ -5,8 +5,16 @@
# Feature: pgsql
# Usage: USES= pgsql[:version]
#
-# Maintainer can set version required. Minimum and maximum
-# versions can be specified; e.g. 9.0-, 9.2+
+# version Maintainer can set versions required. You can set this to
+# [min]-[max] or min+ or -max or as an explicit version
+# (eg. 9.3-9.6 for [min]-[max], 9.5+ or 9.6-
+# for min+ and max-, 9.4 for an explicit version). Example:
+#
+# USES=pgsql:9.4 # Only use PostgreSQL 9.4
+# USES=pgsql:9.3+ # Use PostgreSQL 9.3 or newer
+# USES=pgsql:9.3-9.6 # Use PostgreSQL between 9.3 & 9.6
+# USES=pgsql:9.6- # Use any PostgreSQL up to 9.6
+# USES=pgsql # Use the default PostgreSQL
#
# WANT_PGSQL= server[:fetch] plperl plpython pltcl
#
@@ -80,6 +88,17 @@ _WANT_PGSQL_VER+=${version}
_WANT_PGSQL_VER+=${version}
. endif
. endfor
+. elif ${pgsql_ARGS:M*-*}
+_MIN=${pgsql_ARGS:M?*-?*:C,-.*,,}
+_MAX=${pgsql_ARGS:M?*-?*:C,.*-,,}
+. if ${_MIN} > ${_MAX}
+IGNORE= The minimum version must be higher than the maximum version wanted
+. endif
+. for version in ${VALID_PGSQL_VER}
+. if ${_MIN} <= ${version} && ${_MAX} >= ${version}
+_WANT_PGSQL_VER+= ${version}
+. endif
+. endfor
. endif
_WANT_PGSQL_VER?= ${pgsql_ARGS}
. endif