commit 08dab9465b0470704662e96c083cac0a6fd76ef5
parent 8dc776c528bc29bda4e864f726f15916a77a3183
Author: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Date: Sat, 11 Apr 2015 20:06:30 +0200
Make Berkley DB an optional dependency.
It doesn't seem necessary for any of the basic functionality.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat:
5 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/README b/README
@@ -61,7 +61,7 @@ isync executable still exists; it is a compatibility wrapper around mbsync.
* Requirements
- Berkley DB 4.2+
+ Berkley DB 4.2+ (optional)
OpenSSL for TLS/SSL support (optional)
* Installation
diff --git a/configure.ac b/configure.ac
@@ -146,8 +146,9 @@ AC_CACHE_CHECK([for Berkley DB >= 4.2], ac_cv_berkdb4,
db->truncate(db, 0, 0, 0);
db->open(db, 0, "foo", "foo", DB_HASH, DB_CREATE, 0)],
[ac_cv_berkdb4=yes])])
-if test "x$ac_cv_berkdb4" = xno; then
- AC_MSG_ERROR([Berkley DB >= 4.2 not found.])
+if test "x$ac_cv_berkdb4" = xyes; then
+ AC_SUBST([DB_LIBS], ["-ldb"])
+ AC_DEFINE(USE_DB, 1, [if Berkley DB should be used])
fi
have_zlib=
@@ -165,7 +166,8 @@ AC_ARG_ENABLE(compat,
if test "x$ob_cv_enable_compat" != xno; then
AC_CHECK_FUNCS(getopt_long)
fi
-AM_CONDITIONAL(with_compat, test "x$ob_cv_enable_compat" != xno)
+AM_CONDITIONAL(with_compat, test "x$ob_cv_enable_compat" != xno -a "x$ac_cv_berkdb4" = xyes)
+AM_CONDITIONAL(with_mdconvert, test "x$ac_cv_berkdb4" = xyes)
AC_CONFIG_FILES([Makefile src/Makefile src/compat/Makefile isync.spec])
AC_OUTPUT
@@ -186,4 +188,9 @@ if test -n "$have_zlib"; then
else
AC_MSG_RESULT([Not using zlib])
fi
+if test "x$ac_cv_berkdb4" = xyes; then
+ AC_MSG_RESULT([Using Berkley DB])
+else
+ AC_MSG_RESULT([Not using Berkley DB])
+fi
AC_MSG_RESULT()
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -3,20 +3,23 @@ compat_dir = compat
endif
SUBDIRS = $(compat_dir)
-bin_PROGRAMS = mbsync mdconvert
-
mbsync_SOURCES = main.c sync.c config.c util.c socket.c driver.c drv_imap.c drv_maildir.c
-mbsync_LDADD = -ldb $(SSL_LIBS) $(SOCK_LIBS) $(SASL_LIBS) $(Z_LIBS)
+mbsync_LDADD = $(DB_LIBS) $(SSL_LIBS) $(SOCK_LIBS) $(SASL_LIBS) $(Z_LIBS)
noinst_HEADERS = common.h config.h driver.h sync.h socket.h
mdconvert_SOURCES = mdconvert.c
-mdconvert_LDADD = -ldb
+mdconvert_LDADD = $(DB_LIBS)
+if with_mdconvert
+mdconvert_prog = mdconvert
+mdconvert_man = mdconvert.1
+endif
EXTRA_PROGRAMS = tst_timers
tst_timers_SOURCES = tst_timers.c util.c
-man_MANS = mbsync.1 mdconvert.1
+bin_PROGRAMS = mbsync $(mdconvert_prog)
+man_MANS = mbsync.1 $(mdconvert_man)
exampledir = $(docdir)/examples
example_DATA = mbsyncrc.sample
diff --git a/src/compat/Makefile.am b/src/compat/Makefile.am
@@ -1,7 +1,7 @@
bin_PROGRAMS = isync
isync_SOURCES = main.c config.c convert.c util.c
-isync_LDADD = -ldb
+isync_LDADD = $(DB_LIBS)
noinst_HEADERS = isync.h
man_MANS = isync.1
diff --git a/src/drv_maildir.c b/src/drv_maildir.c
@@ -38,7 +38,6 @@
#include <time.h>
#include <utime.h>
-#define USE_DB 1
#ifdef __linux__
# define LEGACY_FLOCK 1
#endif