Import devel/fpc-fpmkunit version 2.6.4
[dports.git] / Mk / bsd.database.mk
1 # $FreeBSD$
2 #
3
4 .if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)
5
6 Database_Post_Include=          bsd.database.mk
7 Database_Include_MAINTAINER=    ports@FreeBSD.org
8
9 # This file contains some routines to interact with different databases, such
10 # as MySQL, PostgreSQL, and Berkley DB.  To include this file, define macro
11 # USE_[DATABASE], for example USE_MYSQL.  Defining macro like
12 # USE_[DATABASE]_VER or WANT_[DATABASE]_VER will include this file as well.
13 #
14 ##
15 # USE_MYSQL             - Add MySQL (client/server/embedded) dependency (default:
16 #                         client).
17 #                         If no version is given (by the maintainer via the port or
18 #                         by the user via defined variable), try to find the
19 #                         currently installed version.  Fall back to default if
20 #                         necessary (MySQL-5.5 = 55).
21 # DEFAULT_MYSQL_VER
22 #                       - MySQL default version.  Can be overridden within a port.
23 #                         Default: 55.
24 # WANT_MYSQL_VER
25 #                       - Maintainer can set an arbitrary version of MySQL to always
26 #                         build this port with (overrides WITH_MYSQL_VER).
27 # IGNORE_WITH_MYSQL
28 #                       - This variable can be defined if the ports does not support
29 #                         one or more versions of MySQL.
30 # WITH_MYSQL_VER
31 #                       - User defined variable to set MySQL version.
32 # MYSQL_VER
33 #                       - Detected MySQL version.
34 ##
35 # USE_PGSQL             - Add PostgreSQL client dependency.  Components can be depended
36 #                         on using USE_PGSQL=   component[:target].  For the full list
37 #                         use make -V _USE_PGSQL_DEP
38 #                         If no version is given (by the maintainer via the port or
39 #                         by the user via defined variable), try to find the
40 #                         currently installed version.  Fall back to default if
41 #                         necessary (PostgreSQL-9.0 = 90).
42 # DEFAULT_PGSQL_VER
43 #                       - PostgreSQL default version, currently 90.
44 # WANT_PGSQL_VER
45 #                       - Maintainer can set an arbitrary version of PostgreSQL to
46 #                         always build this port with (overrides WITH_PGSQL_VER).
47 #                         Minimum and maximum versions can be set (e.g. 90+)
48 # WITH_PGSQL_VER
49 #                       - User defined variable to set PostgreSQL version.
50 # PGSQL_VER
51 #                       - Detected PostgreSQL version.
52 ##
53 # USE_BDB       - Add Berkeley DB library dependency.
54 #                         If no version is given (by the maintainer via the port or
55 #                         by the user via defined variable), try to find the
56 #                         currently installed version.  Fall back to default if
57 #                         necessary (db5 if compatible).
58 #                         This adds a "debug-bdb" make target which will dump the
59 #                         related data.
60 # INVALID_BDB_VER
61 #                       - This variable can be defined when the port does not
62 #                         support one or more versions of Berkeley DB.
63 # WANT_BDB_VER
64 #                       - Maintainer can set a version of Berkeley DB to always
65 #                         build this port with (overrides WITH_BDB_VER).
66 # WITH_BDB_VER
67 #                       - User defined global variable to set Berkeley DB version.
68 # <UNIQUENAME>_WITH_BDB_VER
69 #                       - User defined port specific variable to set Berkeley DB
70 #                         version.
71 # WITH_BDB_HIGHEST
72 #                       - Use the highest installed version of Berkeley DB.
73 # WITH_BDB6_PERMITTED
74 #                       - If defined, BerkeleyDB 6 is added to the
75 #                         default version set, making it eligible even
76 #                         if not already installed. This is due to its
77 #                         stricter Affero GNU Public License.
78 #
79 # These variables will then be filled in by this .mk file:
80 #
81 # BDB_LIB_NAME
82 #                       - This variable is automatically set to the name of the
83 #                         Berkeley DB library (default: db41).
84 # BDB_LIB_CXX_NAME
85 #                       - This variable is automatically set to the name of the
86 #                         Berkeley DB C++ library (default: db41_cxx).
87 # BDB_INCLUDE_DIR
88 #                       - This variable is automatically set to the location of
89 #                         the Berkeley DB include directory (default:
90 #                         ${LOCALBASE}/include/db41).
91 # BDB_LIB_DIR
92 #                       - This variable is automatically set to the location of
93 #                         the Berkeley DB library directory.
94 # BDB_VER
95 #                       - Detected Berkeley DB version.
96 ##
97 # USE_SQLITE            - Add dependency on SQLite library.  Valid values are:
98 #                         3 and 2.  If version is not specified directly then
99 #                         SQLite-3 is used (if USE_SQLITE= yes).
100 # SQLITE_VER
101 #                       - Detected SQLite version.
102 ##
103 # USE_FIREBIRD          - Add dependency on Firebird library.  Valid values are:
104 #                         2 and 1.  If no version is given by the maintainer (if
105 #                         USE_FIREBIRD= yes) and the user did not define
106 #                         WITH_FIREBIRD_VER variable, fall back to default "2".
107 # WITH_FIREBIRD_VER
108 #                       - User defined variable to set Firebird version.
109 # FIREBIRD_VER
110 #                       - Detected Firebird version.
111
112 .include "${PORTSDIR}/Mk/bsd.default-versions.mk"
113
114 .if defined(DEFAULT_MYSQL_VER)
115 WARNING+=       "DEFAULT_MYSQL_VER is defined, consider using DEFAULT_VERSIONS=mysql=${DEFAULT_MYSQL_VER} instead"
116 .endif
117
118 .if defined(DEFAULT_PGSQL_VER)
119 WARNING+=       "DEFAULT_PGSQL_VER is defined, consider using DEFAULT_VERSIONS=pgsql=${DEFAULT_PGSQL_VER} instead"
120 .endif
121
122 .if defined(USE_MYSQL)
123 DEFAULT_MYSQL_VER?=     ${MYSQL_DEFAULT:S/.//}
124 # MySQL client version currently supported.
125 MYSQL51_LIBVER=         16
126 MYSQL53m_LIBVER=        16
127 MYSQL55_LIBVER=         18
128 MYSQL55m_LIBVER=        18
129 MYSQL55p_LIBVER=        18
130 MYSQL56_LIBVER=         18
131 MYSQL56p_LIBVER=        18
132 MYSQL100m_LIBVER=       18
133
134 # Setting/finding MySQL version we want.
135 .if exists(${LOCALBASE}/bin/mysql)
136 _MYSQL!=        ${LOCALBASE}/bin/mysql --version | ${SED} -e 's/.*Distrib \([0-9]\{1,2\}\)\.\([0-9]*\).*/\1\2/'
137 _PERCONA!=      ${LOCALBASE}/bin/mysql --version | ${GREP} Percona | wc -l
138 _MARIADB!=      ${LOCALBASE}/bin/mysql --version | ${GREP} MariaDB | wc -l
139
140 .if ${_PERCONA} == 1
141 _MYSQL_VER=     ${_MYSQL}p
142 .elif ${_MARIADB} == 1
143 _MYSQL_VER=     ${_MYSQL}m
144 .else
145 _MYSQL_VER=     ${_MYSQL}
146 .endif
147 .endif
148
149 .if defined(WANT_MYSQL_VER)
150 .if defined(WITH_MYSQL_VER) && ${WITH_MYSQL_VER} != ${WANT_MYSQL_VER}
151 IGNORE=         cannot install: the port wants mysql${WANT_MYSQL_VER}-client and you try to install mysql${WITH_MYSQL_VER}-client
152 .endif
153 MYSQL_VER=      ${WANT_MYSQL_VER}
154 .elif defined(WITH_MYSQL_VER)
155 MYSQL_VER=      ${WITH_MYSQL_VER}
156 .else
157 .if defined(_MYSQL_VER)
158 MYSQL_VER=      ${_MYSQL_VER}
159 .else
160 MYSQL_VER=      ${DEFAULT_MYSQL_VER}
161 .endif
162 .endif # WANT_MYSQL_VER
163
164 .if defined(_MYSQL_VER)
165 .if ${_MYSQL_VER} != ${MYSQL_VER}
166 IGNORE=         cannot install: MySQL versions mismatch: mysql${_MYSQL_VER}-client is installed and wanted version is mysql${MYSQL_VER}-client
167 .endif
168 .endif
169
170 .if (${MYSQL_VER} == "53m")
171 _MYSQL_CLIENT=  databases/mariadb-client
172 _MYSQL_SERVER=  databases/mariadb-server
173 .elif (${MYSQL_VER} == "55m")
174 _MYSQL_CLIENT=  databases/mariadb55-client
175 _MYSQL_SERVER=  databases/mariadb55-server
176 .elif (${MYSQL_VER} == "100m")
177 _MYSQL_CLIENT=  databases/mariadb100-client
178 _MYSQL_SERVER=  databases/mariadb100-server
179 .elif (${MYSQL_VER} == "55p")
180 _MYSQL_CLIENT=  databases/percona55-client
181 _MYSQL_SERVER=  databases/percona55-server
182 .elif (${MYSQL_VER} == "56p")
183 _MYSQL_CLIENT=  databases/percona56-client
184 _MYSQL_SERVER=  databases/percona56-server
185 .else
186 _MYSQL_CLIENT=  databases/mysql${MYSQL_VER}-client
187 _MYSQL_SERVER=  databases/mysql${MYSQL_VER}-server
188 .endif
189
190 # And now we are checking if we can use it
191 .if defined(MYSQL${MYSQL_VER}_LIBVER)
192 .if defined(IGNORE_WITH_MYSQL)
193 .       for VER in ${IGNORE_WITH_MYSQL}
194 .               if (${MYSQL_VER} == "${VER}")
195 IGNORE=         cannot install: does not work with MySQL version ${MYSQL_VER} (MySQL ${IGNORE_WITH_MYSQL} not supported)
196 .               endif
197 .       endfor
198 .endif # IGNORE_WITH_MYSQL
199 .if (${USE_MYSQL} == "server" || ${USE_MYSQL} == "embedded")
200 RUN_DEPENDS+=   ${LOCALBASE}/libexec/mysqld:${PORTSDIR}/${_MYSQL_SERVER}
201 .if (${USE_MYSQL} == "embedded")
202 BUILD_DEPENDS+= ${LOCALBASE}/lib/mysql/libmysqld.a:${PORTSDIR}/${_MYSQL_SERVER}
203 .endif
204 .else
205 LIB_DEPENDS+=   libmysqlclient.so.${MYSQL${MYSQL_VER}_LIBVER}:${PORTSDIR}/${_MYSQL_CLIENT}
206 .endif
207 .else
208 IGNORE=         cannot install: unknown MySQL version: ${MYSQL_VER}
209 .endif # Check for correct libs
210 .endif # USE_MYSQL
211
212 .if defined(USE_PGSQL)
213 VALID_PGSQL_VER=        84 90 91 92 93 94
214 DEFAULT_PGSQL_VER?=     ${PGSQL_DEFAULT:S/.//}
215 PGSQL83_LIBVER=         5
216 PGSQL84_LIBVER=         5
217 PGSQL90_LIBVER=         5
218 PGSQL91_LIBVER=         5
219 PGSQL92_LIBVER=         5
220 PGSQL93_LIBVER=         5
221 PGSQL94_LIBVER=         5
222
223 # Setting/finding PostgreSQL version we want.
224 .  if exists(${LOCALBASE}/bin/pg_config)
225 _PGSQL_VER!=    ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)[^0-9].*/\1\2/p'
226 WITH_PGSQL_VER?=        ${_PGSQL_VER}
227 .        if ${WITH_PGSQL_VER} != ${_PGSQL_VER}
228 IGNORE?=                cannot install: you have set WITH_PGSQL_VER=${WITH_PGSQL_VER} in make.conf, but you have postgresql${_PGSQL_VER}-client installed
229 .        endif
230 .  endif
231
232 .  if defined(WANT_PGSQL_VER)
233 .    if ${WANT_PGSQL_VER:M*+}
234 .      for version in ${VALID_PGSQL_VER}
235 .        if ${WANT_PGSQL_VER:S/+//} <= ${version}
236 _WANT_PGSQL_VER+=${version}
237 .        endif
238 .      endfor
239 .    elif ${WANT_PGSQL_VER:M*-}
240 .      for version in ${VALID_PGSQL_VER}
241 .        if ${WANT_PGSQL_VER:S/-//} >= ${version}
242 _WANT_PGSQL_VER+=${version}
243 .        endif
244 .      endfor
245 .    endif
246 _WANT_PGSQL_VER?=       ${WANT_PGSQL_VER}
247 DEV_WARNING+=           "Do not use USE_PGSQL.  This port should use USES+= pgsql:${WANT_PGSQL_VER:C,^[0-9],&.,}"
248 .  else
249 DEV_WARNING+=           "Do not use USE_PGSQL.  This port should use USES+= pgsql"
250 .  endif
251
252 .  if !empty(_WANT_PGSQL_VER)
253 .    for version in ${_WANT_PGSQL_VER}
254 .      if defined(WITH_PGSQL_VER)
255 .        if ${WITH_PGSQL_VER} == ${version}
256 PGSQL_VER=      ${WITH_PGSQL_VER}
257 .        endif
258 .      elif ${DEFAULT_PGSQL_VER} == ${version}
259 PGSQL_VER=      ${version}
260 .      endif
261 PGSQL_VER?=     ${version}
262 .    endfor
263 .    if defined(WITH_PGSQL_VER) && ${WITH_PGSQL_VER} != ${PGSQL_VER}
264 IGNORE?=        cannot install: the port wants postgresql-client version ${WANT_PGSQL_VER} and you have version ${WITH_PGSQL_VER} installed or set in make.conf
265 .    endif
266 .  endif
267
268 .if !empty(WITH_PGSQL_VER)
269 PGSQL_VER?=     ${WITH_PGSQL_VER}
270 .else
271 PGSQL_VER?=     ${DEFAULT_PGSQL_VER}
272 .endif
273
274 # And now we are checking if we can use it
275 .if defined(PGSQL${PGSQL_VER}_LIBVER)
276 .if defined(IGNORE_WITH_PGSQL)
277 .       for ver in ${IGNORE_WITH_PGSQL}
278 .               if (${PGSQL_VER} == ${ver})
279 IGNORE?=                cannot install: does not work with postgresql${PGSQL_VER}-client (PostgresSQL ${IGNORE_WITH_PGSQL} not supported)
280 .               endif
281 .       endfor
282 .endif # IGNORE_WITH_PGSQL
283
284 LIB_DEPENDS+=   libpq.so.${PGSQL${PGSQL_VER}_LIBVER}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-client
285
286 _USE_PGSQL_DEP=                 contrib docs pgtcl pltcl plperl server
287 _USE_PGSQL_DEP_contrib= pgbench
288 _USE_PGSQL_DEP_docs=    postgresql${PGSQL_VER}-docs>0
289 _USE_PGSQL_DEP_pgtcl=   ${LOCALBASE}/lib/pgtcl/pkgIndex.tcl
290 _USE_PGSQL_DEP_plperl=  postgresql${PGSQL_VER}-plperl>0
291 _USE_PGSQL_DEP_pltcl=   postgresql${PGSQL_VER}-pltcl>0
292 _USE_PGSQL_DEP_server=  postgres
293 .  for depend in ${_USE_PGSQL_DEP}
294 .    if ${USE_PGSQL:M${depend}}
295 BUILD_DEPENDS+= ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}
296 RUN_DEPENDS+=   ${_USE_PGSQL_DEP_${depend}}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}
297 _PGSQL_DEV_WARN+=       ${depend}
298 .    elif ${USE_PGSQL:M${depend}\:*}
299 BUILD_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/databases/postgresql${PGSQL_VER}-${depend}:${USE_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
300 _PGSQL_DEV_WARN+=       ${depend}:${USE_PGSQL:M${depend}\:*:C,^[^:]*\:,,}
301 .    endif
302 .  endfor
303
304 .  ifdef _PGSQL_DEV_WARN
305 DEV_WARNING+=   "and WANT_PGSQL= ${_PGSQL_DEV_WARN}"
306 .  endif
307
308 .else
309 IGNORE?=                cannot install: unknown PostgreSQL version: ${PGSQL_VER}
310 .endif # Check for correct version
311 CPPFLAGS+=              -I${LOCALBASE}/include
312 LDFLAGS+=               -L${LOCALBASE}/lib
313 .endif # USE_PGSQL
314
315 .if defined(USE_BDB)
316 # TODO: avoid malformed conditional with invalid USE_BDB/WITH_BDB_VER
317 # check if + works properly from test builds 01h12m23s
318
319 _USE_BDB_save:=${USE_BDB}
320 _WITH_BDB_VER_save:=${WITH_BDB_VER}
321
322 _DB_PORTS=              48 5 6
323 _DB_DEFAULTS=   48 5    # does not include 6 due to different licensing
324 #       but user can re-add it through WITH_BDB6_PERMITTED
325 . if defined(WITH_BDB6_PERMITTED)
326 _DB_DEFAULTS+=  6
327 . endif
328
329 # Dependency lines for different db versions
330 db48_DEPENDS=   libdb-4.8.so:${PORTSDIR}/databases/db48
331 db5_DEPENDS=    libdb-5.3.so:${PORTSDIR}/databases/db5
332 db6_DEPENDS=    libdb-6.1.so:${PORTSDIR}/databases/db6
333 # Detect db versions by finding some files
334 db48_FIND=      ${LOCALBASE}/include/db48/db.h
335 db5_FIND=       ${LOCALBASE}/include/db5/db.h
336 db6_FIND=       ${LOCALBASE}/include/db6/db.h
337
338 # Override the global WITH_BDB_VER with the
339 # port specific <UNIQUENAME>_WITH_BDB_VER
340 .if defined(${UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER)
341 WITH_BDB_VER=   ${${UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER}
342 .endif
343
344 # Override USE_BDB with global WITH_BDB_VER
345 .if defined(WITH_BDB_VER)
346 . if ${WITH_BDB_VER} != 1
347 USE_BDB=        ${WITH_BDB_VER}
348 . endif
349 .endif
350
351 # Override USE_BDB with maintainer's WANT_BDB_VER
352 .if defined(WANT_BDB_VER)
353 USE_BDB=        ${WANT_BDB_VER}
354 .endif
355
356 # Compatiblity hack:
357 # upgrade older plussed versions to 48+
358 _BDB_OLDPLUSVERS=4+ 40+ 41+ 42+ 43+ 44+ 45+ 46+ 47+
359 .for i in ${USE_BDB}
360 . if ${_BDB_OLDPLUSVERS:M${i}}
361 USE_BDB:=       48+
362 . endif
363 .endfor
364
365 .if ${USE_BDB} == yes
366 USE_BDB:=       48+
367 .endif
368
369 # 1. detect installed versions
370 _INST_BDB_VER=
371 .for bdb in ${_DB_PORTS}
372 . if exists(${db${bdb}_FIND})
373 _INST_BDB_VER+=${bdb}
374 . endif
375 .endfor
376
377 # 2. parse supported versions:
378 # 2a. build list from USE_BDB
379 _SUPP_BDB_VER=
380 _USE_BDB:=${USE_BDB:C,\+$,,:C/(.)(.)$/\1.\2/}
381 .if !empty(USE_BDB:M*+)
382 . for bdb in ${_DB_PORTS:C/(.)(.)$/\1.\2/}
383 .  if ${_USE_BDB} <= ${bdb}
384 _SUPP_BDB_VER+=${bdb:C/\.//}
385 .  endif
386 . endfor
387 .else
388 _SUPP_BDB_VER=${USE_BDB}
389 .endif
390 # 2b. expand INVALID_BDB_VER if given with "+":
391 .if !empty(INVALID_BDB_VER:M*+)
392 _INV_BDB:=${INVALID_BDB_VER:C,\+$,,:C/(.)(.)$/\1.\2/}
393 _INV_BDB_VER:=
394 . for bdb in ${_DB_PORTS:C/(.)(.)$/\1.\2/}
395 .  if ${_INV_BDB} <= ${bdb}
396 _INV_BDB_VER+=${bdb:C/\.//}
397 .  endif
398 . endfor
399 .else
400 _INV_BDB_VER:=${INVALID_BDB_VER}
401 .endif
402 # 2c. strip versions from INVALID_BDB_VER out of _SUPP_BDB_VER
403 .for unsupp in ${_INV_BDB_VER}
404 _SUPP_BDB_VER:=${_SUPP_BDB_VER:N${unsupp}}
405 .endfor
406
407 # 3a. calculate intersection in _INST_BDB_VER to see if there
408 # is a usable installed version
409 .for i in ${_INST_BDB_VER}
410 . if empty(_SUPP_BDB_VER:M${i})
411 _INST_BDB_VER:= ${_INST_BDB_VER:N${i}}
412 . endif
413 .endfor
414 _ELIGIBLE_BDB_VER:=${_INST_BDB_VER}
415
416 # 3b. if there is no usable version installed, check defaults
417 .if empty(_INST_BDB_VER)
418 _DFLT_BDB_VER:=${_DB_DEFAULTS}
419 # make sure we use a reasonable version for package builds
420 _WITH_BDB_HIGHEST=yes
421 . for i in ${_DFLT_BDB_VER}
422 .  if empty(_SUPP_BDB_VER:M${i})
423 _DFLT_BDB_VER:= ${_DFLT_BDB_VER:N${i}}
424 .  endif
425 . endfor
426 _ELIGIBLE_BDB_VER:=${_DFLT_BDB_VER}
427 .endif
428
429 # 4. elect a version
430 _BDB_VER=
431 .for i in ${_ELIGIBLE_BDB_VER}
432 . if !empty(WITH_BDB_HIGHEST) || !empty(_WITH_BDB_HIGHEST) || empty(${_BDB_VER})
433 _BDB_VER:=${i}
434 . endif
435 .endfor
436
437 # 5. catch errors or set variables
438 .if empty(_BDB_VER)
439 IGNORE=         cannot install: no eligible BerkeleyDB version. Requested: ${USE_BDB}, incompatible: ${_INV_BDB_VER}. Try: make debug-bdb
440 .else
441 . if defined(BDB_BUILD_DEPENDS)
442 BUILD_DEPENDS+= ${db${_BDB_VER}_FIND}:${db${_BDB_VER}_DEPENDS:C/^libdb.*://}
443 . else
444 LIB_DEPENDS+=   ${db${_BDB_VER}_DEPENDS}
445 . endif
446 . if ${_BDB_VER} == 48
447 BDB_LIB_NAME=           db-4.8
448 BDB_LIB_CXX_NAME=       db_cxx-4.8
449 BDB_LIB_DIR=            ${LOCALBASE}/lib/db48
450 . elif ${_BDB_VER} == 5
451 BDB_LIB_NAME=           db-5.3
452 BDB_LIB_CXX_NAME=       db_cxx-5.3
453 BDB_LIB_DIR=            ${LOCALBASE}/lib/db5
454 . elif ${_BDB_VER} == 6
455 BDB_LIB_NAME=           db-6.1
456 BDB_LIB_CXX_NAME=       db_cxx-6.1
457 BDB_LIB_DIR=            ${LOCALBASE}/lib/db6
458 . endif
459 BDB_LIB_NAME?=          db${_BDB_VER}
460 BDB_LIB_CXX_NAME?=      db${_BDB_VER}_cxx
461 BDB_INCLUDE_DIR?=       ${LOCALBASE}/include/db${_BDB_VER}
462 BDB_LIB_DIR?=           ${LOCALBASE}/lib
463 .endif
464 BDB_VER=        ${_BDB_VER}
465
466 debug-bdb:
467         @${ECHO_CMD} "--INPUTS----------------------------------------------------"
468         @${ECHO_CMD} "${UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER: ${${UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER}"
469         @${ECHO_CMD} "WITH_BDB_VER: ${_WITH_BDB_VER_save}"
470         @${ECHO_CMD} "WANT_BDB_VER: ${WANT_BDB_VER}"
471         @${ECHO_CMD} "BDB_BUILD_DEPENDS: ${BDB_BUILD_DEPENDS}"
472         @${ECHO_CMD} "USE_BDB (original): ${_USE_BDB_save}"
473         @${ECHO_CMD} "WITH_BDB_HIGHEST (original): ${WITH_BDB_HIGHEST}"
474         @${ECHO_CMD} "--PROCESSING------------------------------------------------"
475         @${ECHO_CMD} "supported versions: ${_SUPP_BDB_VER}"
476         @${ECHO_CMD} "invalid versions: ${_INV_BDB_VER}"
477         @${ECHO_CMD} "installed versions: ${_INST_BDB_VER}"
478         @${ECHO_CMD} "eligible versions: ${_ELIGIBLE_BDB_VER}"
479         @${ECHO_CMD} "USE_BDB (effective): ${USE_BDB}"
480         @${ECHO_CMD} "WITH_BDB_HIGHEST (override): ${_WITH_BDB_HIGHEST}"
481         @${ECHO_CMD} "--OUTPUTS---------------------------------------------------"
482         @${ECHO_CMD} "IGNORE=${IGNORE}"
483         @${ECHO_CMD} "BDB_VER=${BDB_VER}"
484         @${ECHO_CMD} "BDB_INCLUDE_DIR=${BDB_INCLUDE_DIR}"
485         @${ECHO_CMD} "BDB_LIB_NAME=${BDB_LIB_NAME}"
486         @${ECHO_CMD} "BDB_LIB_CXX_NAME=${BDB_LIB_CXX_NAME}"
487         @${ECHO_CMD} "BDB_LIB_DIR=${BDB_LIB_DIR}"
488         @${ECHO_CMD} "BUILD_DEPENDS=${BUILD_DEPENDS:M*/databases/db*}"
489         @${ECHO_CMD} "LIB_DEPENDS=${LIB_DEPENDS:M*/databases/db*}"
490         @${ECHO_CMD} "------------------------------------------------------------"
491
492 # Obsolete variables - ports can define these to want users about
493 # variables that may be in /etc/make.conf but that are no longer
494 # effective:
495 .if defined(OBSOLETE_BDB_VAR)
496 . for var in ${OBSOLETE_BDB_VAR}
497 .  if defined(${var})
498 BAD_VAR+=       ${var},
499 .  endif
500 . endfor
501 . if defined(BAD_VAR)
502 _IGNORE_MSG=    Obsolete variable(s) ${BAD_VAR} use WITH_BDB_VER or ${UNIQUENAME:tu:S,-,_,}_WITH_BDB_VER to select Berkeley DB version
503 .  if defined(IGNORE)
504 IGNORE+= ${_IGNORE_MSG}
505 .  else
506 IGNORE= ${_IGNORE_MSG}
507 .  endif
508 . endif
509 .endif
510
511 .endif # USE_BDB
512
513 # Handling SQLite dependency
514 .if defined(USE_SQLITE)
515
516 .if ${USE_SQLITE:tl} == "yes"
517 _SQLITE_VER=    3
518 .else
519 _SQLITE_VER=     ${USE_SQLITE}
520 .endif
521
522 # USE_SQLITE is specified incorrectly, so mark this as IGNORE
523 .if ${_SQLITE_VER} == "3"
524 LIB_DEPENDS+=   libsqlite3.so:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
525 SQLITE_VER=     ${_SQLITE_VER}
526 .elif ${_SQLITE_VER} == "2"
527 LIB_DEPENDS+=   libsqlite.so:${PORTSDIR}/databases/sqlite${_SQLITE_VER}
528 SQLITE_VER=     ${_SQLITE_VER}
529 .else
530 IGNORE=         cannot install: unknown SQLite version: ${_SQLITE_VER}
531 .endif
532
533 .endif # defined(USE_SQLITE)
534
535 .if defined(USE_FIREBIRD)
536
537 .if defined(WITH_FIREBIRD_VER)
538 USE_FIREBIRD=   ${WITH_FIREBIRD_VER}
539 .endif
540
541 .if ${USE_FIREBIRD:tl} == "yes"
542 FIREBIRD_VER=   ${FIREBIRD_DEFAULT:S/.//}
543 .else
544 FIREBIRD_VER=   ${USE_FIREBIRD}
545 .endif
546
547 .if ${FIREBIRD_VER} == "25"
548 LIB_DEPENDS+=   libfbclient.so:${PORTSDIR}/databases/firebird25-client
549 .else
550 IGNORE=         cannot install: unknown Firebird version: ${FIREBIRD_VER}
551 .endif
552
553 .endif # defined(USE_FIREBIRD)
554
555 .endif # defined(_POSTMKINCLUDED) && !defined(Database_Post_Include)