From: Jonathan McDowell <noodles@earth.li>
Date: Wed, 2 Jun 2004 01:32:04 +0000 (+0000)
Subject: --enable-backend=<foo> configure option
X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/523633cb1b66234daa431f71278041f511046f00?ds=inline

--enable-backend=<foo> configure option
Add ability to configure the backend database to configure script.
---

diff --git a/Makefile.in b/Makefile.in
index 6cbcc49..4fce6dd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -5,14 +5,13 @@
 #
 
 CC = @CC@
-CFLAGS += @CFLAGS@ -Wall -pedantic -g
+CFLAGS += @CFLAGS@ -Wall -pedantic
 # Uncomment to enable profiling.
-#LDFLAGS += -pg
+LDFLAGS += @LDFLAGS@
 # Can be "pg" for Postgresql, "file" for flat files or "db2" for pksd db2 style.
-DBTYPE = db3
-# If using DBTYPE of "file" then comment the following line out.
-#LIBS = -L/usr/local/lib -lpq
-LIBS = -L/usr/local/lib -ldb3
+DBTYPE = @DBTYPE@
+#
+LIBS = @LIBS@
 
 PROGS = add lookup gpgwww onak splitkeys
 CORE_OBJS = armor.o charfuncs.o decodekey.o getcgi.o hash.o keydb_$(DBTYPE).o \
@@ -54,12 +53,13 @@ onak: onak.o merge.o cleankey.o $(CORE_OBJS)
 		$(CORE_OBJS) $(LIBS)
 
 clean:
-	rm -f $(PROGS) $(OBJS) Makefile.bak testparse maxpath *.core core \
+	$(RM) -f $(PROGS) $(OBJS) Makefile.bak testparse maxpath *.core core \
 		gpgwww.o add.o lookup.o main.o maxpath.o onak.o sixdegrees \
 		sixdegrees.o splitkeys.o
 
-distclean:
-	rm -f Makefile config.h .depend
+distclean: clean
+	$(RM) -f Makefile depend config.{log,status,h}
+	$(RM) -r autom4te.cache
 
 .depend: $(SRCS)
 	rm -f .depend
diff --git a/configure.ac b/configure.ac
index f10db95..4cbf68a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,12 +1,31 @@
 AC_PREREQ(2.50)
+AC_INIT([onak],[0.3.0],[noodles-onak@earth.li])
 
-AC_INIT
 AC_CONFIG_HEADER(config.h)
 
 AC_PROG_CC
 
 AC_C_BIGENDIAN
 
+AC_ARG_ENABLE(backend,AC_HELP_STRING([--enable-backend=<backend>],[Choose the backend database to use. Defaults to db3.]), [], [enable_backend="db3"])
+
+AC_MSG_CHECKING([which key database backend to use])
+AC_MSG_RESULT([$enable_backend])
+AC_CHECK_FILE(keydb_$enable_backend.c, ,AC_MSG_ERROR([non existent key database backend $enable_backend]))
+
+if test "x$enable_backend" = "xdb3"
+then
+	AC_CHECK_LIB(db3, db_env_create,,
+		AC_MSG_ERROR([cannot compile DB3 backend without libdb3]))
+else if test "x$enable_backend" = "xpg"
+then
+	AC_CHECK_LIB(pq, PQsetdbLoginx,,
+		AC_MSG_ERROR([cannot compile PostgreSQL backend without libpq]))
+fi
+fi
+
+AC_SUBST(DBTYPE, $enable_backend)
+
 AC_CONFIG_FILES(Makefile)
 
 AC_OUTPUT