私がパッケージ化して公開している xshogi.app を Universal Binary 化する前に、gnushogi の Universal Binary 化に挑戦してみました。
とりあえず
Building an Open Source Universal Binary http://developer.apple.com/opensource/buildingopensourceuniversal.html
を読んでみました。
ここでは Xcode を利用して説明されていますが、PPC、Intel 版の gnushogi をそれぞれ作成し、コマンド lipo を使って Universal Binary 化すれば良さそうです。実際試してみました。私の環境は iMac G5 なので、もちろん PPC版の gnushogi は作成できます。Intel版の gnushogi を作成するために make を使って、コマンド make “CC=cc -arch i386” 実行したのですが、ライブラリのリンクに失敗します。いろいろ試してみたのですが、残念ながら解決することはできませんでした。
話は変わって 、Building an Open Source Universal Binary の説明に Xcode で New Run Script Build Phase を利用していますが、そこで次のような Shell Script を設定しています。
Listing 4: The Run lipo Script # shell script goes here for lib in `cat libnames.tmp`; do lipo -create build/*/$lib -output $lib done exit 0
私自身 shell script の文法 (for 文など)*1については理解していなかったので、ADC *2で検索してみました。
本当にわかりやすく説明されているドキュメントを見つけたので URL を下記に記載しておきます。
Shell Scripting Primer http://developer.apple.com/documentation/OpenSource/Conceptual/ShellScripting/index.html