C++プログラムをターゲットにautoconfを使っているとき、 configure.inには AC_PROG_CXXを書きますが、 これだけだとちょっとはまるときがある、という話。
AC_CHECK_LIBやAC_C_CONST等のチェックには、 configure内で$CCを呼びます。 で、configure.inでAC_PROG_CXXだけしか書いていない場合には、 デフォルトのccが呼ばれることになります。
困ったことに、ccを購入していないsolarisでも /usr/ucb/ccが存在していて、 こいつは問答無用で異常終了するスクリプトなんですね。 なので、 もしこのccがデフォルトになっていて、configure内で使われると、 ライブラリのテストだろうがconstのテストだろうが とにかく失敗してしまい、 「そのライブラリはない」「その機能はない」という誤った結論を出します。
$CCが動くか確かめるべく、 configure.inにAC_PROG_CCを書いておくと、 ちゃんとgccが使われるようになってこのハマリは回避できます。 たぶん。
2001/05/03 追記
configure内で使う言語はAC_LANG_XXXで指定できました。
今回のような場合、configure.inにAC_LANG_CPLUSPLUSを指定しておくと、
c++を使ってライブラリ等のチェックをしてくれるので、
正しく動作しました。