This is needed to build in Fedora rawhide
From b23398d91afd7457324016eae0b24c237029896d Mon Sep 17 00:00:00 2001
From: Rich Megginson <[email protected]>
Date: Mon, 27 Jun 2011 13:01:24 -0600
Subject: [PATCH] look for separate openldap ldif library
Newer versions of openldap have moved the ldif api into the main libldap
At configure time we need to see if libldap has the api, or if we need
to link with a separate libldif
---
Makefile.am | 2 +-
Makefile.in | 5 +-
configure | 120 ++++++++++++++++++++++++++++++++++++++++++++++---------
m4/openldap.m4 | 7 +++
4 files changed, 111 insertions(+), 23 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 39b49c0..4bf1966 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,7 +45,7 @@ endif
NSPR_LINK = @nspr_lib@ -lplc4 -lplds4 -lnspr4
NSS_LINK = @nss_lib@ -lssl3 -lnss3
if OPENLDAP
-LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@ -lldap@ol_libver@
-lldif@ol_libver@ -llber@ol_libver@
+LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@ -lldap@ol_libver@
@ldap_lib_ldif@ -llber@ol_libver@
ldaplib = openldap
ldaplib_defs = -DUSE_OPENLDAP
else
diff --git a/Makefile.in b/Makefile.in
index a117b0e..eb5dac7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -49,7 +49,7 @@ noinst_PROGRAMS = makstrdb$(EXEEXT)
@SOLARIS_TRUE@am__append_2 = -lrt
@SOLARIS_TRUE@am__append_3 = ldap/servers/slapd/tools/ldclt/opCheck.c
subdir = .
-DIST_COMMON = $(am__configure_deps) $(dist_man_MANS) \
+DIST_COMMON = README $(am__configure_deps) $(dist_man_MANS) \
$(serverinc_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure compile config.guess config.sub \
@@ -1191,6 +1191,7 @@ instconfigdir = @instconfigdir@
kerberos_inc = @kerberos_inc@
kerberos_lib = @kerberos_lib@
kerberos_libdir = @kerberos_libdir@
+ldap_lib_ldif = @ldap_lib_ldif@
ldapsdk_bindir = @ldapsdk_bindir@
ldapsdk_inc = @ldapsdk_inc@
ldapsdk_lib = @ldapsdk_lib@
@@ -1305,7 +1306,7 @@ PLUGIN_CPPFLAGS = $(AM_CPPFLAGS) @openldap_inc@
@ldapsdk_inc@ @nss_inc@ @nspr_in
NSPR_LINK = @nspr_lib@ -lplc4 -lplds4 -lnspr4
NSS_LINK = @nss_lib@ -lssl3 -lnss3
@OPENLDAP_FALSE@LDAPSDK_LINK = @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60
-lldif60
-@OPENLDAP_TRUE@LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@
-lldap@ol_libver@ -lldif@ol_libver@ -llber@ol_libver@
+@OPENLDAP_TRUE@LDAPSDK_LINK = @openldap_lib@ -lldap_r@ol_libver@
-lldap@ol_libver@ @ldap_lib_ldif@ -llber@ol_libver@
@OPENLDAP_FALSE@ldaplib = mozldap
@OPENLDAP_TRUE@ldaplib = openldap
@OPENLDAP_FALSE@ldaplib_defs =
diff --git a/configure b/configure
index e4c42c3..0039c6c 100755
--- a/configure
+++ b/configure
@@ -844,6 +844,7 @@ kerberos_inc
KRB5_CONFIG_BIN
NETSNMP_CONFIG
ICU_CONFIG
+ldap_lib_ldif
PKG_CONFIG
SOLARIS_FALSE
SOLARIS_TRUE
@@ -5485,13 +5486,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:5488: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:5489: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:5491: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:5492: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:5494: output\"" >&5)
+ (eval echo "\"\$as_me:5495: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -6697,7 +6698,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6700 "configure"' > conftest.$ac_ext
+ echo '#line 6701 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -9262,11 +9263,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9265: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9266: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9269: \$? = $ac_status" >&5
+ echo "$as_me:9270: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9601,11 +9602,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9604: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9605: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9608: \$? = $ac_status" >&5
+ echo "$as_me:9609: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9706,11 +9707,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9709: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9710: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9713: \$? = $ac_status" >&5
+ echo "$as_me:9714: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -9761,11 +9762,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9764: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9765: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9768: \$? = $ac_status" >&5
+ echo "$as_me:9769: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12564,7 +12565,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12567 "configure"
+#line 12568 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12660,7 +12661,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12663 "configure"
+#line 12664 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14680,11 +14681,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14683: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14684: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14687: \$? = $ac_status" >&5
+ echo "$as_me:14688: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14779,11 +14780,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14782: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14783: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14786: \$? = $ac_status" >&5
+ echo "$as_me:14787: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14831,11 +14832,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14834: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14835: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14838: \$? = $ac_status" >&5
+ echo "$as_me:14839: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -22104,6 +22105,85 @@ _ACEOF
fi
+ ldap_lib_ldif=""
+ LDFLAGS="$LDFLAGS"
+ as_ac_Lib=`$as_echo "ac_cv_lib_ldap$ol_libver''_ldif_open" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for ldif_open in -lldap$ol_libver" >&5
+$as_echo_n "checking for ldif_open in -lldap$ol_libver... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lldap$ol_libver $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ldif_open ();
+int
+main ()
+{
+return ldif_open ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_Lib=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Lib'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ ldap_lib_ldif=
+else
+ ldap_lib_ldif=-lldif$ol_libver
+fi
+
+
LDFLAGS="$save_ldflags"
CPPFLAGS="$save_cppflags"
diff --git a/m4/openldap.m4 b/m4/openldap.m4
index 7fdb979..74700d7 100644
--- a/m4/openldap.m4
+++ b/m4/openldap.m4
@@ -142,6 +142,13 @@ if test "$with_openldap" = yes ; then
dnl look for ldap_url_parse_ext
AC_CHECK_LIB([ldap$ol_libver], [ldap_url_parse_ext],
[AC_DEFINE([HAVE_LDAP_URL_PARSE_EXT], [1], [have the function
ldap_url_parse_ext])])
+ dnl look for separate libldif - newer versions of openldap have moved the
+ dnl ldif functionality into libldap
+ ldap_lib_ldif=""
+ LDFLAGS="$LDFLAGS"
+ AC_CHECK_LIB([ldap$ol_libver], [ldif_open], [ldap_lib_ldif=],
+ [ldap_lib_ldif=-lldif$ol_libver])
+ AC_SUBST([ldap_lib_ldif])
LDFLAGS="$save_ldflags"
CPPFLAGS="$save_cppflags"
--
1.7.1
--
389-devel mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/389-devel