[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 | 23 ++++++++++++++++++++++-
source4/configure.ac | 1 +
4 files changed, 76 insertions(+), 1 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..fe46261
--- /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..901a26c 100644
--- a/nsswitch/config.m4
+++ b/nsswitch/config.m4
@@ -1,11 +1,32 @@
+######
AC_CHECK_HEADERS(nss.h nss_common.h ns_api.h )
case "$host_os" in
*linux*)
- SMB_LIBRARY(nss_winbind,
+ SMB_BUILD_LIBRARY(nss_winbind,
[../nsswitch/winbind_nss_linux.o],
[LIBWINBIND-CLIENT])
;;
*)
;;
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_BUILD_LIBRARY(pam_winbind,
+ [../nsswitch/pam_winbind.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
--------------050803070908040701010406
Content-Type: text/x-patch;
name="0003-s3-Fix-build-file-due-to-file-move.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="0003-s3-Fix-build-file-due-to-file-move.patch"
More information about the samba-technical
mailing list