1 # Created by: Matthias Andree <mandree@FreeBSD.org>
7 CATEGORIES= databases java
8 MASTER_SITES= http://download.oracle.com/berkeley-db/
11 # the distfiles aren't named db5-* but db-*:
12 DISTNAME= db-${PORTVERSION}
15 MAINTAINER= mandree@FreeBSD.org
16 COMMENT= The Oracle Berkeley DB, revision ${BDBVER}
18 BDBVER= ${PORTVERSION:R}
20 CONFIGURE_ARGS= --enable-cxx --enable-stl \
21 --enable-compat185 --enable-dump185 \
23 --includedir=${PREFIX}/include/${PORTNAME} \
24 --libdir=${PREFIX}/lib/${PORTNAME} \
25 --bindir=${PREFIX}/bin/${PORTNAME}
26 CONFIGURE_SCRIPT= ../dist/configure
29 INSTALL_TARGET= install_include install_lib install_utilities
30 WRKSRC= ${WRKDIR}/${DISTNAME}/build_unix
32 PLIST_SUB= BDBMAJ=${BDBMAJ} BDBVER=${BDBVER}
34 OPTIONS_DEFINE= CRYPTO L10N SQL JAVA DOCS
35 OPTIONS_DEFAULT=CRYPTO
36 CRYPTO_DESC= Cryptography support
37 L10N_DESC= Localization support (EXPERIMENTAL)
38 SQL_DESC= Enable SQL API (EXPERIMENTAL)
40 .include <bsd.port.options.mk>
42 .if ${ARCH} == "armv6"
43 # db5 uses a deprecated instruction for mutexes on ARM, fbsd bug#197227
44 CONFIGURE_ARGS+= --enable-posixmutexes
47 .if ${PORT_OPTIONS:MDOCS}
48 INSTALL_TARGET+=install_docs docdir=${DOCSDIR}
52 .if ${PORT_OPTIONS:MSQL}
53 CONFIGURE_ARGS+= --enable-sql_codegen --enable-sql
57 PLIST_SUB+= SQL="@comment "
61 .if ${PORT_OPTIONS:MJAVA}
64 CONFIGURE_ARGS+= --enable-java
65 CPPFLAGS+= "-I${JAVA_HOME}/include"
66 CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}"
68 libdb_java= libdb_java
70 PLIST_SUB+= JAVA="@comment "
74 .if ${PORT_OPTIONS:MCRYPTO}
75 CONFIGURE_ARGS+= --with-cryptography=yes
77 CONFIGURE_ARGS+= --with-cryptography=no
80 .if ${PORT_OPTIONS:ML10N}
81 CONFIGURE_ARGS+= --enable-localization
84 .if ${PORT_OPTIONS:MDEBUG}
85 CONFIGURE_ARGS+= --enable-debug --enable-umrw
89 ${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
90 ${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_*
93 .for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
94 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so.0
95 ${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so.0 ${STAGEDIR}${PREFIX}/lib
96 ${LN} -s -f ${PORTNAME}/${i}-${BDBMAJ}.so ${STAGEDIR}${PREFIX}/lib
97 ${LN} -s -f ${i}-${BDBVER}.so.0 ${STAGEDIR}${PREFIX}/lib/${i}-${BDBVER}.so
98 ${LN} -s -f ${i}-${BDBVER}.so.0 ${STAGEDIR}${PREFIX}/lib/${i}-${BDBMAJ}.so.0
99 ${LN} -s -f ${i}-${BDBVER}.a ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}.a
100 ${CHMOD} a-w ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so.0 \
101 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.a \
102 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.la
104 cd ${STAGEDIR}${PREFIX}/bin/${PORTNAME}; \
105 for i in *; do ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBVER} ; \
106 ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBMAJ} ; done
107 .if ${PORT_OPTIONS:MDOCS}
108 .for i in api_reference/TCL
109 ${RM} -r -f ${STAGEDIR}${DOCSDIR}/${i}
111 .if empty(PORT_OPTIONS:MJAVA)
112 ${RM} -r -f ${STAGEDIR}${DOCSDIR}/java
113 .for i in gsg gsg_db_rep gsg_txn
114 ${RM} -r -f ${STAGEDIR}${DOCSDIR}/${i}/JAVA
117 .if empty(PORT_OPTIONS:MSQL)
118 ${RM} -r -f ${STAGEDIR}${DOCSDIR}/bdb-sql
122 .include <bsd.port.mk>