Upstream tarball 9507
[amule.git] / m4 / fallocate.m4
blobbeeea99073c819a1cc6d5631ea44e7621d56e2cd
1 #                                                       -*- Autoconf -*-
2 # This file is part of the aMule Project.
4 # Copyright (c) 2003-2008 aMule Team ( admin@amule.org / http://www.amule.org )
6 # Any parts of this program derived from the xMule, lMule or eMule project,
7 # or contributed by third-party developers are copyrighted by their
8 # respective authors.
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
25 AC_DEFUN([MULE_CHECK_FALLOCATE],
27         AC_MSG_CHECKING([for fallocate])
28         AC_LINK_IFELSE([
29                 AC_LANG_PROGRAM([[
30                         #include <linux/falloc.h>
31                 ]], [[
32                         fallocate(0, 0, 0, 0);
33                 ]])
34         ], [
35                 AH_TEMPLATE([HAVE_FALLOCATE], [Define to 1 if you have the fallocate() function.])
36                 AC_DEFINE([HAVE_FALLOCATE])
37                 AC_MSG_RESULT([yes])
38         ], [
39                 AC_MSG_RESULT([no])
40         ])
43         AC_MSG_CHECKING([for SYS_fallocate])
44         AC_LINK_IFELSE([
45                 AC_LANG_PROGRAM([[
46                         #include <sys/sycall.h>
47                         #include <sys/types.h>
48                         #include <unistd.h>
49                 ]], [[
50                         syscall(SYS_fallocate, 0, (loff_t)0, (loff_t)0);
51                 ]])
52         ], [
53                 AH_TEMPLATE([HAVE_SYS_FALLOCATE], [Define to 1 if you have the SYS_fallocate syscall number.])
54                 AC_DEFINE([HAVE_SYS_FALLOCATE])
55                 AC_MSG_RESULT([yes])
56         ], [
57                 AC_MSG_RESULT([no])
58         ])
60         AC_MSG_CHECKING([for posix_fallocate])
61         AC_LINK_IFELSE([
62                 AC_LANG_PROGRAM([[
63                         #define _XOPEN_SOURCE 600
64                         #include <stdlib.h>
65                         #ifdef HAVE_FCNTL_H
66                         #  include <fcntl.h>
67                         #endif
68                 ]], [[
69                         posix_fallocate(0, 0, 0);
70                 ]])
71         ], [
72                 AH_TEMPLATE([HAVE_POSIX_FALLOCATE], [Define to 1 if you have posix_fallocate() and it should be used.])
73                 AC_DEFINE([HAVE_POSIX_FALLOCATE])
74                 AC_MSG_RESULT([yes])
75         ], [
76                 AC_MSG_RESULT([no])
77         ])