ターミナル上で実行する gnushogi の Universal Binary 化に失敗

私がパッケージ化して公開している 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

*1:[http://developer.apple.com/documentation/OpenSource/Conceptual/ShellScripting/index.html:title=Shell Scripting Primer] : Shell Scripting Primer/Shell Script Basics/Basic Control Statements/The for Statement

*2:Apple Developer Connection – http://developer.apple.com/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です