summaryrefslogtreecommitdiffstats
path: root/databases/hk_classes/Makefile
blob: f4c1d9b96b322b29a3e31fee6cdc37a2a6d32bd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Created by: arved
# $FreeBSD$

PORTNAME=	hk_classes
PORTVERSION=	0.8.3
PORTREVISION=	1
CATEGORIES=	databases
MASTER_SITES=	SF/hk-classes/${PORTNAME}/${PORTVERSION}

MAINTAINER=	ports@FreeBSD.org
COMMENT=	C++ Library for rapid development of database applications

BUILD_DEPENDS=	${LOCALBASE}/include/argp.h:${PORTSDIR}/devel/argp-standalone
LIB_DEPENDS=	libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
		libxml2.so:${PORTSDIR}/textproc/libxml2

USES=	pkgconfig gettext iconv
USE_BZIP2=	yes
USE_PYTHON=	yes
CXXFLAGS+=	${PTHREAD_CFLAGS}
LDFLAGS+=	${PTHREAD_LIBS} -L${LOCALBASE}/lib -largp -lintl
USE_AUTOTOOLS=	libtool
CONFIGURE_ENV+=	PYTHON_VERSION=${PYTHON_VERSION:S/python//}
CONFIGURE_ARGS+=--with-python-libdir=${PYTHON_LIBDIR} \
		--with-python-incdir=${PYTHON_INCLUDEDIR} \
		--with-fontconfig-incdir=${LOCALBASE}/include/fontconfig \
		--with-fontconfig-libdir=${LOCALBASE}/lib \
		--without-firebird
USE_LDCONFIG=	${PREFIX}/lib/hk_classes/

INSTALLS_EGGINFO=	yes
PYDISTUTILS_PKGVERSION=	1.1

NOT_FOR_ARCHS=	ia64
NOT_FOR_ARCHS_REASON_ia64=	Does not build

OPTIONS_DEFINE=	MYSQL PGSQL ODBC PARADOX SQLITE2 SQLITE3 DBASE
OPTIONS_DEFAULT=	MYSQL
SQLITE3_DESC=	Enable SQLite 3 backend
SQLITE2_DESC=	Enable SQLite 2 backend
PARADOX_DESC=	Enable paradox backend
DBASE_DESC=	Enable Dbase backend

NO_STAGE=	yes
.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL=	yes
CONFIGURE_ARGS+=	--with-mysql-dir=${LOCALBASE} \
			--with-mysql-incdir=${LOCALBASE}/include/mysql \
			--with-mysql-libdir=${LOCALBASE}/lib/mysql
CONFIGURE_ENV+=	LIBS="-L${LOCALBASE}/lib -L${LOCALBASE}/lib/mysql"
CPPFLAGS+=	-I${LOCALBASE}/include
PLIST_SUB+=	MYSQL=""
.else
CONFIGURE_ARGS+=	--without-mysql
PLIST_SUB+=	MYSQL="@comment "
.endif

.if ${PORT_OPTIONS:MDBASE}
PLIST_SUB+=	DBASE=""
.else
CONFIGURE_ARGS+=	--without-dbase
PLIST_SUB+=	DBASE="@comment "
.endif

.if ${PORT_OPTIONS:MPOSTGRESQL}
USE_PGSQL=	yes
CONFIGURE_ARGS+=	--with-postgres-incdir=${LOCALBASE}/include/ \
			--with-postgres-libdir=${LOCALBASE}/lib
CONFIGURE_ENV+=	LIBS="-L${LOCALBASE}/lib"
CPPFLAGS+=	-I${LOCALBASE}/include
PLIST_SUB+=	POSTGRESQL=""
.else
CONFIGURE_ARGS+=	--without-postgres
PLIST_SUB+=	POSTGRESQL="@comment "
.endif

.if ${PORT_OPTIONS:MODBC}
LIB_DEPENDS+=		libodbc.so:${PORTSDIR}/databases/unixODBC
CONFIGURE_ARGS+=	--with-odbc-incdir=${LOCALBASE}/include/\
			--with-odbc-libdir=${LOCALBASE}/lib
PLIST_SUB+=	ODBC=""
.else
CONFIGURE_ARGS+=	--without-odbc
PLIST_SUB+=	ODBC="@comment "
.endif

.if ${PORT_OPTIONS:MPARADOX}
LIB_DEPENDS+=		libpx.so:${PORTSDIR}/databases/pxlib
CONFIGURE_ARGS+=	--with-paradox-incdir=${LOCALBASE}/include/\
			--with-paradox-libdir=${LOCALBASE}/lib
PLIST_SUB+=	PARADOX=""
.else
CONFIGURE_ARGS+=	--without-paradox
PLIST_SUB+=	PARADOX="@comment "
.endif

# XXX does not work yet
.if ${PORT_OPTIONS:MMSACCESS}
LIB_DEPENDS+=		libmdb.so:${PORTSDIR}/databases/mdbtools
CONFIGURE_ARGS+=	--with-mdb-incdir=${LOCALBASE}/include/\
			--with-mdb-libdir=${LOCALBASE}/lib
PLIST_SUB+=	MSACCESS=""
.else
CONFIGURE_ARGS+=	--without-mdb
PLIST_SUB+=	MSACCESS="@comment "
.endif

# XXX does not work yet
CONFIGURE_ARGS+=	--without-xbase

.if ${PORT_OPTIONS:MSQLITE2}
LIB_DEPENDS+=		libsqlite.so.2:${PORTSDIR}/databases/sqlite2
CONFIGURE_ARGS+=	--with-sqlite-incdir=${LOCALBASE}/include/\
			--with-sqlite-libdir=${LOCALBASE}/lib
PLIST_SUB+=	SQLITE2=""
.else
CONFIGURE_ARGS+=	--without-sqlite
PLIST_SUB+=	SQLITE2="@comment "
.endif

.if ${PORT_OPTIONS:MSQLITE3}
LIB_DEPENDS+=		libsqlite3.so:${PORTSDIR}/databases/sqlite3
CONFIGURE_ARGS+=	--with-sqlite-incdir3=${LOCALBASE}/include/\
			--with-sqlite-libdir3=${LOCALBASE}/lib
PLIST_SUB+=	SQLITE3=""
.else
CONFIGURE_ARGS+=	--without-sqlite3
PLIST_SUB+=	SQLITE3="@comment "
.endif

post-patch:
	${REINPLACE_CMD} -e "s|INCLUDES = -I../hk_classes \
		-I./pxlib|INCLUDES = -I../hk_classes -I./pxlib \
		-I${LOCALBASE}/include|g" \
		${WRKSRC}/hk_paradoxclasses/Makefile.in
	${REINPLACE_CMD} -e "s|python setup.py|${PYTHON_CMD} setup.py|" \
		${WRKSRC}/python/Makefile.in

post-configure:
	${REINPLACE_CMD} -e "s| -I|','|g" ${WRKSRC}/python/setup.py

post-install:
	@${SED} -e 's#%%PREFIX%%#${PREFIX}#' ${FILESDIR}/hk_classes.sh > \
		${PREFIX}/etc/rc.d/hk_classes.sh; \
	 ${CHMOD} a+x ${PREFIX}/etc/rc.d/hk_classes.sh

.include <bsd.port.mk>
OpenPOWER on IntegriCloud