summaryrefslogtreecommitdiff
path: root/mk/pgsql.buildlink3.mk
diff options
context:
space:
mode:
authorrecht <recht>2004-07-23 21:40:00 +0000
committerrecht <recht>2004-07-23 21:40:00 +0000
commit71aebca081c2d28721b5d8c07ca5b1f928cd4e04 (patch)
treee6d1241f0ee927dc6745e7441f117ca0769cb6d0 /mk/pgsql.buildlink3.mk
parent2b693b8cd819860deb8099bce7533f86e147dc81 (diff)
downloadpkgsrc-71aebca081c2d28721b5d8c07ca5b1f928cd4e04.tar.gz
pgsql.buildlink3.mk is used to select a PostgreSQL version for use by
pkgsrc. It is modeled after lang/python/pyversion.mk and like it could be influenced by user- and package-settable variables. More precisely, tt's behaviour is controlled by the following two variables: - PGSQL_VERSION_DEFAULT A user-settable variable to choose the default PostgreSQL version. Default: 74 - PGSQL_VERSIONS_ACCEPTED A package-settable list of PostgreSQL versions accepted by the package. Default: 74 73 After postgresql-* has been reimported as postgresql73* all depending packages should be changed to use mk/pgsql.buildlink3.mk.
Diffstat (limited to 'mk/pgsql.buildlink3.mk')
-rw-r--r--mk/pgsql.buildlink3.mk74
1 files changed, 74 insertions, 0 deletions
diff --git a/mk/pgsql.buildlink3.mk b/mk/pgsql.buildlink3.mk
new file mode 100644
index 00000000000..b7bf3aa4d11
--- /dev/null
+++ b/mk/pgsql.buildlink3.mk
@@ -0,0 +1,74 @@
+# $NetBSD: pgsql.buildlink3.mk,v 1.1 2004/07/23 21:40:00 recht Exp $
+
+.if !defined(PGVERSION_MK)
+PGVERSION_MK= defined
+
+.include "../../mk/bsd.prefs.mk"
+
+PGSQL_VERSION_DEFAULT?= 74
+PGSQL_VERSIONS_ACCEPTED?= 74 73
+
+# transform the list into individual variables
+.for pv in ${PGSQL_VERSIONS_ACCEPTED}
+_PGSQL_VERSION_${pv}_OK= yes
+.endfor
+
+# check what is installed
+.if exists(${LOCALBASE}/lib/libecpg.so.4)
+_PGSQL_VERSION_74_INSTALLED= yes
+.endif
+.if exists(${LOCALBASE}/lib/libecpg.so.3)
+_PGSQL_VERSION_73_INSTALLED=yes
+.endif
+
+# if a version is explicitely required, take it
+.if defined(PGSQL_VERSION_REQD)
+_PGSQL_VERSION= ${PGSQL_VERSION_REQD}
+.endif
+# if the default is already installed, it is first choice
+.if !defined(_PGSQL_VERSION)
+.if defined(_PGSQL_VERSION_${PGSQL_VERSION_DEFAULT}_OK)
+.if defined(_PGSQL_VERSION_${PGSQL_VERSION_DEFAULT}_INSTALLED)
+_PGSQL_VERSION= ${PGSQL_VERSION_DEFAULT}
+.endif
+.endif
+.endif
+# prefer an already installed version, in order of "accepted"
+.if !defined(_PGSQL_VERSION)
+.for pv in ${PGSQL_VERSIONS_ACCEPTED}
+.if defined(_PGSQL_VERSION_${pv}_INSTALLED)
+_PGSQL_VERSION?= ${pv}
+.else
+# keep information as last resort - see below
+_PGSQL_VERSION_FIRSTACCEPTED?= ${pv}
+.endif
+.endfor
+.endif
+# if the default is OK for the addon pkg, take this
+.if !defined(_PGSQL_VERSION)
+.if defined(_PGSQL_VERSION_${PGSQL_VERSION_DEFAULT}_OK)
+_PGSQL_VERSION= ${PGSQL_VERSION_DEFAULT}
+.endif
+.endif
+# take the first one accepted by the package
+.if !defined(_PGSQL_VERSION)
+_PGSQL_VERSION= ${_PGSQL_VERSION_FIRSTACCEPTED}
+.endif
+
+#
+# set variables for the version we decided to use:
+#
+.if ${_PGSQL_VERSION} == "74"
+PGPKGSRCDIR= ../../databases/postgresql74-lib
+.elif ${_PGSQL_VERSION} == "73"
+PGPKGSRCDIR= ../../databases/postgresql73-lib
+.else
+# force an error
+ error: no valid PostgreSQL version
+.endif
+
+.if (defined(USE_BUILDLINK3) && empty(USE_BUILDLINK3:M[nN][oO]))
+. include "${PGPKGSRCDIR}/buildlink3.mk"
+.endif
+
+.endif # PGVERSION_MK