Haskellと一緒に使ったことはないですが、SchemeやLispのプロジェクト
でautoconfはよく使います。確かに、便利なテストは言うに及ばず、
AC_LANG_, AC_COMPILE_, AC_LINK_ 系のビルディングブロックとなる
マクロも使えないですから、テスト部分はほとんどシェルスクリプトを
書いているのと変わらないですが、AC_SUBSTとAC_OUTPUT
を使うだけでも随分楽ができるのではないかと思います。

autoconfを使わないとしても、結局似たようなもの (何らかのスクリプト+sed)
を書くことになるでしょうから、autoconfをシェルスクリプトの
便利なラッパーくらいに割り切って使うのが良いのではないでしょうか。

それと、全てconfigure.acやMakefile.inの中に詰め込もうとすると
メンテが無闇に難しくなるという経験を何度かしたので、最近は可能で
あれば、特定のテストだけを行う小さなスクリプトが書ける場合は
そういうものを書いて、configure.ac からそれを呼び出すという
方法をとっています。こうすると、 (a) 小さなスクリプトの方は
シェルよりましな言語で書けることが多い (ターゲット言語自身で
書けるかもしれない)、(b) configure.acの中はifやcaseなどの
制御構文とAC_SUBSTなどの結果の記録主体になるため見通しが
良くなる、というメリットがあります。

--shiro


From: IKEGAMI Daisuke <ikegami / madscientist.jp>
Subject: [haskell-jp:503] Haskell + GNU aclocal, automake, autoconf and configure
Date: Wed, 24 Nov 2004 17:57:12 +0900

> いけがみです。
> 
> ghc の --make オプションはとてもよくできているので、
> 通常 Haskell のツールを作るのに Makefile を書く機会は
> あまりないように思います。
> 
> でも、Haskell のプログラムといっしょに別のファイルも
> インストールしたい場合や、 ghc のライブラリに依存していたり
> するときに、ユーザの install の手間を省くために
> GNU configure の導入を試みました。
> 
> GNU configure は、開発者が頑張って設定を書けば、
> ユーザはインストールが楽ちんなツールです。
> (開発者もあまり頑張らなくて済むように、よく使うイディオムは
> 標準で付いてくる)
> 
> ところが、GNU configure はまだ Haskell に対応していない
> (正確には、GNU configure で呼び出せる関数ライブラリは
>   C, C++, Fortran しか対応していない) ために、
> 実際に書くのはとてもたいへんでした。
> # 僕はまだ頑張らなければいけないことがたくさんあります。
> 
> google などで探しまわった結果、
> 最近の buddha (http://www.cs.mu.oz.au/~bjpop/buddha/)
> は automake, autoconf を使った良い具体例になっていることが
> わかったので紹介します。
> buddha はちらりと見るには大きすぎるプロジェクトですが、
> automake, autoconf を使うためにはたいへん参考になりました。
> 
> Haskell と configure の組合わせに関する情報は
> 僕にとってまだまだ必要です。ご存じでしたら教えてくださいませ。
> 
> --
> ML: haskell-jp / quickml.com
> 使い方: http://QuickML.com/
> 






--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/