[Gauche-devel-jp] Re: MacOSX Bundle

アーカイブの一覧に戻る

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 バイト
説明:       無し
ダウンロード 


Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る