Previous: Particular Structures, Up: Structures


5.8.2 Generic Structure Checks

These macros are used to find structure members not covered by the “particular” test macros.

— Macro: AC_CHECK_MEMBER (aggregate.member, [action-if-found], [action-if-not-found], [includes = ‘default-includes])

Check whether member is a member of the aggregate aggregate. If no includes are specified, the default includes are used (see Default Includes).

          AC_CHECK_MEMBER([struct passwd.pw_gecos], [],
                          [AC_MSG_ERROR([We need `passwd.pw_gecos'!])],
                          [#include <pwd.h>])
     

You can use this macro for submembers:

          AC_CHECK_MEMBER(struct top.middle.bot)
     
— Macro: AC_CHECK_MEMBERS (members, [action-if-found], [action-if-not-found], [includes = ‘default-includes])

Check for the existence of each ‘aggregate.member’ of members using the previous macro. When member belongs to aggregate, define HAVE_aggregate_member (in all capitals, with spaces and dots replaced by underscores). If action-if-found is given, it is executed for each of the found members. If action-if-not-found is given, it is executed for each of the members that could not be found.

This macro uses M4 lists:

          AC_CHECK_MEMBERS([struct stat.st_rdev, struct stat.st_blksize])