aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorStefan Schubert <schubi@suse.de>2024-06-05 12:13:05 +0200
committerDmitry V. Levin <ldv@strace.io>2024-07-02 08:00:00 +0000
commitfa3295e079dbbc241906f29bde5fb71bc4172771 (patch)
tree77b6560f234c4234fade4e7a23908c492b30d05d /configure.ac
parentbc461898448a1bf306fc094cdf6a5a197c4e2753 (diff)
downloadpam-fa3295e079dbbc241906f29bde5fb71bc4172771.tar.gz
pam-fa3295e079dbbc241906f29bde5fb71bc4172771.tar.bz2
pam-fa3295e079dbbc241906f29bde5fb71bc4172771.zip
pam_econf_readconfig: add econf_readConfigWithCallback support
Check for econf_readConfigWithCallback() and use it if available. Co-authored-by: Dmitry V. Levin <ldv@strace.io>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac25
1 files changed, 25 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index fc5cc085..1fd06b6f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -578,6 +578,31 @@ if test "$WITH_ECONF" = "check"; then
elif test "$WITH_ECONF" = "yes"; then
PKG_CHECK_MODULES([ECONF], [libeconf >= 0.5.0], [ECONF_CFLAGS="-DUSE_ECONF=1 $ECONF_CFLAGS"], [])
fi
+if test -n "$ECONF_CFLAGS"; then
+ AC_MSG_CHECKING(for econf_readConfigWithCallback)
+ saved_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $ECONF_CFLAGS"
+ saved_LIBS=$LIBS
+ LIBS="$LIBS $ECONF_LIBS"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+ #include <libeconf.h>
+ ]],
+ [[
+ econf_file *key_file = NULL;
+ econf_err error = ECONF_SUCCESS;
+ error = econf_newKeyFile_with_options(&key_file, "PYTHON_STYLE=1");
+ error = econf_readConfigWithCallback (&key_file, "foo", "/usr/lib", "test", "conf", "=", "#", NULL, NULL);
+ ]])],
+ [econf_readConfigWithCallback=yes], [econf_readConfigWithCallback=no])
+ AC_MSG_RESULT($econf_readConfigWithCallback)
+ if test "$econf_readConfigWithCallback" = yes; then
+ AC_DEFINE([HAVE_ECONF_READCONFIG], [1], [Define if econf_readConfigWithCallback is available])
+ fi
+ LIBS=$saved_LIBS
+ CFLAGS=$saved_CFLAGS
+fi
AC_SUBST([ECONF_CFLAGS])
AC_SUBST([ECONF_LIBS])