From: Christof Hanke Date: Wed, 25 May 2011 20:16:59 +0000 (+0200) Subject: autoconf: add test for typedef'd structs X-Git-Tag: openafs-devel-1_7_1~464 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=baf7656f666e0d47047c545561345e7803b8a141 autoconf: add test for typedef'd structs AC_CHECK_LINUX_STRUCT does not work for structs which are typedef'd. The gcc will complain with "error: storage size of ‘_test’ isn’t known" and fail the test. Thus the new test-macro AC_CHECK_LINUX_TYPED_STRUCT. Change-Id: Ib3e933c4e09a3e950ca8d8e7a66909d86f10cfdf Reviewed-on: http://gerrit.openafs.org/4718 Reviewed-by: Christof Hanke Tested-by: BuildBot Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear --- diff --git a/src/cf/linux-test1.m4 b/src/cf/linux-test1.m4 index 6c096a4..106c5b5 100644 --- a/src/cf/linux-test1.m4 +++ b/src/cf/linux-test1.m4 @@ -127,11 +127,16 @@ AC_DEFUN([AC_CHECK_LINUX_FUNC], dnl AC_CHECK_LINUX_STRUCT([structure], [element], [includes]) AC_DEFUN([AC_CHECK_LINUX_STRUCT], - [AC_CHECK_LINUX_BUILD([for $2 in struct $1], - [ac_cv_linux_struct_$1_has_$2], + [AC_CHECK_LINUX_TYPED_STRUCT([struct $1], [$2], [$3]) + ]) + +dnl AC_CHECK_LINUX_TYPED_STRUCT([structure], [element], [includes]) +AC_DEFUN([AC_CHECK_LINUX_TYPED_STRUCT], + [AC_CHECK_LINUX_BUILD([for $2 in $1], + [ac_cv_linux_$1_has_$2], [#include ], - [struct $1 _test; printk("%x\n", &_test.$2); ], - AS_TR_CPP(STRUCT_$1_HAS_$2), - [Define if kernel struct $1 has the $2 element]) + [$1 _test; printk("%x\n", &_test.$2); ], + AS_TR_CPP($1_HAS_$2), + [Define if kernel typedef'd $1 has the $2 element]) ])