From 9d4adbc65a5832d0300543cc58bce1620bb50ed0 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Mon, 21 Apr 2014 10:18:18 -0300 Subject: build: find blkcnt_t size via array Using the same trick as commit 0d9bb86293c9d39298786df095c73a6251b08b7e find blkcnt_t size via an array so that it can be determined via build rather than running it. Signed-off-by: Gustavo Zacarias Reviewed-by: Andrew Bartlett Reviewed-by: David Disseldorp Autobuild-User(master): David Disseldorp Autobuild-Date(master): Tue May 6 20:37:16 CEST 2014 on sn-devel-104 --- source3/wscript | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'source3/wscript') diff --git a/source3/wscript b/source3/wscript index 47839277e73..2bca8fab770 100644 --- a/source3/wscript +++ b/source3/wscript @@ -277,18 +277,20 @@ int main(int argc, char **argv) headers='sys/types.h sys/stat.h unistd.h') if "HAVE_BLKCNT_T" in conf.env: - conf.CHECK_CODE(''' - return sizeof(blkcnt_t) == 4 ? 0 : 1''', - 'SIZEOF_BLKCNT_T_4', execute=True, - headers='replace.h sys/types.h sys/stat.h unistd.h', - msg="Checking whether blkcnt_t is 32 bit") + conf.CHECK_CODE(''' + static int test_array[1 - 2 * !(((long int)(sizeof(blkcnt_t))) <= 4)];''', + 'SIZEOF_BLKCNT_T_4', + headers='replace.h sys/types.h sys/stat.h unistd.h', + msg="Checking whether blkcnt_t is 32 bit") + # If sizeof is 4 it can't be 8 if "HAVE_BLKCNT_T" in conf.env: - conf.CHECK_CODE(''' - return sizeof(blkcnt_t) == 8 ? 0 : 1''', - 'SIZEOF_BLKCNT_T_8', execute=True, - headers='replace.h sys/types.h sys/stat.h unistd.h', - msg="Checking whether blkcnt_t is 64 bit") + if not conf.CONFIG_SET('SIZEOF_BLKCNT_T_4'): + conf.CHECK_CODE(''' + static int test_array[1 - 2 * !(((long int)(sizeof(blkcnt_t))) <= 8)];''', + 'SIZEOF_BLKCNT_T_8', + headers='replace.h sys/types.h sys/stat.h unistd.h', + msg="Checking whether blkcnt_t is 64 bit") # Check for POSIX capability support conf.CHECK_FUNCS_IN('cap_get_proc', 'cap', headers='sys/capability.h') -- cgit