summaryrefslogtreecommitdiffstats
path: root/source3/wscript
diff options
context:
space:
mode:
authorGustavo Zacarias <gustavo@zacarias.com.ar>2014-04-21 10:18:18 -0300
committerDavid Disseldorp <ddiss@samba.org>2014-05-06 20:37:16 +0200
commit9d4adbc65a5832d0300543cc58bce1620bb50ed0 (patch)
tree5e83ec1d0fe3a0dae1d476161c38083c33f3c861 /source3/wscript
parentdb8618050d40612666c279cb2d3a486473278b6b (diff)
downloadsamba-9d4adbc65a5832d0300543cc58bce1620bb50ed0.tar.gz
samba-9d4adbc65a5832d0300543cc58bce1620bb50ed0.tar.xz
samba-9d4adbc65a5832d0300543cc58bce1620bb50ed0.zip
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 <gustavo@zacarias.com.ar> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue May 6 20:37:16 CEST 2014 on sn-devel-104
Diffstat (limited to 'source3/wscript')
-rw-r--r--source3/wscript22
1 files changed, 12 insertions, 10 deletions
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')