mirror of
https://github.com/samba-team/samba.git
synced 2025-03-03 12:58:35 +03:00
r16057: Coalesce the DMAPI configure tests into a single macro. Add
a more specific probe to try and eliminate old, incompatible DMAPI implementations provided by IRIX 6.4 and AIX 4.3. (This used to be commit aafd4db457ce8a60c628d54a3ace3b97c8885dca)
This commit is contained in:
parent
656d8c30db
commit
777c22b300
91
source3/aclocal.m4
vendored
91
source3/aclocal.m4
vendored
@ -852,3 +852,94 @@ AC_DEFUN([SMB_REMOVELIB],
|
||||
LIBS=`echo $LIBS | sed -es/-l$1//g`
|
||||
])
|
||||
|
||||
dnl SMB_CHECK_DMAPI([actions if true], [actions if false])
|
||||
dnl Check whether DMAPI is available and is a version that we know
|
||||
dnl how to deal with. The default truth action is to set samba_dmapi_libs
|
||||
dnl to the list of necessary libraries, and to define USE_DMAPI.
|
||||
AC_DEFUN([SMB_CHECK_DMAPI],
|
||||
[
|
||||
samba_dmapi_libs=""
|
||||
|
||||
if test x"$samba_dmapi_libs" = x"" ; then
|
||||
AC_CHECK_LIB(dm, dm_get_eventlist,
|
||||
[ samba_dmapi_libs="-ldm"], [])
|
||||
fi
|
||||
|
||||
if test x"$samba_dmapi_libs" = x"" ; then
|
||||
AC_CHECK_LIB(jfsdm, dm_get_eventlist,
|
||||
[samba_dmapi_libs="-ljfsdm"], [])
|
||||
fi
|
||||
|
||||
if test x"$samba_dmapi_libs" = x"" ; then
|
||||
AC_CHECK_LIB(xdsm, dm_get_eventlist,
|
||||
[samba_dmapi_libs="-lxdsm"], [])
|
||||
fi
|
||||
|
||||
# Only bother to test ehaders if we have a candidate DMAPI library
|
||||
if test x"$samba_dmapi_libs" != x"" ; then
|
||||
AC_CHECK_HEADERS(sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h)
|
||||
fi
|
||||
|
||||
if test x"$samba_dmapi_libs" != x"" ; then
|
||||
samba_dmapi_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $samba_dmapi_libs"
|
||||
AC_TRY_LINK(
|
||||
[
|
||||
#ifdef HAVE_XFS_DMAPI_H
|
||||
#include <xfs/dmapi.h>
|
||||
#elif defined(HAVE_SYS_DMI_H)
|
||||
#include <sys/dmi.h>
|
||||
#elif defined(HAVE_SYS_JFSDMAPI_H)
|
||||
#include <sys/jfsdmapi.h>
|
||||
#elif defined(HAVE_SYS_DMAPI_H)
|
||||
#include <sys/dmapi.h>
|
||||
#endif
|
||||
],
|
||||
[
|
||||
/* This link test is designed to fail on IRI 6.4, but should
|
||||
* succeed on Linux, IRIX 6.5 and AIX.
|
||||
*/
|
||||
void main(void) {
|
||||
char * version;
|
||||
dm_eventset_t events;
|
||||
/* This doesn't take an argument on IRIX 6.4. */
|
||||
dm_init_service(&version);
|
||||
/* IRIX 6.4 expects events to be a pointer. */
|
||||
DMEV_ISSET(DM_EVENT_READ, events);
|
||||
}
|
||||
],
|
||||
[
|
||||
true # DMAPI link test succeeded
|
||||
],
|
||||
[
|
||||
# DMAPI link failure
|
||||
samba_dmapi_libs=
|
||||
])
|
||||
LIBS="$samba_dmapi_save_LIBS"
|
||||
fi
|
||||
|
||||
if test x"$samba_dmapi_libs" = x"" ; then
|
||||
# DMAPI detection failure actions begin
|
||||
ifelse($2, [],
|
||||
[
|
||||
AC_ERROR(Failed to detect a supported DMAPI implementation)
|
||||
],
|
||||
[
|
||||
$2
|
||||
])
|
||||
# DMAPI detection failure actions end
|
||||
else
|
||||
# DMAPI detection success actions start
|
||||
ifelse($1, [],
|
||||
[
|
||||
AC_DEFINE(USE_DMAPI, 1,
|
||||
[Whether we should build DMAPI integration components])
|
||||
AC_MSG_NOTICE(Found DMAPI support in $samba_dmapi_libs)
|
||||
],
|
||||
[
|
||||
$1
|
||||
])
|
||||
# DMAPI detection success actions end
|
||||
fi
|
||||
|
||||
])
|
||||
|
@ -849,7 +849,6 @@ AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h s
|
||||
AC_CHECK_HEADERS(sys/sysmacros.h security/_pam_macros.h dlfcn.h)
|
||||
AC_CHECK_HEADERS(sys/syslog.h syslog.h)
|
||||
AC_CHECK_HEADERS(langinfo.h locale.h)
|
||||
AC_CHECK_HEADERS(sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h)
|
||||
|
||||
AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[
|
||||
#if HAVE_RPC_RPC_H
|
||||
@ -2473,29 +2472,7 @@ fi
|
||||
#################################################
|
||||
# Check for DMAPI interfaces in libdm/libjfsdm/libxsdm
|
||||
|
||||
AC_CHECK_LIB(dm, dm_get_eventlist,
|
||||
[samba_cv_HAVE_LIBDM=yes; samba_dmapi_libs="-ldm"],
|
||||
[samba_cv_HAVE_LIBDM=no])
|
||||
|
||||
if test x"$samba_cv_HAVE_LIBDM" = x"yes" ; then
|
||||
AC_DEFINE(HAVE_LIBDM, 1, [Whether dmapi libdm is available])
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(jfsdm, dm_get_eventlist,
|
||||
[samba_cv_HAVE_LIBJFSDM=yes; samba_dmapi_libs="-ljfsdm"],
|
||||
[samba_cv_HAVE_LIBJFSDM=no])
|
||||
|
||||
if test x"$samba_cv_HAVE_LIBJFSDM" = x"yes" ; then
|
||||
AC_DEFINE(HAVE_LIBJFSDM, 1, [Whether dmapi libjfsdm is available])
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(xdsm, dm_get_eventlist,
|
||||
[samba_cv_HAVE_LIBXDSM=yes; samba_dmapi_libs="-lxdsm"],
|
||||
[samba_cv_HAVE_LIBXDSM=no])
|
||||
|
||||
if test x"$samba_cv_HAVE_LIBXDSM" = x"yes" ; then
|
||||
AC_DEFINE(HAVE_LIBXDSM, 1, [Whether dmapi libxdsm is available])
|
||||
fi
|
||||
SMB_CHECK_DMAPI([], AC_MSG_NOTICE(DMAPI support not present) )
|
||||
|
||||
AC_CACHE_CHECK([for kernel share modes],samba_cv_HAVE_KERNEL_SHARE_MODES,[
|
||||
AC_TRY_RUN([
|
||||
|
@ -24,12 +24,6 @@
|
||||
#undef DBGC_CLASS
|
||||
#define DBGC_CLASS DBGC_DMAPI
|
||||
|
||||
#if defined(HAVE_LIBDM) || defined(HAVE_LIBJFSDM) || defined(HAVE_LIBXDSM)
|
||||
#if defined(HAVE_XFS_DMAPI_H) || defined(HAVE_SYS_DMI_H) || defined(HAVE_SYS_JFSDMAPI_H) || defined(HAVE_SYS_DMAPI_H)
|
||||
#define USE_DMAPI 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef USE_DMAPI
|
||||
|
||||
int dmapi_init_session(void) { return -1; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user