KOGURO, Naoki
naoki****@kogur*****
2006年 3月 9日 (木) 20:54:15 JST
On 2006/03/09, at 13:25, Shiro Kawai wrote: > libltdlはライセンス的にはOKだったと思います (libtoolだか > autoconfだかと一緒に使ったら自由に配布OK、とかなんとか特例が > ついていた覚えが。) > ただ、以前Gauche本体で使おうとして断念したことがあるんですよね。 > 何でだったかなあ。本体内にlibltdlを抱えた場合、他にltdlを > 抱えてるライブラリと衝突する可能性があるせいだったかなあ。 > (libltdlを抱えない場合はGaucheが外部のlibltdlに依存するので > それもやだ、と)。 なるほど、ライセンス的にはOKなわけですね。ただ昨日はああ書きましたが、 現状では使わないでいようかと思います。 私が最初libltdlを使おうと思ったわけは、".so"とか".dylib"といった環境に よる拡張子の違いなどを吸収してくれるだろうと思っていたからです。しか し、昨日試してみたところMacOSXに最初から入っているものではうまく拡張子 の判別をしてくれなかったので、ちょっと使う気が失せました(これを行うに はコンパイル時に指定が必要なようです)。結局自力で環境にあった拡張子を 付加するようにしたので今のところは使わなくても何とかなりそうです。 とはいえlibltdlはWindowsのLoadLibraryとかも包含しているので、将来的に は使えるようにした方がいいかとは思っています。 > gccを要求することについては、非GCCでもコンパイルできるように > なってればいいと思います。GaucheのVM loopもgccの場合は > label addressを使って高速化してますし。 すみません、前のメールの書き方が悪くて分かりにくかったですが、検討して いたのは将来的にc-grammar.scmの文法規則をGCC由来のものに変更しようとい うことです。 この理由は、世の中のヘッダファイルを見ていると結構"__extension__"を 使っているのがあって、ふつうのCの文法規則だとパーズに失敗するケースが あったためです。現状マクロとlexerで無視するようにしていますが、ここら 辺をきれいにしたいなという考えがありました("__extension__(x)"と か"__extension__ x"といった両方の書き方があるので、マクロだけでは無視 しきれないのです)。 -- KOGURO, Naoki <naoki****@kogur*****>