From 0fe585a2f268e4a5b4f6a462622e3591f092d259 Mon Sep 17 00:00:00 2001 From: branch-fixup Date: Thu, 18 Mar 2010 14:38:13 +0000 Subject: [PATCH] Add files from parent branch HEAD: mk/mysql.buildlink3.mk --- mk/mysql.buildlink3.mk | 116 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 mk/mysql.buildlink3.mk diff --git a/mk/mysql.buildlink3.mk b/mk/mysql.buildlink3.mk new file mode 100644 index 000000000000..c453c246ab96 --- /dev/null +++ b/mk/mysql.buildlink3.mk @@ -0,0 +1,116 @@ +# $NetBSD: mysql.buildlink3.mk,v 1.10 2010/03/05 13:47:06 taca Exp $ +# +# This file is included by packages that require some version of the +# MySQL database client. +# +# === User-settable variables === +# +# MYSQL_VERSION_DEFAULT +# The preferred MySQL version. +# +# Possible: 51 50 41 +# Default: 50 +# +# === Package-settable variables === +# +# MYSQL_VERSIONS_ACCEPTED +# The list of MySQL versions that the package accepts. +# +# Possible: (see MYSQL_VERSION_DEFAULT) +# Default: (all) +# + +.if !defined(MYSQL_VERSION_MK) +MYSQL_VERSION_MK= # defined + +_VARGROUPS+= mysql +_USER_VARS.mysql= MYSQL_VERSION_DEFAULT +_PKG_VARS.mysql= MYSQL_VERSIONS_ACCEPTED +_SYS_VARS.mysql= MYSQL_PKGSRCDIR + +.include "../../mk/bsd.prefs.mk" + +MYSQL_VERSION_DEFAULT?= 50 +MYSQL_VERSIONS_ACCEPTED?= 51 50 41 + +# transform the list into individual variables +.for mv in ${MYSQL_VERSIONS_ACCEPTED} +_MYSQL_VERSION_${mv}_OK= yes +.endfor + +# check what is installed +.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.16) +_MYSQL_VERSION_51_INSTALLED= yes +_MYSQL_VERSION_INSTALLED= 51 +.endif + +.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.15) +_MYSQL_VERSION_50_INSTALLED= yes +_MYSQL_VERSION_INSTALLED= 50 +.endif + +.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14) +_MYSQL_VERSION_41_INSTALLED= yes +_MYSQL_VERSION_INSTALLED= 41 +.endif + +# if a version is explicitely required, take it +.if defined(MYSQL_VERSION_REQD) +_MYSQL_VERSION= ${MYSQL_VERSION_REQD} +.endif +# if the default is already installed, it is first choice +.if !defined(_MYSQL_VERSION) +. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) +. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED) +_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} +. endif +. endif +.endif +# prefer an already installed version, in order of "accepted" +.if !defined(_MYSQL_VERSION) +. for mv in ${MYSQL_VERSIONS_ACCEPTED} +. if defined(_MYSQL_VERSION_${mv}_INSTALLED) +_MYSQL_VERSION?= ${mv} +. else +# keep information as last resort - see below +_MYSQL_VERSION_FIRSTACCEPTED?= ${mv} +. endif +. endfor +.endif +# if the default is OK for the addon pkg, take this +.if !defined(_MYSQL_VERSION) +. if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK) +_MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT} +. endif +.endif +# take the first one accepted by the package +.if !defined(_MYSQL_VERSION) +_MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED} +.endif + +# +# set variables for the version we decided to use: +# +.if ${_MYSQL_VERSION} == "51" +MYSQL_PKGSRCDIR= ../../databases/mysql51-client +.elif ${_MYSQL_VERSION} == "50" +MYSQL_PKGSRCDIR= ../../databases/mysql5-client +.elif ${_MYSQL_VERSION} == "41" +MYSQL_PKGSRCDIR= ../../databases/mysql4-client +.else +# force an error +PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package." +.endif + +# +# check installed version aginst required: +# +.if defined(_MYSQL_VERSION_INSTALLED) +.if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED} +PKG_SKIP_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed." +.endif +.endif + +.include "${MYSQL_PKGSRCDIR}/buildlink3.mk" + +.endif # MYSQL_VERSION_MK -- 2.41.0