From: Andrew Bartlett Date: Tue, 5 Jun 2012 04:35:15 +0000 (+1000) Subject: build: Add test for HAVE_BROKEN_POSIX_FALLOCATE to waf build X-Git-Tag: samba-4.0.0beta1~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=659f588c7a0576d53688109d7d3fd24df9bdbde1;p=thirdparty%2Fsamba.git build: Add test for HAVE_BROKEN_POSIX_FALLOCATE to waf build This was previously only in the autoconf build, added in 3264a98f. Andrew Bartlett --- 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',