From a471b52a918ae6ab59589b93b890fa0c08080b92 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Thu, 17 Oct 2013 14:36:44 +0200 Subject: [PATCH] New configure option --with-tdb --- NEWS | 2 ++ configure.ac | 3 +++ include/atalk/tdb.h | 10 +++++++--- libatalk/Makefile.am | 10 +++++++--- libatalk/cnid/tdb/Makefile.am | 3 +++ macros/netatalk.m4 | 25 +++++++++++++++++++++++++ macros/summary.m4 | 8 ++++++++ 7 files changed, 55 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 4760eda2..f9d88e27 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,8 @@ Changes in 3.0.6 * FIX: Disable Kerberos UAM if AFP service principal name can't be evaluated. Fixes bug #531. * FIX: Fix handling of large number of volumes. Bug #527. +* NEW: Configure option --with-tbd which can be used to disable the + use of the bundled tdb and use a system installed version. Changes in 3.0.5 ================ diff --git a/configure.ac b/configure.ac index 90f10fec..6f56cdc3 100644 --- a/configure.ac +++ b/configure.ac @@ -182,6 +182,9 @@ AC_NETATALK_SENDFILE dnl Check whether bundled libevent shall not be used AC_NETATALK_LIBEVENT +dnl Check whether bundled tdb shall be used +AC_NETATALK_TDB + dnl libatalk API checks AC_DEVELOPER diff --git a/include/atalk/tdb.h b/include/atalk/tdb.h index 789649a1..b13ee350 100644 --- a/include/atalk/tdb.h +++ b/include/atalk/tdb.h @@ -1,5 +1,8 @@ -#ifndef __TDB_H__ -#define __TDB_H__ +#ifndef USE_BUILTIN_TDB +# include +#else +# ifndef __TDB_H__ +# define __TDB_H__ /* Unix SMB/CIFS implementation. @@ -174,4 +177,5 @@ extern TDB_DATA tdb_null; } #endif -#endif /* tdb.h */ +# endif /* tdb.h */ +#endif /* USE_BUILTIN_TDB */ diff --git a/libatalk/Makefile.am b/libatalk/Makefile.am index 06e869a3..62f1af30 100644 --- a/libatalk/Makefile.am +++ b/libatalk/Makefile.am @@ -34,7 +34,7 @@ VERSION_INFO = 6:0:0 # 3.0.4 5:0:0 # 3.0.5 6:0:0 -SUBDIRS = acl adouble bstring compat cnid dsi iniparser tdb util unicode vfs +SUBDIRS = acl adouble bstring compat cnid dsi iniparser util unicode vfs lib_LTLIBRARIES = libatalk.la @@ -52,7 +52,6 @@ libatalk_la_LIBADD = \ compat/libcompat.la \ dsi/libdsi.la \ iniparser/libiniparser.la \ - tdb/libtdb.la \ unicode/libunicode.la \ util/libutil.la \ vfs/libvfs.la @@ -65,13 +64,18 @@ libatalk_la_DEPENDENCIES = \ compat/libcompat.la \ dsi/libdsi.la \ iniparser/libiniparser.la \ - tdb/libtdb.la \ unicode/libunicode.la \ util/libutil.la \ vfs/libvfs.la libatalk_la_LDFLAGS = -version-info $(VERSION_INFO) +if USE_BUILTIN_TDB +SUBDIRS += tdb +libatalk_la_LIBADD += tdb/libtdb.la +libatalk_la_DEPENDENCIES += tdb/libtdb.la +endif + if DEVELOPER all-local: .libs/libatalk.so @$(top_srcdir)/abigen.sh .libs/libatalk.so > libatalk.abi.tmp diff --git a/libatalk/cnid/tdb/Makefile.am b/libatalk/cnid/tdb/Makefile.am index 58a4f722..93c289aa 100644 --- a/libatalk/cnid/tdb/Makefile.am +++ b/libatalk/cnid/tdb/Makefile.am @@ -14,4 +14,7 @@ libcnid_tdb_la_SOURCES = cnid_tdb_add.c \ cnid_tdb_update.c \ cnid_tdb.h +libcnid_tdb_la_CFLAGS = @TDB_CFLAGS@ +libcnid_tdb_la_LIBADD = @TDB_LIBS@ + EXTRA_DIST = README cnid_tdb_nextid.c diff --git a/macros/netatalk.m4 b/macros/netatalk.m4 index 27c30322..be0fb3a6 100644 --- a/macros/netatalk.m4 +++ b/macros/netatalk.m4 @@ -156,6 +156,31 @@ AC_DEFUN([AC_NETATALK_LIBEVENT], [ AM_CONDITIONAL(USE_BUILTIN_LIBEVENT, test x"$use_bundled_libevent" = x"yes") ]) +dnl Whether to disable bundled tdb +AC_DEFUN([AC_NETATALK_TDB], [ + AC_ARG_WITH( + tdb, + [AS_HELP_STRING([--with-tdb],[whether to use the bundled tdb (default: yes)])], + use_bundled_tdb=$withval, + use_bundled_tdb=yes + ) + AC_MSG_CHECKING([whether to use bundled tdb]) + AC_MSG_RESULT([$use_bundled_tdb]) + + if test x"$use_bundled_tdb" = x"yes" ; then + AC_DEFINE(USE_BUILTIN_TDB, 1, [Use internal tbd]) + else + if test -z "$TDB_LIBS" ; then + PKG_CHECK_MODULES(TDB, tdb, , [AC_MSG_ERROR([couldn't find tdb with pkg-config])]) + fi + use_bundled_tdb=no + fi + + AC_SUBST(TDB_CFLAGS) + AC_SUBST(TDB_LIBS) + AM_CONDITIONAL(USE_BUILTIN_TDB, test x"$use_bundled_tdb" = x"yes") +]) + dnl Filesystem Hierarchy Standard (FHS) compatibility AC_DEFUN([AC_NETATALK_FHS], [ AC_MSG_CHECKING([whether to use Filesystem Hierarchy Standard (FHS) compatibility]) diff --git a/macros/summary.m4 b/macros/summary.m4 index 0f8193fb..810c8966 100644 --- a/macros/summary.m4 +++ b/macros/summary.m4 @@ -142,4 +142,12 @@ AC_DEFUN([AC_NETATALK_LIBS_SUMMARY], [ AC_MSG_RESULT([ LIBS = $LIBEVENT_CFLAGS]) AC_MSG_RESULT([ CFLAGS = $LIBEVENT_LDFLAGS]) fi + + AC_MSG_RESULT([ TDB:]) + if test x"$use_bundled_tdb" = x"yes"; then + AC_MSG_RESULT([ bundled]) + else + AC_MSG_RESULT([ LIBS = $TDB_LIBS]) + AC_MSG_RESULT([ CFLAGS = $TDB_CFLAGS]) + fi ]) -- 2.39.2