]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
autoconf: add test for typedef'd structs
authorChristof Hanke <christof.hanke@rzg.mpg.de>
Wed, 25 May 2011 20:16:59 +0000 (22:16 +0200)
committerDerrick Brashear <shadow@dementia.org>
Thu, 26 May 2011 18:21:01 +0000 (11:21 -0700)
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.

Reviewed-on: http://gerrit.openafs.org/4718
Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit baf7656f666e0d47047c545561345e7803b8a141)

Change-Id: I7feca884d7796ccd3a490d6b81e745c644d9c8f1
Reviewed-on: http://gerrit.openafs.org/4725
Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/cf/linux-test1.m4

index c1c1c0c7e25a7394eee561f0828a9c7e1a7c6620..3141a4478d25223eeb09aa78ee1708ba002fef91 100644 (file)
@@ -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 <linux/$3>],
-                      [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])
  ])