Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / mk / mysql.buildlink3.mk
blob3d36613c1bcb653803c45c0b654b8e7e38c89d89
1 # $NetBSD: mysql.buildlink3.mk,v 1.16 2013/03/02 20:33:03 wiz Exp $
3 # This file is included by packages that require some version of the
4 # MySQL database client.
6 # === User-settable variables ===
8 # MYSQL_VERSION_DEFAULT
9 # The preferred MySQL version.
11 # Possible: 56 55 51 50
12 # Default: 55
14 # === Package-settable variables ===
16 # MYSQL_VERSIONS_ACCEPTED
17 # The list of MySQL versions that the package accepts.
19 # Possible: (see MYSQL_VERSION_DEFAULT)
20 # Default: (all)
23 .if !defined(MYSQL_VERSION_MK)
24 MYSQL_VERSION_MK= # defined
26 _VARGROUPS+= mysql
27 _USER_VARS.mysql= MYSQL_VERSION_DEFAULT
28 _PKG_VARS.mysql= MYSQL_VERSIONS_ACCEPTED
29 _SYS_VARS.mysql= MYSQL_PKGSRCDIR
31 .include "../../mk/bsd.prefs.mk"
33 MYSQL_VERSION_DEFAULT?= 55
34 MYSQL_VERSIONS_ACCEPTED?= 56 55 51 50
36 # transform the list into individual variables
37 .for mv in ${MYSQL_VERSIONS_ACCEPTED}
38 _MYSQL_VERSION_${mv}_OK= yes
39 .endfor
41 # check what is installed
42 .if ${OPSYS} == "Darwin"
43 . if exists(${LOCALBASE}/lib/libmysqlclient.18.dylib)
44 . if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h)
45 _MYSQL_VERSION_56_INSTALLED= yes
46 _MYSQL_VERSION_INSTALLED= 56
47 . else
48 _MYSQL_VERSION_55_INSTALLED= yes
49 _MYSQL_VERSION_INSTALLED= 55
50 . endif
51 . endif
52 . if exists(${LOCALBASE}/lib/mysql/libmysqlclient.16.dylib)
53 _MYSQL_VERSION_51_INSTALLED= yes
54 _MYSQL_VERSION_INSTALLED= 51
55 . endif
56 . if exists(${LOCALBASE}/lib/mysql/libmysqlclient.15.dylib)
57 _MYSQL_VERSION_50_INSTALLED= yes
58 _MYSQL_VERSION_INSTALLED= 50
59 . endif
60 .else
61 . if exists(${LOCALBASE}/lib/libmysqlclient.so.18)
62 . if exists(${LOCALBASE}/include/mysql/mysql/client_authentication.h)
63 _MYSQL_VERSION_56_INSTALLED= yes
64 _MYSQL_VERSION_INSTALLED= 56
65 . else
66 _MYSQL_VERSION_55_INSTALLED= yes
67 _MYSQL_VERSION_INSTALLED= 55
68 . endif
69 . endif
70 . if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.16)
71 _MYSQL_VERSION_51_INSTALLED= yes
72 _MYSQL_VERSION_INSTALLED= 51
73 . endif
74 . if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.15)
75 _MYSQL_VERSION_50_INSTALLED= yes
76 _MYSQL_VERSION_INSTALLED= 50
77 . endif
78 .endif
81 # if a version is explicitely required, take it
82 .if defined(MYSQL_VERSION_REQD)
83 _MYSQL_VERSION= ${MYSQL_VERSION_REQD}
84 .endif
85 # if the default is already installed, it is first choice
86 .if !defined(_MYSQL_VERSION)
87 . if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
88 . if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED)
89 _MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
90 . endif
91 . endif
92 .endif
93 # prefer an already installed version, in order of "accepted"
94 .if !defined(_MYSQL_VERSION)
95 . for mv in ${MYSQL_VERSIONS_ACCEPTED}
96 . if defined(_MYSQL_VERSION_${mv}_INSTALLED)
97 _MYSQL_VERSION?= ${mv}
98 . else
99 # keep information as last resort - see below
100 _MYSQL_VERSION_FIRSTACCEPTED?= ${mv}
101 . endif
102 . endfor
103 .endif
104 # if the default is OK for the addon pkg, take this
105 .if !defined(_MYSQL_VERSION)
106 . if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
107 _MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
108 . endif
109 .endif
110 # take the first one accepted by the package
111 .if !defined(_MYSQL_VERSION)
112 _MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED}
113 .endif
116 # set variables for the version we decided to use:
118 .if ${_MYSQL_VERSION} == "56"
119 MYSQL_PKGSRCDIR= ../../databases/mysql56-client
120 .elif ${_MYSQL_VERSION} == "55"
121 MYSQL_PKGSRCDIR= ../../databases/mysql55-client
122 .elif ${_MYSQL_VERSION} == "51"
123 MYSQL_PKGSRCDIR= ../../databases/mysql51-client
124 .elif ${_MYSQL_VERSION} == "50"
125 MYSQL_PKGSRCDIR= ../../databases/mysql5-client
126 .else
127 # force an error
128 PKG_FAIL_REASON+= "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package."
129 .endif
132 # check installed version aginst required:
134 .if defined(_MYSQL_VERSION_INSTALLED)
135 . if ${_MYSQL_VERSION} != ${_MYSQL_VERSION_INSTALLED}
136 PKG_SKIP_REASON+= "${PKGBASE} requires mysql-${_MYSQL_VERSION}, but mysql-${_MYSQL_VERSION_INSTALLED} is already installed."
137 . endif
138 .endif
140 .include "${MYSQL_PKGSRCDIR}/buildlink3.mk"
142 .endif # MYSQL_VERSION_MK