From 659f588c7a0576d53688109d7d3fd24df9bdbde1 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 5 Jun 2012 14:35:15 +1000 Subject: build: Add test for HAVE_BROKEN_POSIX_FALLOCATE to waf build This was previously only in the autoconf build, added in 3264a98f. Andrew Bartlett --- source3/wscript | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source3/wscript b/source3/wscript index 7136c477141..397718496ae 100755 --- a/source3/wscript +++ b/source3/wscript @@ -803,6 +803,19 @@ int i; i = PAM_RADIO_TYPE; execute=True, msg='Checking whether fcntl locking is available') +# glibc up to 2.3.6 had dangerously broken posix_fallocate(). DON'T USE IT. + if not conf.CHECK_CODE(''' +#define _XOPEN_SOURCE 600 +#include +#if defined(__GLIBC__) && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4)) +#error probably broken posix_fallocate +#endif +''', + '_HAVE_UNBROKEN_POSIX_FALLOCATE', + msg='for broken posix_fallocate'): + conf.DEFINE('HAVE_BROKEN_POSIX_FALLOCATE', '1') + + conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtim.tv_nsec', define='HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC') # Linux, Solaris conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtimensec', -- cgit v1.2.1