diff src/lib-sql/Makefile.am @ 3943:cbe5c6772e0d HEAD

Added support for dynamically building SQL drivers.
author Timo Sirainen <tss@iki.fi>
date Fri, 27 Jan 2006 00:01:00 +0200
parents b967ffb7e3a6
children 374ff0d56803
line wrap: on
line diff
--- a/src/lib-sql/Makefile.am	Thu Jan 26 23:08:53 2006 +0200
+++ b/src/lib-sql/Makefile.am	Fri Jan 27 00:01:00 2006 +0200
@@ -1,5 +1,7 @@
 noinst_LIBRARIES = libsql.a
 
+sql_drivers = @sql_drivers@
+
 AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/lib \
 	$(SQL_CFLAGS)
@@ -8,8 +10,28 @@
 	driver-mysql.c \
 	driver-pgsql.c \
 	driver-sqlite.c \
-	sql-api.c
+	sql-api.c \
+	sql-drivers-register.c
 
 noinst_HEADERS = \
 	sql-api.h \
 	sql-api-private.h
+
+sql-drivers-register.c: Makefile
+	rm -f $@
+	echo '/* this file automatically generated by Makefile */' >$@
+	echo '#include "lib.h"' >>$@
+	echo '#include "sql-api.h"' >>$@
+	for i in $(sql_drivers) ; do \
+		echo "extern struct sql_db driver_$${i}_db;" >>$@ ; \
+	done
+	echo 'void sql_drivers_register_all(void) {' >>$@
+	for i in $(sql_drivers) ; do \
+		echo "sql_driver_register(&driver_$${i}_db);" >>$@ ; \
+	done
+	echo '}' >>$@
+
+DISTFILES = $(DIST_COMMON) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+distclean-generic:
+	rm -f Makefile sql-drivers-register.c