[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00440] Re: server と libraries の分離



田岡です。

From: Katsuomi Hamajima/濱嶋克臣 <hamajima@nagoya.ydc.co.jp>
Subject: [freewnn:00439] Re: server と libraries の分離
Date: Thu, 31 Aug 2000 14:24:30 +0900 (JST)
Message-ID: <20000831142430O.hamajima@atom.nagoya.ydc.co.jp>

> > automakeには手を出さずにlibtoolを探す
> > 処理は手動で行なっています。

+ LIBTOOL=
+ A=a
+ if test "$use_sharedlib" != no ; then
+     if test -x /usr/local/bin/libtool ; then
+         LIBTOOL=/usr/local/bin/libtool
+         A=la
+     fi
+     case $hosttype in
+     "NetBSD")
+         if test -x /usr/pkg/bin/libtool ; then
+             LIBTOOL=/usr/pkg/bin/libtool
+             A=la
+         fi
+     ;;
+     esac
+ fi

の部分ですね。Linuxでは/usr/bin/libtoolに入っているので、問題です。

> > FreeBSDの場合は"AM_PROG_LIBTTOL"とか勝手にやられてaclocal.m4が必要になる
> > のでしょうか?
> 
> automakeを使うのが駄目とか言っているのでなく、むしろautomakeを使って
> libtoolを自動的に探すように修正してもらえるなら、その方が嬉しいです。

いろいろ、探してみて何となくAM_PROG_LIBTOOLの使い方が分かりました。
「automakeでlibtoolを自動的に探す」のは、多分間違いで、正しくは、

「configureでlibtoolを、configureを実行したディレクトリ(以下./とする)
に./ltconfigと./ltmain.shを使って生成する」

だと思います。で、configureにこのルールを入れるのに、AM_PROG_LIBTOOLを
configure.inに入れるのです。で、autoconfの時、./aclocal.m4に書かれている
であろう

${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target

を使って、configureに入れるltconfigとltmain.shの記述を生成するようです。

FreeBSDで、libtool & autoconfを使うときに、aclocal.m4を期待している理由
は、libtoolを生成する場合に、./ltconfigと./ltmain.shではなく、システムに
インストールレ手いるものを使わせるために、↑の$ac_aux_dirを
/usr/local/share/libtoolに変更するためです。

でも、libtoolを使うがconfigureで生成はしない、ときもあると思われるので、
libtool & autoconfを使うときに、無条件でaclocal.m4を期待することを修正し
てもらおうかと思います。

話を戻し、FreeWnnのことですが、FreeWnnもやっぱりインストールされている
libtoolを期待するのではなく、AM_PROG_LIBTOOLを使うのが良いと思います。そ
の為には、出来るだけ新しいlibtoolに含まれるltconfigとltmain.shと最低限の
aclocal.m4(多分libtoolに付属のもので良いでしょう)を同封する必要があり
ます。


http://www.freewnn.org/ FreeWnn Project