KOGURO, Naoki
naoki****@kogur*****
2005年 7月 23日 (土) 23:12:07 JST
小黒です。 実はGaucheをアプリケーションの中に組み込めるprivate frameworkにしたくて Gauche.frameworkを作成するスクリプトを作っていました。作りかけですが、 もしよろしければ参考にしてみてください。 使い方は、添付のtarballを展開してGauche-framework/distfilesの下に Gauche-0.8.5.tgzを置き、makeを実行するとGauche.frameworkが作成されます。 Xcode側への設定の仕方はRubyCocoaのページを参考にしてください(http:// rubycocoa.sourceforge.net/w.ja/FrameworkIntoApplication.html)。 ちなみにこのスクリプトでは以下のことを行っています。 (1) src/Makefile.in, src/core.c, lib/Makefile.inを書き換える。これによ り次のような変更が適用されます。 - RELINKでlibgauche.dylibのパスを"@executable_path../Frameworks/ Gauche.framework"に設定するようにする - 実行時のアプリケーションのディレクトリから、*load-path*を作成し、 framework側のディレクトリを指すようにする - slibcatでカタログの作成を行わないようにする。private frameworkだと SLIBも内部に取り込んでおいたほうがよいと思うのですが、とりあえず frameworkを動かすために無効にしています。 (2) Gaucheを --enable-threads=pthreads --enable-multibyte=utf-8 でコン パイルし、Gauche.framework/ディレクトリにインストールする。 (3) framework用にシンボリックリンクをいろいろ張る (4) frameworkにするとヘッダファイルの参照が <Gauche/gauche.h> のように なるので、ヘッダファイル中の #include の参照先を書き換えます(なぜか rubyのスクリプトにしていますが)。 なお、現状以下の問題点があります。 (1) goshが動かない。アプリケーションバンドルからでないと libgauche.dylibが使えないです。 (2) SLIBは使えません。 (3) frameworkにlibgdbm.dylibは含まれていないため、libgdbm.dylibを別途 インストールしておく必要があります。 (4) 見よう見まねで作ったので、変なことをしている可能性があります。 -- KOGURO, Naoki <naoki****@kogur*****> -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: Gauche-framework.tar.gz 型: application/x-gzip サイズ: 5097 バイト 説明: 無し Download