+++ /dev/null
-# SYNOPSIS
-#
-# AMANDA_FUNC_SHM_ARG_TYPE
-#
-# OVERVIEW
-#
-# Determine the type of the second argument to shmdt/shmat, defining
-# that type (without the *) in SHM_ARG_TYPE.
-#
-AC_DEFUN([AMANDA_FUNC_SHM_ARG_TYPE], [
- AC_CHECK_HEADERS(
- sys/types.h \
- sys/ipc.h \
- sys/shm.h \
- )
-
- AC_CACHE_CHECK(
- [for shmdt() argument type],
- amanda_cv_shmdt_arg_type,
- [
- if test "$ac_cv_func_shmget" = yes; then
- cat <<EOF >conftest.$ac_ext
-#include "confdefs.h"
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_IPC_H
-# include <sys/ipc.h>
-#endif
-#ifdef HAVE_SYS_SHM_H
-# include <sys/shm.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" void *shmat(int, void *, int);
-#else
-void *shmat();
-#endif
-
-int main()
-{
- int i;
- return 0;
-}
-EOF
- ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext >/dev/null 2>/dev/null
- if test $? = 0; then
- amanda_cv_shmdt_arg_type=void
- else
- amanda_cv_shmdt_arg_type=char
- fi
- rm -f conftest*
- else
- amanda_cv_shmdt_arg_type=nothing
- fi
- ]
- )
- AC_DEFINE_UNQUOTED(SHM_ARG_TYPE,$amanda_cv_shmdt_arg_type,
- [Define to type of shmget() function argument. ])
- ]
-)
-
-# SYNOPSIS
-#
-# AMANDA_CHECK_SHMEM
-#
-# OVERVIEW
-#
-# Check for shared memory support; checks for the --with-mmap option,
-# and then ensures that the proper compilation infrastructure is in place
-# for either mmap or shared memory support.
-#
-# Defines several HAVE_*_DECL symbols via ICE_CHECK_DECL, as well as
-# HAVE_SYSVSHM if shared memory support is discovered.
-#
-AC_DEFUN([AMANDA_CHECK_SHMEM],
-[
- AC_REQUIRE([AC_HEADER_STDC])
- AC_ARG_WITH(mmap,
- AS_HELP_STRING([--with-mmap],
- [force use of mmap instead of shared memory support]),
- [
- case "$FORCE_MMAP" in
- y | ye | yes | n | no) : ;;
- *) AC_MSG_ERROR([*** You must not supply an argument to --with-mmap.]) ;;
- esac
- FORCE_MMAP=$withval
- ],
- [ : ${FORCE_MMAP=no} ]
- )
-
-
- AC_CHECK_HEADERS(\
- sys/shm.h \
- sys/mman.h \
- )
-
- AC_FUNC_MMAP
-
- AC_CHECK_FUNCS(shmget,
- [
- AMANDA_FUNC_SHM_ARG_TYPE
- case "$FORCE_MMAP" in
- n | no)
- AC_DEFINE(HAVE_SYSVSHM,1,
- [Define if SysV shared-memory functions are available. ])
- ;;
- esac
- ]
- )
- ICE_CHECK_DECL(shmat,sys/types.h sys/ipc.h sys/shm.h)
- ICE_CHECK_DECL(shmctl,sys/types.h sys/ipc.h sys/shm.h)
- ICE_CHECK_DECL(shmdt,sys/types.h sys/ipc.h sys/shm.h)
- ICE_CHECK_DECL(shmget,sys/types.h sys/ipc.h sys/shm.h)
-
- if test "x$ac_cv_func_mmap_fixed_mapped" != xyes; then
- case "$FORCE_MMAP" in
- n | no)
- if test "x$ac_cv_func_shmget" != xyes; then
- AMANDA_MSG_WARN([Neither shmget() nor mmap() found. This system will not support the Amanda server.])
- NO_SERVER_MODE=true
- fi
- ;;
- y | ye | yes)
- AMANDA_MSG_WARN([--with-mmap used on a system with no mmap() support. This system will not support the Amanda server.])
- NO_SERVER_MODE=true
- ;;
- esac
- fi
-])