Add files from parent branch HEAD:
[pkgsrc.git] / mk / mysql.buildlink3.mk
1 # $NetBSD: mysql.buildlink3.mk,v 1.8 2008/03/26 06:22:49 wiz Exp $
2 #
3 # This file is included by packages that require some version of the
4 # MySQL database client.
5 #
6 # === User-settable variables ===
7 #
8 # MYSQL_VERSION_DEFAULT
9 #       The preferred MySQL version.
10 #
11 #       Possible: 50 41
12 #       Default: 50
13 #
14 # === Package-settable variables ===
15 #
16 # MYSQL_VERSIONS_ACCEPTED
17 #       The list of MySQL versions that the package accepts.
18 #
19 #       Possible: (see MYSQL_VERSION_DEFAULT)
20 #       Default: (all)
21 #
22
23 .if !defined(MYSQL_VERSION_MK)
24 MYSQL_VERSION_MK=       # defined
25
26 _VARGROUPS+=            mysql
27 _USER_VARS.mysql=       MYSQL_VERSION_DEFAULT
28 _PKG_VARS.mysql=        MYSQL_VERSIONS_ACCEPTED
29 _SYS_VARS.mysql=        MYSQL_PKGSRCDIR
30
31 .include "../../mk/bsd.prefs.mk"
32
33 MYSQL_VERSION_DEFAULT?=         50
34 MYSQL_VERSIONS_ACCEPTED?=       50 41
35
36 # transform the list into individual variables
37 .for mv in ${MYSQL_VERSIONS_ACCEPTED}
38 _MYSQL_VERSION_${mv}_OK=        yes
39 .endfor
40
41 # check what is installed
42 .if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.15)
43 _MYSQL_VERSION_50_INSTALLED=    yes
44 .endif
45
46 .if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14)
47 _MYSQL_VERSION_41_INSTALLED=    yes
48 .endif
49
50 # if a version is explicitely required, take it
51 .if defined(MYSQL_VERSION_REQD)
52 _MYSQL_VERSION= ${MYSQL_VERSION_REQD}
53 .endif
54 # if the default is already installed, it is first choice
55 .if !defined(_MYSQL_VERSION)
56 .  if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
57 .    if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_INSTALLED)
58 _MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
59 .    endif
60 .  endif
61 .endif
62 # prefer an already installed version, in order of "accepted"
63 .if !defined(_MYSQL_VERSION)
64 .  for mv in ${MYSQL_VERSIONS_ACCEPTED}
65 .    if defined(_MYSQL_VERSION_${mv}_INSTALLED)
66 _MYSQL_VERSION?=        ${mv}
67 .    else
68 # keep information as last resort - see below
69 _MYSQL_VERSION_FIRSTACCEPTED?=  ${mv}
70 .    endif
71 .  endfor
72 .endif
73 # if the default is OK for the addon pkg, take this
74 .if !defined(_MYSQL_VERSION)
75 .  if defined(_MYSQL_VERSION_${MYSQL_VERSION_DEFAULT}_OK)
76 _MYSQL_VERSION= ${MYSQL_VERSION_DEFAULT}
77 .  endif
78 .endif
79 # take the first one accepted by the package
80 .if !defined(_MYSQL_VERSION)
81 _MYSQL_VERSION= ${_MYSQL_VERSION_FIRSTACCEPTED}
82 .endif
83
84 #
85 # set variables for the version we decided to use:
86 #
87 .if ${_MYSQL_VERSION} == "50"
88 MYSQL_PKGSRCDIR=        ../../databases/mysql5-client
89 .elif ${_MYSQL_VERSION} == "41"
90 MYSQL_PKGSRCDIR=        ../../databases/mysql4-client
91 .else
92 # force an error
93 PKG_FAIL_REASON+=       "[mysql.buildlink3.mk] ${_MYSQL_VERSION} is not a valid mysql package."
94 .endif
95
96 .include "${MYSQL_PKGSRCDIR}/buildlink3.mk"
97
98 .endif  # MYSQL_VERSION_MK