前: Particular Structures, 上: Structures


5.8.2 一般的な構造体の調査

これらのマクロは,“特定の”テストマクロでカバーされていない構造体のメン バーを検索するために使用します.

— マクロ: AC_CHECK_MEMBER (aggregate.member, [action-if-found], [action-if-not-found], [includes = `default-includes'])

memberが集合体aggregateのメンバーかどうかを調査します. includesが指定されていない場合,デフォルトのインクルードが使用され ます(see Default Includes).

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

このマクロはサブメンバーに対して使用可能です.

          AC_CHECK_MEMBER(struct top.middle.bot)
     
— マクロ: AC_CHECK_MEMBERS (members, [action-if-found], [action-if-not-found], [includes = `default-includes'])

直前のマクロで使用されているmembersのそれぞれの `aggregate.member'の存在を調査します.memberaggregateに属しているとき, HAVE_aggregate_member を(全て大文字で,スペースとドッ トをアンダースコアで置換しながら)定義します.action-if-foundが与え られている場合,メンバーが見つかるたびにそれを実行します. action-if-not-foundが与えられている場合,メンバーが見つからないた びに実行されます.

このマクロはM4のリストを使用します.

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