From: Masahiro S. ()
<sa...@to...> - 2003-04-06 05:37:22
|
さかいです。 From: Seiichi SATO <ss...@sh...> Subject: [Mlterm-dev-ja] Re: patch for cygwin Date: Sun, 6 Apr 2003 02:31:42 +0900 > こんばんは、佐藤です。 こんにちは。 > ところで、cygwin でライブラリを DLL にするために必要な -module, -avoid-version, > -no-undefined ですが、これって cygwin 以外の環境に影響はないのでしょうか? > 以前調べてはみたものの、良くわかりませんでした。 > # さかいさん、何かご存知ですか? 確認したわけではありませんが、多分問題無いと思います。 DLLにするのに必要なのは-no-undefinedだけで、 これはWin32系以外の幾つかのプラットフォームでも必要なはずですし、 意味を考えても、他のプラットフォームで問題になることは考えにくいです。 それから-moduleは、libtoolのinfoに `-module' Creates a library that can be dlopened (*note Dlopened modules::). This option doesn't work for programs. Module names don't need to be prefixed with 'lib'. In order to prevent name clashes, however, 'libname' and 'name' must not be used at the same time in your package. と書かれているように、モジュールをビルドする際には本来必要なオプションです。 最後に-avoid-versionですが、 これもモジュールをビルドする際によく使うオプションですし、 他のプラットフォームで問題になる事は考えにくいです。 > また、手元の win98 ではスクロールバーの plugin が不安定です。 > 例えば stackdump したり Xlib の unexpected async reply で mlterm が落ちて > しまいます。まだ追いかけていないので原因はよくわかりませんが、 > LoadLibraryEx() による dlopen() エミュレーション はあまり安定してないのかも > しれません。 手元のWinXPでは再現しませんでした。 Cygwinのdlopen()はかなり単純なコードなので、 問題があるとしたら、mltermやCygwin/XFree86等の問題の可能性のほうが ずっと大きいと思います。 > 個人的には cygwin で DLL をデフォルトで有効にするのはすこし抵抗があります。 > で、提案なのですが --enable-cygwin-dll とかを追加して、 > デフォルトでは DLL を作らないようにするというのはいかがでしょうか? 個人的にはどちらがデフォルトでも構わないのですが、 通常の--enable-shared/--disable-sharedで切り替える事が出来るので、 cygwin用の特別なオプションを用意する必要はないはずです。 # --with-libtoolを指定すると、AM_PROG_LIBTOOLが実行されないため # --enable-shared/--disable-sharedが効かなくなってしまいますが、 # これはCygwinに限った問題ではないですし、 # DLLを使いたくないような場合に--with-libtoolを指定する理由も # 思いつかないので、実用上は問題ないでしょう。 -- 酒井 政裕 / Masahiro Sakai |