Changeset View
Changeset View
Standalone View
Standalone View
Mk/Uses/mysql.mk
Show All 19 Lines | |||||
# MYSQL_VER | # MYSQL_VER | ||||
# Detected MySQL version. | # Detected MySQL version. | ||||
# | # | ||||
# MAINTAINER: ports@FreeBSD.org | # MAINTAINER: ports@FreeBSD.org | ||||
.if !defined(_INCLUDE_USES_MYSQL_MK) | .if !defined(_INCLUDE_USES_MYSQL_MK) | ||||
_INCLUDE_USES_MYSQL_MK= yes | _INCLUDE_USES_MYSQL_MK= yes | ||||
.if !empty(mysql_ARGS) | . if !empty(mysql_ARGS) | ||||
.undef _WANT_MYSQL_VER | .undef _WANT_MYSQL_VER | ||||
.undef _WANT_MYSQL_SERVER | .undef _WANT_MYSQL_SERVER | ||||
.undef _WANT_MYSQL_EMBEDDED | .undef _WANT_MYSQL_EMBEDDED | ||||
_MYSQL_ARGS= ${mysql_ARGS:S/,/ /g} | _MYSQL_ARGS= ${mysql_ARGS:S/,/ /g} | ||||
.if ${_MYSQL_ARGS:Mserver} | . if ${_MYSQL_ARGS:Mserver} | ||||
_WANT_MYSQL_SERVER= yes | _WANT_MYSQL_SERVER= yes | ||||
_MYSQL_ARGS:= ${_MYSQL_ARGS:Nserver} | _MYSQL_ARGS:= ${_MYSQL_ARGS:Nserver} | ||||
.endif | . endif | ||||
.if ${_MYSQL_ARGS:Membedded} | . if ${_MYSQL_ARGS:Membedded} | ||||
_WANT_MYSQL_EMBEDDED= yes | _WANT_MYSQL_EMBEDDED= yes | ||||
_MYSQL_ARGS:= ${_MYSQL_ARGS:Nembedded} | _MYSQL_ARGS:= ${_MYSQL_ARGS:Nembedded} | ||||
.endif | . endif | ||||
.if ${_MYSQL_ARGS:Mclient} | . if ${_MYSQL_ARGS:Mclient} | ||||
_WANT_MYSQL_CLIENT= yes | _WANT_MYSQL_CLIENT= yes | ||||
_MYSQL_ARGS:= ${_MYSQL_ARGS:Nclient} | _MYSQL_ARGS:= ${_MYSQL_ARGS:Nclient} | ||||
.endif | . endif | ||||
# Port requested a version | # Port requested a version | ||||
.if !empty(_MYSQL_ARGS) | . if !empty(_MYSQL_ARGS) | ||||
_WANT_MYSQL_VER= ${_MYSQL_ARGS} | _WANT_MYSQL_VER= ${_MYSQL_ARGS} | ||||
.if (${_WANT_MYSQL_VER:C/[0-9]*//} == "m") | . if (${_WANT_MYSQL_VER:C/[0-9]*//} == "m") | ||||
_WANT_MYSQL_FLAVOUR= mariadb | _WANT_MYSQL_FLAVOUR= mariadb | ||||
.elif (${_WANT_MYSQL_VER:C/[0-9]*//} == "p") | . elif (${_WANT_MYSQL_VER:C/[0-9]*//} == "p") | ||||
_WANT_MYSQL_FLAVOUR= percona | _WANT_MYSQL_FLAVOUR= percona | ||||
.else | . else | ||||
_WANT_MYSQL_FLAVOUR= mysql | _WANT_MYSQL_FLAVOUR= mysql | ||||
.endif | . endif | ||||
.endif | . endif | ||||
.endif # !empty(mysql_ARGS) | . endif # !empty(mysql_ARGS) | ||||
.if defined(DEFAULT_MYSQL_VER) | . if defined(DEFAULT_MYSQL_VER) | ||||
WARNING+= "DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead" | WARNING+= "DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead" | ||||
.endif | . endif | ||||
DEFAULT_MYSQL_VER?= ${MYSQL_DEFAULT:S/.//} | DEFAULT_MYSQL_VER?= ${MYSQL_DEFAULT:S/.//} | ||||
# MySQL client version currently supported. | # MySQL client version currently supported. | ||||
# When adding a version, please keep the comment in | # When adding a version, please keep the comment in | ||||
# Mk/bsd.default-versions.mk in sync. | # Mk/bsd.default-versions.mk in sync. | ||||
.for v in 55 55m 56 56p 56w 100m 101m | . for v in 55 55m 56 56p 56w 100m 101m | ||||
MYSQL${v}_LIBVER= 18 | MYSQL${v}_LIBVER= 18 | ||||
.endfor | . endfor | ||||
MYSQL57_LIBVER= 20 | MYSQL57_LIBVER= 20 | ||||
MYSQL57p_LIBVER= 20 | MYSQL57p_LIBVER= 20 | ||||
MYSQL80_LIBVER= 21 | MYSQL80_LIBVER= 21 | ||||
MYSQL102m_LIBVER= 3 | MYSQL102m_LIBVER= 3 | ||||
MYSQL103m_LIBVER= 3 | MYSQL103m_LIBVER= 3 | ||||
MYSQL104m_LIBVER= 3 | MYSQL104m_LIBVER= 3 | ||||
MYSQL105m_LIBVER= 3 | MYSQL105m_LIBVER= 3 | ||||
MYSQL106m_LIBVER= 3 | MYSQL106m_LIBVER= 3 | ||||
# Setting/finding MySQL version we want. | # Setting/finding MySQL version we want. | ||||
.if exists(${LOCALBASE}/bin/mysql) | . if exists(${LOCALBASE}/bin/mysql) | ||||
_MYSQL!= ${LOCALBASE}/bin/mysql_config --version | ${SED} -e 's/\([0-9]\{1,2\}\)\.\([0-9]*\).*/\1\2/' | _MYSQL!= ${LOCALBASE}/bin/mysql_config --version | ${SED} -e 's/\([0-9]\{1,2\}\)\.\([0-9]*\).*/\1\2/' | ||||
_PERCONA!= ${LOCALBASE}/bin/mysql --version | ${GREP} Percona | wc -l | _PERCONA!= ${LOCALBASE}/bin/mysql --version | ${GREP} Percona | wc -l | ||||
_MARIADB!= ${LOCALBASE}/bin/mysql --version | ${GREP} MariaDB | wc -l | _MARIADB!= ${LOCALBASE}/bin/mysql --version | ${GREP} MariaDB | wc -l | ||||
.if ${_PERCONA} == 1 | . if ${_PERCONA} == 1 | ||||
_MYSQL_VER= ${_MYSQL}p | _MYSQL_VER= ${_MYSQL}p | ||||
_MYSQL_FLAVOUR= percona | _MYSQL_FLAVOUR= percona | ||||
.elif ${_MARIADB} == 1 | . elif ${_MARIADB} == 1 | ||||
_MYSQL_VER= ${_MYSQL}m | _MYSQL_VER= ${_MYSQL}m | ||||
_MYSQL_FLAVOUR= mariadb | _MYSQL_FLAVOUR= mariadb | ||||
.else | . else | ||||
_MYSQL_VER= ${_MYSQL} | _MYSQL_VER= ${_MYSQL} | ||||
_MYSQL_FLAVOUR= mysql | _MYSQL_FLAVOUR= mysql | ||||
.endif | . endif | ||||
.endif | . endif | ||||
.if defined(_WANT_MYSQL_VER) | . if defined(_WANT_MYSQL_VER) | ||||
.if defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "m") | . if defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "m") | ||||
WITH_MYSQL_FLAVOUR= mariadb | WITH_MYSQL_FLAVOUR= mariadb | ||||
.elif defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "p") | . elif defined(WITH_MYSQL_VER) && (${WITH_MYSQL_VER:C/[0-9]*//} == "p") | ||||
WITH_MYSQL_FLAVOUR= percona | WITH_MYSQL_FLAVOUR= percona | ||||
.else | . else | ||||
WITH_MYSQL_FLAVOUR= mysql | WITH_MYSQL_FLAVOUR= mysql | ||||
.endif | . endif | ||||
.if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${_WANT_MYSQL_VER} | . if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${_WANT_MYSQL_VER} | ||||
IGNORE= cannot install: the port wants ${_WANT_MYSQL_FLAVOUR}${_WANT_MYSQL_VER:C/[mpw]//}-client and you try to install ${WITH_MYSQL_FLAVOUR}${WITH_MYSQL_VER:C/[mpw]//}-client | IGNORE= cannot install: the port wants ${_WANT_MYSQL_FLAVOUR}${_WANT_MYSQL_VER:C/[mpw]//}-client and you try to install ${WITH_MYSQL_FLAVOUR}${WITH_MYSQL_VER:C/[mpw]//}-client | ||||
.endif | . endif | ||||
MYSQL_VER= ${_WANT_MYSQL_VER} | MYSQL_VER= ${_WANT_MYSQL_VER} | ||||
.elif defined(WITH_MYSQL_VER) | . elif defined(WITH_MYSQL_VER) | ||||
MYSQL_VER= ${WITH_MYSQL_VER} | MYSQL_VER= ${WITH_MYSQL_VER} | ||||
.else | . else | ||||
.if defined(_MYSQL_VER) | . if defined(_MYSQL_VER) | ||||
MYSQL_VER= ${_MYSQL_VER} | MYSQL_VER= ${_MYSQL_VER} | ||||
.else | . else | ||||
MYSQL_VER= ${DEFAULT_MYSQL_VER} | MYSQL_VER= ${DEFAULT_MYSQL_VER} | ||||
.endif | . endif | ||||
.endif # _WANT_MYSQL_VER | . endif # _WANT_MYSQL_VER | ||||
.if ${MYSQL_VER:C/[0-9]*//} == "m" | . if ${MYSQL_VER:C/[0-9]*//} == "m" | ||||
MYSQL_FLAVOUR= mariadb | MYSQL_FLAVOUR= mariadb | ||||
.elif ${MYSQL_VER:C/[0-9]*//} == "p" | . elif ${MYSQL_VER:C/[0-9]*//} == "p" | ||||
MYSQL_FLAVOUR= percona | MYSQL_FLAVOUR= percona | ||||
.else | . else | ||||
MYSQL_FLAVOUR= mysql | MYSQL_FLAVOUR= mysql | ||||
.endif | . endif | ||||
.if defined(_MYSQL_VER) | . if defined(_MYSQL_VER) | ||||
.if ${_MYSQL_VER} != ${MYSQL_VER} | . if ${_MYSQL_VER} != ${MYSQL_VER} | ||||
IGNORE= cannot install: MySQL versions mismatch: ${_MYSQL_FLAVOUR}${_MYSQL_VER:C/[mpw]//}-client is installed and wanted version is ${MYSQL_FLAVOUR}${MYSQL_VER:C/[mpw]//}-client | IGNORE= cannot install: MySQL versions mismatch: ${_MYSQL_FLAVOUR}${_MYSQL_VER:C/[mpw]//}-client is installed and wanted version is ${MYSQL_FLAVOUR}${MYSQL_VER:C/[mpw]//}-client | ||||
.endif | . endif | ||||
.endif | . endif | ||||
_MYSQL_SHLIB= libmysqlclient | _MYSQL_SHLIB= libmysqlclient | ||||
.if (${MYSQL_VER:C/[0-9]*//} == "m") | . if (${MYSQL_VER:C/[0-9]*//} == "m") | ||||
_MYSQL_SERVER_FLAVOUR= mariadb | _MYSQL_SERVER_FLAVOUR= mariadb | ||||
_MYSQL_CLIENT_FLAVOUR= mariadb | _MYSQL_CLIENT_FLAVOUR= mariadb | ||||
. if ${MYSQL_VER:C/m//} >= 102 | . if ${MYSQL_VER:C/m//} >= 102 | ||||
_MYSQL_SHLIB= libmariadb | _MYSQL_SHLIB= libmariadb | ||||
. endif | . endif | ||||
.elif (${MYSQL_VER:C/[0-9]*//} == "p") | . elif (${MYSQL_VER:C/[0-9]*//} == "p") | ||||
_MYSQL_SERVER_FLAVOUR= percona | _MYSQL_SERVER_FLAVOUR= percona | ||||
_MYSQL_CLIENT_FLAVOUR= percona | _MYSQL_CLIENT_FLAVOUR= percona | ||||
.elif (${MYSQL_VER:C/[0-9]*//} == "w") | . elif (${MYSQL_VER:C/[0-9]*//} == "w") | ||||
_MYSQL_SERVER_FLAVOUR= mysqlwsrep | _MYSQL_SERVER_FLAVOUR= mysqlwsrep | ||||
_MYSQL_CLIENT_FLAVOUR= mysql | _MYSQL_CLIENT_FLAVOUR= mysql | ||||
.else | . else | ||||
_MYSQL_SERVER_FLAVOUR= mysql | _MYSQL_SERVER_FLAVOUR= mysql | ||||
_MYSQL_CLIENT_FLAVOUR= mysql | _MYSQL_CLIENT_FLAVOUR= mysql | ||||
.endif | . endif | ||||
_MYSQL_CLIENT= databases/${_MYSQL_CLIENT_FLAVOUR}${MYSQL_VER:C/[mp]//}-client | _MYSQL_CLIENT= databases/${_MYSQL_CLIENT_FLAVOUR}${MYSQL_VER:C/[mp]//}-client | ||||
_MYSQL_SERVER= databases/${_MYSQL_SERVER_FLAVOUR}${MYSQL_VER:C/[mp]//}-server | _MYSQL_SERVER= databases/${_MYSQL_SERVER_FLAVOUR}${MYSQL_VER:C/[mp]//}-server | ||||
# And now we are checking if we can use it | # And now we are checking if we can use it | ||||
.if defined(MYSQL${MYSQL_VER}_LIBVER) | . if defined(MYSQL${MYSQL_VER}_LIBVER) | ||||
.if defined(IGNORE_WITH_MYSQL) | . if defined(IGNORE_WITH_MYSQL) | ||||
. for VER in ${IGNORE_WITH_MYSQL} | . for VER in ${IGNORE_WITH_MYSQL} | ||||
. if (${MYSQL_VER} == "${VER}") | . if (${MYSQL_VER} == "${VER}") | ||||
IGNORE= cannot install: does not work with MySQL version ${MYSQL_VER} (MySQL ${IGNORE_WITH_MYSQL} not supported) | IGNORE= cannot install: does not work with MySQL version ${MYSQL_VER} (MySQL ${IGNORE_WITH_MYSQL} not supported) | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
.endif # IGNORE_WITH_MYSQL | . endif # IGNORE_WITH_MYSQL | ||||
.if defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED) | . if defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED) | ||||
RUN_DEPENDS+= ${LOCALBASE}/libexec/mysqld:${_MYSQL_SERVER} | RUN_DEPENDS+= ${LOCALBASE}/libexec/mysqld:${_MYSQL_SERVER} | ||||
.if defined(_WANT_MYSQL_EMBEDDED) | . if defined(_WANT_MYSQL_EMBEDDED) | ||||
BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${_MYSQL_SERVER} | BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${_MYSQL_SERVER} | ||||
.endif | . endif | ||||
.endif | . endif | ||||
.if defined(_WANT_MYSQL_CLIENT) || \ | . if defined(_WANT_MYSQL_CLIENT) || \ | ||||
!(defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED)) | !(defined(_WANT_MYSQL_SERVER) || defined(_WANT_MYSQL_EMBEDDED)) | ||||
LIB_DEPENDS+= ${_MYSQL_SHLIB}.so.${MYSQL${MYSQL_VER}_LIBVER}:${_MYSQL_CLIENT} | LIB_DEPENDS+= ${_MYSQL_SHLIB}.so.${MYSQL${MYSQL_VER}_LIBVER}:${_MYSQL_CLIENT} | ||||
.endif | . endif | ||||
.else | . else | ||||
IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER} | IGNORE= cannot install: unknown MySQL version: ${MYSQL_VER} | ||||
.endif # Check for correct libs | . endif # Check for correct libs | ||||
.endif | .endif |