summaryrefslogtreecommitdiff
path: root/source3/configure.in
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2006-08-24 15:43:32 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:38:48 -0500
commit5693e6c599a586b1bb19eea375c6b1e22526031c (patch)
tree9190fcd83791a892aaca33debd400fd0b4124fc2 /source3/configure.in
parent6717e0d467bea50cb7712e6b5278ddb403fdf828 (diff)
downloadsamba-5693e6c599a586b1bb19eea375c6b1e22526031c.tar.gz
samba-5693e6c599a586b1bb19eea375c6b1e22526031c.tar.bz2
samba-5693e6c599a586b1bb19eea375c6b1e22526031c.zip
r17798: Beginnings of a standalone libaddns library released under
the LGPL. Original code by Krishna Ganugapati <krishnag@centeris.com>. Additional work by me. It's still got some warts, but non-secure updates do currently work. There are at least four things left to really clean up. 1. Change the memory management to use talloc() rather than malloc() and cleanup the leaks. 2. Fix the error code reporting (see initial changes to dnserr.h) 3. Fix the secure updates 4. Define a public interface in addns.h 5. Move the code in libads/dns.c into the libaddns/ directory (and under the LGPL). A few notes: * Enable the new code by compiling with --with-dnsupdate * Also adds the command 'net ads dns register' * Requires -luuid (included in the e2fsprogs-devel package). * Has only been tested on Linux platforms so there may be portability issues. (This used to be commit 36f04674aeefd93c5a0408b8967dcd48b86fdbc1)
Diffstat (limited to 'source3/configure.in')
-rw-r--r--source3/configure.in118
1 files changed, 118 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in
index dc2f516139..160791eff7 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -259,6 +259,10 @@ AC_SUBST(INSTALL_LIBMSRPC)
AC_SUBST(UNINSTALL_LIBMSRPC)
AC_SUBST(LIBMSRPC_SHARED)
AC_SUBST(LIBMSRPC)
+AC_SUBST(INSTALL_LIBADDNS)
+AC_SUBST(UNINSTALL_LIBADDNS)
+AC_SUBST(LIBADDNS_SHARED)
+AC_SUBST(LIBADDNS)
AC_SUBST(INSTALL_LIBSMBCLIENT)
AC_SUBST(UNINSTALL_LIBSMBCLIENT)
AC_SUBST(LIBSMBCLIENT_SHARED)
@@ -3791,6 +3795,71 @@ fi
AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache)
+########################################################
+# Compile with DNS Updates support?
+
+with_dnsupdate_support=no
+AC_MSG_CHECKING([whether to enable DNS Updates support])
+
+AC_ARG_WITH(dnsupdate,
+[ --with-dnsupdate Enable DNS Updates support (default no)],
+[ case "$withval" in
+ yes|no)
+ with_dnsupdate_support=$withval
+ ;;
+ esac ])
+
+AC_MSG_RESULT($with_dnsupdate_support)
+
+if test x"$with_dnsupdate_support" != x"no"; then
+
+ ################################################################
+ # first test for Active Directory support being enabled
+ #if test x"$with_ads_support" = x"no"; then
+ # AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
+ # with_dnsupdate_support=no
+ #fi
+ ##################################################################
+ # then test for uuid.h (necessary to generate unique DNS keynames
+ # (uuid.h is required for this test)
+ AC_CHECK_HEADERS(uuid/uuid.h)
+
+ if test x"$ac_cv_header_uuid_uuid_h" != x"yes"; then
+ if test x"$with_dnsupdate_support" = x"yes"; then
+ AC_MSG_ERROR(uuid.h is needed to enable DNS Updates support)
+ else
+ AC_MSG_WARN(uuid.h is needed to enable DNS Updates support)
+ fi
+ with_dnsupdate_support=no
+ fi
+fi
+
+if test x"$with_dnsupdate_support" != x"no"; then
+ ac_save_LIBS=$LIBS
+
+ ########################################################
+ # now see if we can find the uuid libs in standard paths
+ AC_CHECK_LIB_EXT(uuid, UUID_LIBS, uuid_generate)
+
+ LIBS="$LIBS $UUID_LIBS"
+
+ if test x"$ac_cv_lib_ext_uuid_uuid_generate" = x"yes"; then
+ with_dnsupdate_support=yes
+ AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support])
+ AC_MSG_CHECKING(whether UUID support is used)
+ AC_MSG_RESULT(yes)
+ else
+ if test x"$with_dnsupdate_support" = x"yes"; then
+ AC_MSG_ERROR(libuuid is needed to enable DNS Updates support)
+ else
+ AC_MSG_WARN(libuuid is needed to enable DNS Updates support)
+ fi
+ UUID_LIBS=""
+ with_dnsupdate_support=no
+ fi
+ LIBS=$ac_save_LIBS
+fi
+
#################################################
# check for automount support
AC_MSG_CHECKING(whether to use automount)
@@ -4408,6 +4477,52 @@ AC_ARG_WITH(libmsrpc,
#################################################
+# should we build libaddns?
+INSTALL_LIBADDNS=
+UNINSTALL_LIBADDNS=
+LIBADDNS_SHARED=
+LIBADDNS=
+AC_MSG_CHECKING(whether to build the libaddns shared library)
+AC_ARG_WITH(libaddns,
+[ --with-libaddns Build the libaddns shared library (default=yes if shared libs supported)],
+[ case "$withval" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ if test $BLDSHARED = true; then
+ LIBADDNS_SHARED=bin/libaddns.$SHLIBEXT
+ LIBADDNS=libaddns
+ AC_MSG_RESULT(yes)
+ else
+ enable_static=yes
+ AC_MSG_RESULT(no shared library support -- will supply static library)
+ fi
+ if test $enable_static = yes; then
+ LIBADDNS=libaddns
+ fi
+ INSTALL_LIBADDNS=installlibaddns
+ UNINSTALL_LIBADDNS=uninstalllibaddns
+ ;;
+ esac ],
+[
+# if unspecified, default is to built it if possible.
+ if test $BLDSHARED = true; then
+ LIBADDNS_SHARED=bin/libaddns.$SHLIBEXT
+ LIBADDNS=libaddns
+ AC_MSG_RESULT(yes)
+ else
+ enable_static=yes
+ AC_MSG_RESULT(no shared library support -- will supply static library)
+ fi
+ if test $enable_static = yes; then
+ LIBADDNS=libaddns
+ fi]
+ INSTALL_LIBADDNS=installlibaddns
+ UNINSTALL_LIBADDNS=uninstalllibaddns
+)
+
+#################################################
# should we build libsmbclient?
INSTALL_LIBSMBCLIENT=
UNINSTALL_LIBSMBCLIENT=
@@ -5719,6 +5834,9 @@ fi
if test x"$with_ldap_support" != x"no"; then
AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
fi
+if test x"$with_dnsupdate_support" != x"no"; then
+ AC_MSG_RESULT([ UUID_LIBS = $UUID_LIBS])
+fi
AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])
#################################################