Fix compilation with wxWidgets 2.8.12
[amule.git] / m4 / fallocate.m4
blob0eaa3603c6244190dde3c0d055326c7baaece021
1 #                                                       -*- Autoconf -*-
2 # This file is part of the aMule Project.
4 # Copyright (c) 2003-2011 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.
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         MULE_BACKUP([CPPFLAGS])
29         MULE_APPEND([CPPFLAGS], [$WX_CPPFLAGS])
30         AC_LINK_IFELSE([
31                 AC_LANG_PROGRAM([[
32                         #ifndef _GNU_SOURCE
33                         #       define _GNU_SOURCE
34                         #endif
35                         #ifdef HAVE_FCNTL_H
36                         #  include <fcntl.h>
37                         #endif
38                         #include <linux/falloc.h>
39                 ]], [[
40                         fallocate(0, 0, 0, 0);
41                 ]])
42         ], [
43                 AH_TEMPLATE([HAVE_FALLOCATE], [Define to 1 if you have the fallocate() function.])
44                 AC_DEFINE([HAVE_FALLOCATE])
45                 AC_MSG_RESULT([yes])
46         ], [
47                 AC_MSG_RESULT([no])
48         ])
49         MULE_RESTORE([CPPFLAGS])
52         AC_MSG_CHECKING([for SYS_fallocate])
53         AC_LINK_IFELSE([
54                 AC_LANG_PROGRAM([[
55                         #include <sys/syscall.h>
56                         #include <sys/types.h>
57                         #include <unistd.h>
58                 ]], [[
59                         syscall(SYS_fallocate, 0, (loff_t)0, (loff_t)0);
60                 ]])
61         ], [
62                 AH_TEMPLATE([HAVE_SYS_FALLOCATE], [Define to 1 if you have the SYS_fallocate syscall number.])
63                 AC_DEFINE([HAVE_SYS_FALLOCATE])
64                 AC_MSG_RESULT([yes])
65         ], [
66                 AC_MSG_RESULT([no])
67         ])
69         AC_MSG_CHECKING([for posix_fallocate])
70         AC_LINK_IFELSE([
71                 AC_LANG_PROGRAM([[
72                         #define _XOPEN_SOURCE 600
73                         #include <stdlib.h>
74                         #ifdef HAVE_FCNTL_H
75                         #  include <fcntl.h>
76                         #endif
77                 ]], [[
78                         posix_fallocate(0, 0, 0);
79                 ]])
80         ], [
81                 AH_TEMPLATE([HAVE_POSIX_FALLOCATE], [Define to 1 if you have posix_fallocate() and it should be used.])
82                 AC_DEFINE([HAVE_POSIX_FALLOCATE])
83                 AC_MSG_RESULT([yes])
84         ], [
85                 AC_MSG_RESULT([no])
86         ])