kwizart / rpms / samba

Forked from rpms/samba 4 years ago
Clone
Blob Blame History Raw
commit 3b0bd19570894e5219878102a2564a08095f26cd
Author:     Jelmer Vernooij <jelmer@samba.org>
AuthorDate: Thu Jun 11 04:57:58 2009 +0200
Commit:     G√ľnther Deschner <gd@samba.org>
CommitDate: Tue Jul 14 23:51:24 2009 +0200

    Fix build with external talloc.
---
 source3/configure.in |   29 +++++++++++++++++++++++++++--
 source3/samba4.m4    |    4 ++++
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/source3/configure.in b/source3/configure.in
index 111e89d..fc41b35 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -77,7 +77,6 @@ done
 AC_SUBST(LIBTDB_OBJ0)
 SAMBA_CPPFLAGS="-Iinclude -I${srcdir-.}/include  -I. -I${srcdir-.}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/replace"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TEVENT_CFLAGS}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/libaddns"
@@ -4748,7 +4747,33 @@ LINK_LIBSMBCLIENT=STATIC
 #  TODO: for talloc and tdb (at least), these should
 #  be extracted from their respective source directories
 #
-SMB_LIBRARY(talloc, 1)
+AC_ARG_ENABLE(external_libtalloc, [AS_HELP_STRING([--enable-external-libtalloc], [Enable external talloc [default=auto]])], 
+[ enable_external_libtalloc=$enableval ], [ enable_external_libtalloc=auto ])
+
+if test "x$enable_external_libtalloc" != xno
+then
+	PKG_CHECK_MODULES(LIBTALLOC, talloc >= 1.3.0, 
+		[ enable_external_libtalloc=yes ],
+		[ if test x$enable_external_libtalloc = xyes; then
+		 	AC_MSG_ERROR([Unable to find libtalloc])
+	      else 
+			enable_external_libtalloc=no
+		  fi
+		])
+fi
+
+if test "x$enable_external_libtalloc" = xno
+then
+	m4_include(../lib/talloc/libtalloc.m4)
+	SMB_LIBRARY(talloc, 1)
+	LIBTALLOC_OBJ0=""
+	for obj in ${TALLOC_OBJ}; do
+		LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}"
+	done
+	SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
+	AC_SUBST(LIBTALLOC_OBJ0)
+fi
+
 SMB_LIBRARY(tdb, 1)
 SMB_LIBRARY(netapi, 0)
 SMB_LIBRARY(smbclient, 0)
diff --git a/source3/samba4.m4 b/source3/samba4.m4
index b5c7c74..0ea40db 100644
--- a/source3/samba4.m4
+++ b/source3/samba4.m4
@@ -75,6 +75,10 @@ SMB_EXT_LIB_FROM_PKGCONFIG(LIBTALLOC, talloc >= $TALLOC_MIN_VERSION,
 		SMB_INCLUDE_MK(../lib/talloc/config.mk)
 	]
 )
+# Tallocdir isn't always set by the Samba3 c
+tallocdir=../lib/talloc
+AC_SUBST(tallocdir)
+CFLAGS="$CFLAGS -I../lib/talloc"
 
 SMB_EXT_LIB_FROM_PKGCONFIG(LIBTDB, tdb >= $TDB_MIN_VERSION,
 	[],