96b51737200fbafd86f001336f8ce0053d7d3436
[oota-llvm.git] / autoconf / m4 / func_mmap_file.m4
1 #
2 # Check for the ability to mmap a file.  
3 #
4 AC_DEFUN([AC_FUNC_MMAP_FILE],
5 [AC_CACHE_CHECK(for mmap of files,
6 ac_cv_func_mmap_file,
7 [ AC_LANG_PUSH([C])
8   AC_RUN_IFELSE([
9 #ifdef HAVE_SYS_TYPES_H
10 #include <sys/types.h>
11 #endif
12
13 #ifdef HAVE_SYS_MMAN_H
14 #include <sys/mman.h>
15 #endif
16
17 #ifdef HAVE_FCNTL_H
18 #include <fcntl.h>
19 #endif
20
21   int fd;
22   int main () {
23   fd = creat ("foo",0777); fd = (int) mmap (0, 1, PROT_READ, MAP_SHARED, fd, 0); unlink ("foo"); return (fd != (int) MAP_FAILED);}],
24   ac_cv_func_mmap_file=yes, ac_cv_func_mmap_file=no, ac_cv_func_mmap_file=no)
25   AC_LANG_POP([C])
26 ])
27 if test "$ac_cv_func_mmap_file" = yes; then
28    AC_DEFINE([HAVE_MMAP_FILE],[],[Define if mmap() can map files into memory])
29    AC_SUBST(MMAP_FILE,[yes])
30 fi
31 ])