Shiro Kawai
shiro****@lava*****
2003年 7月 18日 (金) 19:24:32 JST
この点に関してはちょっと問題が込み入っています。 0.7での基本的な方針は、以下の通りでした。 (1) MacOSXでは、goshはlibgauche.aをstatic linkする。 Boehm GC 6.1がDarwin上でダイナミックリンクされると問題が 生ずるため、そもそもlibgauche.dylibを作っても使えない。 (2) Extensionは全てdlopen()するモジュールである。 ところで、プラットフォームによっては、リンク時に依存関係を全て 解決することを要求するものがあります。例えば mt-random モジュールや Gauche-gl は uvector のシンボルを参照している ので、そのようなプラットフォーム上で mt-random や Gauche-gl をリンクするために、どうしても -lgauche-uvector を与えてやる 必要がありました。 MacOS Xにはそのような要求が無いので、そもそも -lgauche-uvector を与える必要がありません。(したがって、libgauche-uvector.dylib を作る必要もありません)。 しかし、0.7同梱のgauche-configはリンク失敗を避けるために、 無条件で-lgauche-uvectorをリンクフラグに追加してしまいます。 それが悪さをしているんじゃないかと思います。 --shiro