libgda2 autodetecting already installed DBSs (patch)

Alexander Leidinger Alexander at Leidinger.net
Sun Jun 8 11:58:48 PDT 2003


Hi,

attached is a patch to let libgda2 autodetect already installed DBSs. I
only tested it with MySQL 3.23. What do you think about it?

Is there interest to have more DBSs (FreeTDS, MDB, ODBC, SQLite)
supported in the same way?

Please CC me, I'm not subscribed.

Bye,
Alexander.

-- 
   "One world, one web, one program"  -- Microsoft promotional ad
         "Ein Volk, ein Reich, ein Fuehrer"  -- Adolf Hitler

http://www.Leidinger.net                       Alexander @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /big/FreeBSD-CVS/ports/databases/libgda2/Makefile,v
retrieving revision 1.40
diff -u -u -r1.40 Makefile
--- Makefile	1 Jun 2003 00:31:46 -0000	1.40
+++ Makefile	8 Jun 2003 18:53:19 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	libgda2
 PORTVERSION=	0.12.0
+PORTREVISION=	1
 CATEGORIES=	databases gnome
 MASTER_SITES=	${MASTER_SITE_GNOME}
 MASTER_SITE_SUBDIR=	sources/${PORTNAME:S/2$//}/0.12
@@ -34,26 +35,79 @@
 MAN1=		gda-config-tool.1
 MAN5=		gda-config.5
 
-.if defined(WITH_MYSQL)
+.include <bsd.port.pre.mk>
+
+.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.10)
+WITH_MYSQL3=	yes
+.endif
+
+.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.12)
+WITH_MYSQL40=	yes
+.endif
+
+.if exists(${LOCALBASE}/lib/mysql/libmysqlclient.so.14)
+WITH_MYSQL41=	yes
+.endif
+
+.if exists(${LOCALBASE}/lib/libpq.so.3)
+WITH_POSTGRES7=	yes
+.endif
+
+.if exists(${LOCALBASE}/lib/libpgeasy.so.2)
+WITH_POSTGRES72=yes
+.endif
+
+.if exists(${LOCALBASE}/lib/libldap.so.2)
+WITH_LDAP=yes
+.endif
+
+.if exists(${LOCALBASE}/firebird/lib/libgds.so.1)
+WITH_FIREBIRD=	yes
+.endif
+
+.if !defined(WITHOUT_MYSQL3) && defined(WITH_MYSQL3)
 LIB_DEPENDS+=		mysqlclient.10:${PORTSDIR}/databases/mysql323-client
 CONFIGURE_ARGS+=	--with-mysql=${LOCALBASE}
 PLIST_SUB=		MYSQL=""
-.else
+.endif
+
+.if !defined(WITHOUT_MYSQL40) && defined(WITH_MYSQL40)
+LIB_DEPENDS+=		mysqlclient.12:${PORTSDIR}/databases/mysql40-client
+CONFIGURE_ARGS+=	--with-mysql=${LOCALBASE}
+PLIST_SUB=		MYSQL=""
+.endif
+
+.if !defined(WITHOUT_MYSQL41) && defined(WITH_MYSQL41)
+LIB_DEPENDS+=		mysqlclient.14:${PORTSDIR}/databases/mysql41-client
+CONFIGURE_ARGS+=	--with-mysql=${LOCALBASE}
+PLIST_SUB=		MYSQL=""
+.endif
+
+.if !defined(WITH_MYSQL3) && !defined(WITH_MYSQL40) && !defined(WITH_MYSQL41)
+PLIST_SUB+=		MYSQL="@comment "
 CONFIGURE_ARGS+=	--without-mysql
-PLIST_SUB=		MYSQL="@comment "
 .endif
 
-.if defined(WITH_POSTGRES)
+.if !defined(WITHOUT_POSTGRES7) && defined(WITH_POSTGRES7)
 POSTGRESQL_PORT?=	databases/postgresql7
 LIB_DEPENDS+=		pq.3:${PORTSDIR}/${POSTGRESQL_PORT}
 CONFIGURE_ARGS+=	--with-postgres=${LOCALBASE}
 PLIST_SUB+=		POSTGRES=""
