configure.acに自前のライブラリを追加する続き

どうやら解釈が間違ってたみたいや。

ローカルなマクロの処理は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。最近こんなのばっかだなあ。