1e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#
2e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao# Check for the ability to mmap a file.  
3e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#
4e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei LiaoAC_DEFUN([AC_FUNC_MMAP_FILE],
5e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao[AC_CACHE_CHECK(for mmap of files,
6e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoac_cv_func_mmap_file,
7e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao[ AC_LANG_PUSH([C])
8e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  AC_RUN_IFELSE([
9e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao    AC_LANG_PROGRAM([[
10e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#include <sys/types.h>
11e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#include <sys/mman.h>
12e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao#include <fcntl.h>
13e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao]],[[
14e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  int fd;
15e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  fd = creat ("foo",0777); 
16e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  fd = (int) mmap (0, 1, PROT_READ, MAP_SHARED, fd, 0);
17e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  unlink ("foo"); 
18e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  return (fd != (int) MAP_FAILED);]])],
19e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  [ac_cv_func_mmap_file=yes],[ac_cv_func_mmap_file=no],[ac_cv_func_mmap_file=no])
20e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao  AC_LANG_POP([C])
21e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao])
22e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaoif test "$ac_cv_func_mmap_file" = yes; then
23e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao   AC_DEFINE([HAVE_MMAP_FILE],[],[Define if mmap() can map files into memory])
24e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao   AC_SUBST(MMAP_FILE,[yes])
25e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liaofi
26e264f62ca09a8f65c87a46d562a4d0f9ec5d457Shih-wei Liao])
27