[PATCH 5/5] s4: allow to build pam_winbind.so

Matthieu Patou mat at matws.net
Wed Jan 27 15:39:54 MST 2010


---
 iniparser/config.m4  |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 iniparser/config.mk  |    7 +++++++
 nsswitch/config.m4   |   21 +++++++++++++++++++++
 source4/configure.ac |    1 +
 4 files changed, 75 insertions(+), 0 deletions(-)
 create mode 100644 iniparser/config.m4
 create mode 100644 iniparser/config.mk

diff --git a/iniparser/config.m4 b/iniparser/config.m4
new file mode 100644
index 0000000..ff29873
--- /dev/null
+++ b/iniparser/config.m4
@@ -0,0 +1,46 @@
+AC_ARG_WITH(included-iniparser,
+[AS_HELP_STRING([--with-included-iniparser], [use bundled iniparser library, not from system])],
+[
+  case "$withval" in
+  yes)
+    INCLUDED_INIPARSER=yes
+    ;;  
+  no)
+    INCLUDED_INIPARSER=no
+    ;;
+  esac ],
+)
+if test x"$INCLUDED_INIPARSER" != x"yes"; then
+    AC_CHECK_LIB(iniparser, iniparser_load,
+    INCLUDED_INIPARSER=no, INCLUDED_INIPARSER=yes)
+fi
+
+AC_MSG_CHECKING(whether to use included iniparser)
+if test x"$INCLUDED_INIPARSER" = x"yes"; then
+
+  iniparserpaths=". lib/iniparser iniparser ../iniparser ../lib/iniparser"
+  for d in $iniparserpaths; do
+    if test -f "$srcdir/$d/src/iniparser.c"; then
+      iniparserdir="$d"
+      AC_SUBST(iniparserdir)
+      break;
+    fi
+  done
+  if test x"$iniparserdir" = "x"; then
+     AC_MSG_ERROR([cannot find iniparser source in $iniparserpaths])
+  fi
+  AC_MSG_RESULT(yes)
+  INIPARSERLIBS=""
+  INIPARSERCFLAGS="-I$srcdir/$iniparserdir/src"
+
+  SMB_SUBSYSTEM(INIPARSER,[$srcdir/$iniparserdir/../iniparser_build/iniparser.o $srcdir/$iniparserdir/../iniparser_build/dictionary.o $srcdir/$iniparserdir/../iniparser_build/strlib.o],[],"$INIPARSERCFLAGS")
+else
+  AC_MSG_RESULT(no)
+  BUILD_INIPARSER=""
+  INIPARSERLIBS="-liniparser"
+  INIPARSERCFLAGS=""
+fi
+AC_SUBST(BUILD_INIPARSER)
+AC_SUBST(INIPARSERLIBS)
+AC_SUBST(INIPARSERCFLAGS)
+
diff --git a/iniparser/config.mk b/iniparser/config.mk
new file mode 100644
index 0000000..672ea1f
--- /dev/null
+++ b/iniparser/config.mk
@@ -0,0 +1,7 @@
+[SUBSYSTEM::INIPARSER]
+OUTPUT_TYPE = MERGED_OBJ
+CFLAGS = -I$(iniparserdir)
+
+INIPARSER_OBJ_FILES = $(iniparserbuilddir)/dictionary.c  $(iniparserbuilddir)/iniparser.c  $(iniparserbuilddir)/strlib.c
+
+
diff --git a/nsswitch/config.m4 b/nsswitch/config.m4
index 2c8fa17..ed29abc 100644
--- a/nsswitch/config.m4
+++ b/nsswitch/config.m4
@@ -1,3 +1,4 @@
+######
 AC_CHECK_HEADERS(nss.h nss_common.h ns_api.h )
 
 case "$host_os" in
@@ -9,3 +10,23 @@ case "$host_os" in
 	*)
 	;;
 esac
+#####
+
+#####
+AC_CHECK_HEADERS(pam/pam_appl.h security/pam_appl.h)
+AC_CHECK_LIB_EXT(pam, PAM_LIBS, pam_get_data)
+AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
+    #if HAVE_SECURITY_PAM_APPL_H
+    #include <security/pam_appl.h>
+    #endif
+    #if HAVE_PAM_PAM_APPL_H
+    #include <pam/pam_appl.h>
+    #endif
+  ]])
+AC_MSG_CHECKING(whether to use included iniparser)
+SMB_LIBRARY(pam_winbind,
+			    [../nsswitch/pam_winbind.o ../locale/localedir.o \$(INIPARSER_OBJ_FILES)],
+			    [LIBWINBIND-CLIENT],-DLOCALEDIR=\\\"${datarootdir}/locale\\\" -I../locale/include \$(INIPARSERCFLAGS),\$(INIPARSERLIBS))
+
+
+#####
diff --git a/source4/configure.ac b/source4/configure.ac
index eab1be6..fc505af 100644
--- a/source4/configure.ac
+++ b/source4/configure.ac
@@ -131,6 +131,7 @@ m4_include(auth/config.m4)
 m4_include(kdc/config.m4)
 m4_include(ntvfs/sysdep/config.m4)
 m4_include(../nsswitch/config.m4)
+m4_include(../iniparser/config.m4)
 
 #################################################
 # add *_CFLAGS only for the real build
-- 
1.6.3.3


--------------080108000303030509080601
Content-Type: text/x-patch;
 name="0002-s3-move-localedir-files-to-allow-sharing.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="0002-s3-move-localedir-files-to-allow-sharing.patch"



More information about the samba-technical mailing list