Correct the use AC_RUN_IFELSE to ensure it builds programs correctly by
[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     AC_LANG_PROGRAM([[
10 #include <sys/types.h>
11 #include <sys/mman.h>
12 #include <fcntl.h>
13 ]],[[
14   int fd;
15   int main () {
16   fd = creat ("foo",0777); 
17   fd = (int) mmap (0, 1, PROT_READ, MAP_SHARED, fd, 0);
18   unlink ("foo"); 
19   return (fd != (int) MAP_FAILED);}]])],
20   [ac_cv_func_mmap_file=yes], [ac_cv_func_mmap_file=no],[])
21   AC_LANG_POP([C])
22 ])
23 if test "$ac_cv_func_mmap_file" = yes; then
24    AC_DEFINE([HAVE_MMAP_FILE],[],[Define if mmap() can map files into memory])
25    AC_SUBST(MMAP_FILE,[yes])
26 fi
27 ])