1# mmap-anon.m4 serial 3 2dnl Copyright (C) 2005 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7AC_DEFUN([gl_FUNC_MMAP_ANON], 8[ 9 dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57. 10 AC_REQUIRE([AC_PROG_CPP]) 11 AC_REQUIRE([AC_PROG_EGREP]) 12 13 dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS. 14 AC_REQUIRE([AC_GNU_SOURCE]) 15 16 # Check for mmap() 17 AC_FUNC_MMAP 18 19 # Try to allow MAP_ANONYMOUS. 20 gl_have_mmap_anonymous=no 21 if test $ac_cv_func_mmap_fixed_mapped = yes; then 22 AC_MSG_CHECKING([for MAP_ANONYMOUS]) 23 AC_EGREP_CPP([I cant identify this map.], [ 24#include <sys/mman.h> 25#ifdef MAP_ANONYMOUS 26 I cant identify this map. 27#endif 28], 29 [gl_have_mmap_anonymous=yes]) 30 if test $gl_have_mmap_anonymous != yes; then 31 AC_EGREP_CPP([I cant identify this map.], [ 32#include <sys/mman.h> 33#ifdef MAP_ANON 34 I cant identify this map. 35#endif 36], 37 [AC_DEFINE(MAP_ANONYMOUS, MAP_ANON, 38 [Define to a substitute value for mmap()'s MAP_ANONYMOUS flag.]) 39 gl_have_mmap_anonymous=yes]) 40 fi 41 AC_MSG_RESULT($gl_have_mmap_anonymous) 42 if test $gl_have_mmap_anonymous = yes; then 43 AC_DEFINE(HAVE_MAP_ANONYMOUS, 1, 44 [Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including 45 config.h and <sys/mman.h>.]) 46 fi 47 fi 48]) 49