概要 ==== % ./configure --disable-ipv6 と言われたら、IPv6サポートを組み込まない。 指定がなかったら、OSのヘッダファイルを検索して、OS側にIPv6サポートが あるかどうか調べ、あったら組み込む。 「組み込む」とは、 OPTARG+= -DINET6 ということを示す。 コード例 ======== #ifdef INET6 struct sockaddr_in6 *sin6; #endif /*INET6*/ --- config.h.inに書く(AC_CONFIG_HEADER(config.h)してるなら) /* define if you want IPv6 support. */ #undef INET6 --- configure.inに書く dnl check for ipv6 option AC_MSG_CHECKING(if --disable-ipv6 option specified) AC_ARG_ENABLE(ipv6, [ --disable-ipv6 Build WITHOUT ipv6 support.], [ts_cv_disableipv6="disable"], [ts_cv_disableipv6="no"]) AC_MSG_RESULT($ts_cv_disableipv6) dnl automated checks for ipv6 support. if test "$ts_cv_disableipv6" = no; then AC_MSG_CHECKING(for ipv6 support) AC_CACHE_VAL(ts_cv_ipv6, [dnl AC_TRY_COMPILE([#define INET6 #include #include ], [int x = IPPROTO_IPV6; struct in6_addr a;], [ts_cv_ipv6="yes"], [ts_cv_ipv6="no"])]) AC_MSG_RESULT($ts_cv_ipv6) if test "$ts_cv_ipv6" = yes; then OPTFLAG="-DINET6 $OPTFLAG" fi fi