|
Packit |
0848f5 |
dnl
|
|
Packit |
0848f5 |
dnl Definitions for using shared memory
|
|
Packit |
0848f5 |
dnl
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
dnl/*D
|
|
Packit |
0848f5 |
dnl PAC_ARG_SHARED_MEMORY - add --with-shared-memory=kind to configure
|
|
Packit |
0848f5 |
dnl
|
|
Packit |
0848f5 |
dnl Synopsis:
|
|
Packit |
0848f5 |
dnl PAC_ARG_SHARED_MEMORY
|
|
Packit |
0848f5 |
dnl
|
|
Packit |
0848f5 |
dnl Output effects:
|
|
Packit |
0848f5 |
dnl Adds '--with-shared-memory' to the command line. Checks for available
|
|
Packit |
0848f5 |
dnl shared memory functionality.
|
|
Packit |
0848f5 |
dnl
|
|
Packit |
0848f5 |
dnl Supported values of 'kind' include \:
|
|
Packit |
0848f5 |
dnl+ auto - default
|
|
Packit |
0848f5 |
dnl. mmap - use mmap and munmap
|
|
Packit |
0848f5 |
dnl- sysv - use sysv shared memory functions
|
|
Packit |
0848f5 |
dnl D*/
|
|
Packit |
0848f5 |
AC_DEFUN([PAC_ARG_SHARED_MEMORY],[
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
# check how to allocate shared memory
|
|
Packit |
0848f5 |
AC_ARG_WITH(shared-memory,
|
|
Packit |
0848f5 |
AC_HELP_STRING([--with-shared-memory[=auto|sysv|mmap]], [create shared memory using sysv or mmap (default is auto)]),,
|
|
Packit |
0848f5 |
with_shared_memory=auto)
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
if test "$with_shared_memory" = auto -o "$with_shared_memory" = mmap; then
|
|
Packit |
0848f5 |
found_mmap_funcs=yes
|
|
Packit |
0848f5 |
AC_CHECK_FUNCS(mmap munmap, , found_mmap_funcs=no)
|
|
Packit |
0848f5 |
if test "$found_mmap_funcs" = yes ; then
|
|
Packit |
0848f5 |
with_shared_memory=mmap
|
|
Packit |
0848f5 |
AC_DEFINE(USE_MMAP_SHM,1,[Define if we have sysv shared memory])
|
|
Packit |
0848f5 |
AC_MSG_NOTICE([Using a memory-mapped file for shared memory])
|
|
Packit |
0848f5 |
elif test "$with_shared_memory" = mmap ; then
|
|
Packit |
0848f5 |
AC_MSG_ERROR([cannot support shared memory: mmap() or munmap() not found])
|
|
Packit |
0848f5 |
fi
|
|
Packit |
0848f5 |
fi
|
|
Packit |
0848f5 |
if test "$with_shared_memory" = auto -o "$with_shared_memory" = sysv; then
|
|
Packit |
0848f5 |
found_sysv_shm_funcs=yes
|
|
Packit |
0848f5 |
AC_CHECK_FUNCS(shmget shmat shmctl shmdt, , found_sysv_shm_funcs=no)
|
|
Packit |
0848f5 |
if test "$found_sysv_shm_funcs" = yes ; then
|
|
Packit |
0848f5 |
with_shared_memory=sysv
|
|
Packit |
0848f5 |
AC_DEFINE(USE_SYSV_SHM,1,[Define if we have sysv shared memory])
|
|
Packit |
0848f5 |
AC_MSG_NOTICE([Using SYSV shared memory])
|
|
Packit |
0848f5 |
elif test "$with_shared_memory" = sysv ; then
|
|
Packit |
0848f5 |
AC_MSG_ERROR([cannot support shared memory: sysv shared memory functions functions not found])
|
|
Packit |
0848f5 |
fi
|
|
Packit |
0848f5 |
fi
|
|
Packit |
0848f5 |
])
|