-.else
-CONFIGURE_ARGS+=	--without-postgres
+.endif
+
+.if !defined(WITHOUT_POSTGRES72) && defined(WITH_POSTGRES72)
+POSTGRESQL_PORT?=	databases/postgresql72
+LIB_DEPENDS+=		pqeasy.2:${PORTSDIR}/${POSTGRESQL_PORT}
+CONFIGURE_ARGS+=	--with-postgres=${LOCALBASE}
+PLIST_SUB+=		POSTGRES=""
+.endif
+
+.if !defined(WITH_POSTGRES7) && !defined(WITH_POSTGRES72)
 PLIST_SUB+=		POSTGRES="@comment "
+CONFIGURE_ARGS+=	--without-postgres
 .endif
 
-.if defined(WITH_LDAP)
+.if !defined(WITHOUT_LDAP) && defined(WITH_LDAP)
 LIB_DEPENDS+=		ldap.2:${PORTSDIR}/net/openldap20
 CONFIGURE_ARGS+=	--with-ldap=${LOCALBASE}
 PLIST_SUB+=		LDAP=""
@@ -62,12 +116,30 @@
 PLIST_SUB+=		LDAP="@comment "
 .endif
 
+.if !defined(WITHOUT_FIREBIRD) && defined(WITH_FIREBIRD)
+LIB_DEPENDS+=		gds.1:${PORTSDIR}/databases/firebird
+CONFIGURE_ARGS+=	--with-firebird=${LOCALBASE}/firebird
+PLIST_SUB+=		FIREBIRD:=""
+.else
+CONFIGURE_ARGS+=	--without-interbase
+PLIST_SUB+=		FIREBIRD:="@comment "
+.endif
+
 pre-everything::
-.if !defined(WITH_MYSQL)
-	@${ECHO_MSG} "You can enable support for MySQL databases by defining WITH_MYSQL."
+.if !defined(WITH_MYSQL3)
+	@${ECHO_MSG} "You can enable support for MySQL 3 databases by defining WITH_MYSQL3."
+.endif
+.if !defined(WITH_MYSQL40)
+	@${ECHO_MSG} "You can enable support for MySQL 4.0 databases by defining WITH_MYSQL40."
+.endif
+.if !defined(WITH_MYSQL41)
+	@${ECHO_MSG} "You can enable support for MySQL 4.1 databases by defining WITH_MYSQL41."
+.endif 
+.if !defined(WITH_POSTGRES7)
+	@${ECHO_MSG} "You can enable support for Postgres 7.0 databases by defining WITH_POSTGRES7."
 .endif
-.if !defined(WITH_POSTGRES)
-	@${ECHO_MSG} "You can enable support for Postgres databases by defining WITH_POSTGRES."
+.if !defined(WITH_POSTGRES72)
+	@${ECHO_MSG} "You can enable support for Postgres 7.2 databases by defining WITH_POSTGRES72."
 .endif
 .if !defined(WITH_LDAP)
 	@${ECHO_MSG} "You can enable support for LDAP databases by defining WITH_LDAP."
@@ -77,4 +149,4 @@
 	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g ; \
 		 s|DATADIRNAME=lib|DATADIRNAME=share|g' ${WRKSRC}/configure
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: pkg-plist
===================================================================
RCS file: /big/FreeBSD-CVS/ports/databases/libgda2/pkg-plist,v
retrieving revision 1.23
diff -u -u -r1.23 pkg-plist
--- pkg-plist	2 Jun 2003 18:18:02 -0000	1.23
+++ pkg-plist	8 Jun 2003 17:38:58 -0000
@@ -74,6 +74,7 @@
 lib/libgdasql.so
 lib/libgdasql.so.0
 lib/libgda/providers/libgda-default.so
+%%FIREBIRD%%lib/libgda/providers/libgda-interbase.so
 %%LDAP%%lib/libgda/providers/libgda-ldap.so
 %%MYSQL%%lib/libgda/providers/libgda-mysql.so
 %%POSTGRES%%lib/libgda/providers/libgda-postgres.so


More information about the freebsd-gnome mailing list