Add custom check for WINLDAP libraries.
In CURL_CHECK_LIBS_WINLDAP and CURL_CHECK_LIBS_LDAP, check first with no additional library even when the optional list of libraries has been given.
This commit is contained in:
		
							
								
								
									
										106
									
								
								acinclude.m4
									
									
									
									
									
								
							
							
						
						
									
										106
									
								
								acinclude.m4
									
									
									
									
									
								
							| @@ -480,16 +480,18 @@ AC_DEFUN([CURL_CHECK_HEADER_LDAPSSL], [ | |||||||
| ]) | ]) | ||||||
|  |  | ||||||
|  |  | ||||||
| dnl CURL_CHECK_LIBS_LDAP | dnl CURL_CHECK_LIBS_WINLDAP | ||||||
| dnl ------------------------------------------------- | dnl ------------------------------------------------- | ||||||
| dnl Check for libraries needed for LDAP support, | dnl Check for libraries needed for WINLDAP support, | ||||||
| dnl and prepended to LIBS any needed libraries. | dnl and prepended to LIBS any needed libraries. | ||||||
| dnl This macro can take an optional parameter with a | dnl This macro can take an optional parameter with a | ||||||
| dnl white space separated list of libraries to check | dnl white space separated list of libraries to check | ||||||
| dnl before the default ones. | dnl before the WINLDAP default ones. | ||||||
|  |  | ||||||
| AC_DEFUN([CURL_CHECK_LIBS_LDAP], [ | AC_DEFUN([CURL_CHECK_LIBS_WINLDAP], [ | ||||||
|   AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl |   AC_REQUIRE([CURL_CHECK_HEADER_WINBER])dnl | ||||||
|  |   # | ||||||
|  |   AC_MSG_CHECKING([for WINLDAP libraries]) | ||||||
|   # |   # | ||||||
|   u_libs="" |   u_libs="" | ||||||
|   # |   # | ||||||
| @@ -511,13 +513,103 @@ AC_DEFUN([CURL_CHECK_LIBS_LDAP], [ | |||||||
|     done |     done | ||||||
|   ]) |   ]) | ||||||
|   # |   # | ||||||
|  |   curl_cv_save_LIBS=$LIBS | ||||||
|  |   curl_cv_ldap_LIBS="unknown" | ||||||
|  |   # | ||||||
|  |   for x_nlibs in '' "$u_libs" \ | ||||||
|  |     '-lwldap32' ; do | ||||||
|  |     if test -z "$x_nlibs"; then | ||||||
|  |       LIBS="$curl_cv_save_LIBS" | ||||||
|  |     else | ||||||
|  |       LIBS="$x_nlibs $curl_cv_save_LIBS" | ||||||
|  |     fi | ||||||
|  |     AC_LINK_IFELSE([ | ||||||
|  |       AC_LANG_PROGRAM([ | ||||||
|  | #undef inline | ||||||
|  | #ifdef HAVE_WINDOWS_H | ||||||
|  | #ifndef WIN32_LEAN_AND_MEAN | ||||||
|  | #define WIN32_LEAN_AND_MEAN | ||||||
|  | #endif | ||||||
|  | #include <windows.h> | ||||||
|  | #ifdef HAVE_WINLDAP_H | ||||||
|  | #include <winldap.h> | ||||||
|  | #endif | ||||||
|  | #ifdef HAVE_WINBER_H | ||||||
|  | #include <winber.h> | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  |       ],[ | ||||||
|  |         BERVAL *bvp = NULL; | ||||||
|  |         BerElement *bep = ber_init(bvp); | ||||||
|  |         LDAP *ldp = ldap_init("dummy", LDAP_PORT); | ||||||
|  |         ULONG res = ldap_unbind(ldp); | ||||||
|  |         ber_free(bep, 1); | ||||||
|  |       ]) | ||||||
|  |     ],[ | ||||||
|  |        curl_cv_ldap_LIBS="$x_nlibs" | ||||||
|  |        break | ||||||
|  |     ]) | ||||||
|  |   done | ||||||
|  |   # | ||||||
|  |   LIBS=$curl_cv_save_LIBS | ||||||
|  |   # | ||||||
|  |   case X-"$curl_cv_ldap_LIBS" in | ||||||
|  |     X-unknown) | ||||||
|  |       AC_MSG_RESULT([cannot find WINLDAP libraries]) | ||||||
|  |       ;; | ||||||
|  |     X-) | ||||||
|  |       AC_MSG_RESULT([no additional lib required]) | ||||||
|  |       ;; | ||||||
|  |     *) | ||||||
|  |       if test -z "$curl_cv_save_LIBS"; then | ||||||
|  |         LIBS="$curl_cv_ldap_LIBS" | ||||||
|  |       else | ||||||
|  |         LIBS="$curl_cv_ldap_LIBS $curl_cv_save_LIBS" | ||||||
|  |       fi | ||||||
|  |       AC_MSG_RESULT([$curl_cv_ldap_LIBS]) | ||||||
|  |       ;; | ||||||
|  |   esac | ||||||
|  |   # | ||||||
|  | ]) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | dnl CURL_CHECK_LIBS_LDAP | ||||||
|  | dnl ------------------------------------------------- | ||||||
|  | dnl Check for libraries needed for LDAP support, | ||||||
|  | dnl and prepended to LIBS any needed libraries. | ||||||
|  | dnl This macro can take an optional parameter with a | ||||||
|  | dnl white space separated list of libraries to check | ||||||
|  | dnl before the default ones. | ||||||
|  |  | ||||||
|  | AC_DEFUN([CURL_CHECK_LIBS_LDAP], [ | ||||||
|  |   AC_REQUIRE([CURL_CHECK_HEADER_LDAP])dnl | ||||||
|  |   # | ||||||
|   AC_MSG_CHECKING([for LDAP libraries]) |   AC_MSG_CHECKING([for LDAP libraries]) | ||||||
|   # |   # | ||||||
|  |   u_libs="" | ||||||
|  |   # | ||||||
|  |   ifelse($1,,,[ | ||||||
|  |     for x_lib in $1; do | ||||||
|  |       case "$x_lib" in | ||||||
|  |         -l*) | ||||||
|  |           l_lib="$x_lib" | ||||||
|  |           ;; | ||||||
|  |         *) | ||||||
|  |           l_lib="-l$x_lib" | ||||||
|  |           ;; | ||||||
|  |       esac | ||||||
|  |       if test -z "$u_libs"; then | ||||||
|  |         u_libs="$l_lib" | ||||||
|  |       else | ||||||
|  |         u_libs="$u_libs $l_lib" | ||||||
|  |       fi | ||||||
|  |     done | ||||||
|  |   ]) | ||||||
|  |   # | ||||||
|   curl_cv_save_LIBS=$LIBS |   curl_cv_save_LIBS=$LIBS | ||||||
|   curl_cv_ldap_LIBS="unknown" |   curl_cv_ldap_LIBS="unknown" | ||||||
|   # |   # | ||||||
|   for x_nlibs in "$u_libs" \ |   for x_nlibs in '' "$u_libs" \ | ||||||
|     '' \ |  | ||||||
|     '-lldap' \ |     '-lldap' \ | ||||||
|     '-llber -lldap' \ |     '-llber -lldap' \ | ||||||
|     '-lldap -llber' \ |     '-lldap -llber' \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Yang Tse
					Yang Tse