diff options
-rw-r--r-- | buildtools/wafsamba/samba_conftests.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py index d53d7a82e8..1838b57c96 100644 --- a/buildtools/wafsamba/samba_conftests.py +++ b/buildtools/wafsamba/samba_conftests.py @@ -18,11 +18,29 @@ def CHECK_ICONV(conf, define='HAVE_NATIVE_ICONV'): @conf def CHECK_LARGEFILE(conf, define='HAVE_LARGEFILE'): '''see what we need for largefile support''' + getconf_cflags = conf.CHECK_COMMAND(['getconf', 'LFS_CFLAGS']); + if getconf_cflags is not False: + if (conf.CHECK_CODE('return !(sizeof(off_t) >= 8)', + define='WORKING_GETCONF_LFS_CFLAGS', + execute=True, + cflags=getconf_cflags, + msg='Checking getconf large file support flags work')): + conf.ADD_CFLAGS(getconf_cflags) + getconf_cflags_list=TO_LIST(getconf_cflags) + for flag in getconf_cflags_list: + if flag[:2] == "-D": + flag_split = flag[2:].split('=') + if len(flag_split) == 1: + conf.DEFINE(flag_split[0], '1') + else: + conf.DEFINE(flag_split[0], flag_split[1]) + if conf.CHECK_CODE('return !(sizeof(off_t) >= 8)', define, execute=True, - msg='Checking for large file support'): + msg='Checking for large file support without additional flags'): return True + if conf.CHECK_CODE('return !(sizeof(off_t) >= 8)', define, execute=True, |