どうやら解釈が間違ってたみたいや。
ローカルなマクロの処理は2個あって、一つは acinclude.m4 に書く方法。もう一つは m4/ ディレクトリを使ってその中にファイルを置いておく方法。
後者でやってみる
m4 ディレクトリを作ってファイルを置く。xxx.m4 とでもしておく。
# -*- Autoconf -*- # Check if --with-xxx AC_DEFUN([AC_WITH_XXX], [AC_PREREQ([2.61])dnl AC_ARG_WITH([xxx], [AC_HELP_STRING([--with-xxx@<:@=PATH@:>@], [PATH is path to 'xxx'])], [WITH_XXX=$withval], [WITH_XXX=yes])dnl if test "$WITH_XXX" = "yes"; then AC_CHECK_LIB([xxx], [main], , [AC_MSG_ERROR([Need A XXX Library.])]) else AC_MSG_CHECKING([xxx]) for xxx_include in $WITH_XXX/include $WITH_XXX; do if test -d $xxx_include -a -f $xxx_include/xxx/xxx.hpp; then XXX_INCLUDE="-I$xxx_include" fi done for xxx_lib in $WITH_XXX/lib $WITH_XXX/xxx; do if test -d $xxx_lib -a -f $xxx_lib/libxxx.a; then XXX_LIB="-L$xxx_lib" fi done if test -n "$XXX_INCLUDE" -a -n "$XXX_LIB"; then HAVE_LIBXXX=1 AC_SUBST(HAVE_LIBXXX) CFLAGS="$XXX_INCLUDE $CFLAGS" CPPFLAGS="$XXX_INCLUDE $CFLAGS" LDFLAGS="$XXX_LIB $LDFLAGS" LIBS="-lxxx $LIBS" AC_MSG_RESULT([$CFLAGS $CPPFLAGS $LDFLAGS $LIBS]) else AC_MSG_RESULT([no]) AC_MSG_ERROR([Need A XXX Library.]) fi fi ])
# aclocal -I m4
Makefile.am に次の行を足す
ACLOCAL_AMFLAGS = -I m4
configure.ac にライブラリチェックを追加
AC_WITH_XXX
むぐ
なんか aclocal.m4 が配布ファイルに入っていたので解釈間違ってた orz。最近こんなのばっかだなあ。