ports/net/nss_ldap/files/patch-configure.in
Cy Schubert 515552b2d2 net/nss_ldap: Fix LLVM15 build
./configure's test for Heimdal results in,

conftest.c:47:12: error: incompatible pointer to integer conversion initializing
 'const char' with an expression of type 'const char *'; dereference with * [-Wi
nt-conversion]
const char hv = heimdal_version;
           ^    ~~~~~~~~~~~~~~~
                *

This causes ./configure to erroneously assume 14-CURRENT uses MIT instead
of Heimdal, resulting in a subsequent build failure because MIT's
<profile.h> cannot be found.

MFH:		2023Q3
2023-05-09 22:29:55 -07:00

49 lines
1.6 KiB
Text

--- configure.in.orig 2009-11-06 02:28:08.000000000 -0800
+++ configure.in 2023-05-09 21:54:34.360457000 -0700
@@ -97,11 +97,15 @@
linux*) nss_ldap_so_LDFLAGS="-shared -Wl,-Bdynamic -Wl,--version-script,\$(srcdir)/exports.linux" ;;
*) nss_ldap_so_LDFLAGS="-shared -Wl,-Bdynamic" ;;
esac
+case "$target_os" in
+freebsd*) TARGET_OS=FreeBSD ;;
+esac
AM_CONDITIONAL(GCC, test "$GCC" = "yes")
AM_CONDITIONAL(GLIBC, test "$target_os" = "linux" -o "$target_os" = "linux-gnu")
AM_CONDITIONAL(AIX, test "$TARGET_OS" = AIX)
AM_CONDITIONAL(HPUX, test "$TARGET_OS" = HPUX)
+AM_CONDITIONAL(FreeBSD, test "$TARGET_OS" = FreeBSD)
AM_CONDITIONAL(USE_NATIVE_LINKER, test -n "$nss_ldap_so_LD")
@@ -153,7 +157,6 @@
aix*) AC_CHECK_HEADERS(irs.h usersec.h) ;;
hpux*) AC_CHECK_HEADERS(nsswitch.h) ;;
*) AC_CHECK_HEADERS(nss.h)
- AC_CHECK_HEADERS(nsswitch.h)
AC_CHECK_HEADERS(irs.h) ;;
esac
AC_CHECK_HEADERS(thread.h)
@@ -188,6 +191,14 @@
AC_CHECK_HEADERS(gssapi/gssapi_krb5.h gssapi.h)
AC_CHECK_HEADERS(krb5.h)
+AC_MSG_CHECKING([if Kerberos is Heimdal])
+AC_TRY_LINK([#include <krb5.h>],
+ [char hv = heimdal_version;],
+ [hv = hv;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HEIMDAL,1,[Define if Kerberos is Heimdal])],
+ [AC_MSG_RESULT(no)])
+
AC_CHECK_LIB(resolv, main)
AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(socket, main)
@@ -230,7 +241,6 @@
AC_CHECK_FUNCS(gethostbyname)
AC_CHECK_FUNCS(nsdispatch)
AC_CHECK_LIB(pthread_nonshared, main)
-AC_CHECK_FUNCS(pthread_atfork)
AC_CHECK_FUNCS(pthread_once)
AC_CHECK_FUNCS(ether_aton)
AC_CHECK_FUNCS(ether_ntoa)