1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-06 16:23:49 +03:00
Files
samba-mirror/source/lib/replace/system/config.m4
Michael Adam df3e151992 r26255: Work around another broken aspect of sys/capability.h on RHEL5.
This is synced from samba3 v3-2-test/11bcdf780e164659b89:

The /usr/include/sys/capability.h defines _LINUX_TYPES_H
which prevents /usr/include/linux/types.h from being parsed
(when included afterwards). Thus certain types are undefined
that are for instance needed in /usr/include/linux/dqblk_xfs.h.
This breaks the build of lib/sysquotas_xfs.c in Samba3.

This commit adds a configure check and a workaround for this.

Michael
2007-12-21 05:47:30 +01:00

105 lines
2.5 KiB
Plaintext

# filesys
AC_HEADER_DIRENT
AC_CHECK_HEADERS(fcntl.h sys/fcntl.h sys/resource.h sys/ioctl.h sys/mode.h sys/filio.h sys/fs/s5param.h sys/filsys.h)
AC_CHECK_HEADERS(sys/acl.h acl/libacl.h)
# select
AC_CHECK_HEADERS(sys/select.h)
# time
AC_CHECK_HEADERS(sys/time.h utime.h)
AC_HEADER_TIME
# wait
AC_HEADER_SYS_WAIT
# capability
AC_CHECK_HEADERS(sys/capability.h)
case "$host_os" in
*linux*)
AC_CACHE_CHECK([for broken RedHat 7.2 system header files],samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS,[
AC_TRY_COMPILE([
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
#ifdef HAVE_SYS_CAPABILITY_H
#include <sys/capability.h>
#endif
],[
int i;
],
samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no,
samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=yes
)])
if test x"$samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" = x"yes"; then
AC_DEFINE(BROKEN_REDHAT_7_SYSTEM_HEADERS,1,[Broken RedHat 7.2 system header files])
fi
AC_CACHE_CHECK([for broken RHEL5 sys/capability.h],samba_cv_BROKEN_RHEL5_SYS_CAP_HEADER,[
AC_TRY_COMPILE([
#ifdef HAVE_SYS_CAPABILITY_H
#include <sys/capability.h>
#endif
#include <linux/types.h>
],[
__s8 i;
],
samba_cv_BROKEN_RHEL5_SYS_CAP_HEADER=no,
samba_cv_BROKEN_RHEL5_SYS_CAP_HEADER=yes
)])
if test x"$samba_cv_BROKEN_RHEL5_SYS_CAP_HEADER" = x"yes"; then
AC_DEFINE(BROKEN_RHEL5_SYS_CAP_HEADER,1,[Broken RHEL5 sys/capability.h])
fi
;;
esac
# passwd
AC_CHECK_HEADERS(grp.h sys/id.h compat.h shadow.h sys/priv.h pwd.h sys/security.h)
AC_CHECK_FUNCS(getpwnam_r getpwuid_r getpwent_r)
AC_HAVE_DECL(getpwent_r, [
#include <unistd.h>
#include <pwd.h>
])
AC_VERIFY_C_PROTOTYPE([struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)],
[
#ifndef HAVE_GETPWENT_R_DECL
#error missing getpwent_r prototype
#endif
return NULL;
],[
AC_DEFINE(SOLARIS_GETPWENT_R, 1, [getpwent_r solaris function prototype])
],[],[
#include <unistd.h>
#include <pwd.h>
])
AC_CHECK_FUNCS(getgrnam_r getgrgid_r getgrent_r)
AC_HAVE_DECL(getgrent_r, [
#include <unistd.h>
#include <grp.h>
])
AC_VERIFY_C_PROTOTYPE([struct group *getgrent_r(struct group *src, char *buf, int buflen)],
[
#ifndef HAVE_GETGRENT_R_DECL
#error missing getgrent_r prototype
#endif
return NULL;
],[
AC_DEFINE(SOLARIS_GETGRENT_R, 1, [getgrent_r solaris function prototype])
],[],[
#include <unistd.h>
#include <grp.h>
])
# locale
AC_CHECK_HEADERS(ctype.h locale.h)
# glob
AC_CHECK_HEADERS(fnmatch.h)
# shmem
AC_CHECK_HEADERS(sys/ipc.h sys/mman.h sys/shm.h )
# terminal
AC_CHECK_HEADERS(termios.h termio.h sys/termio.h )