Snow LeopardでOpenAL, ALUTをビルドする

Snow LeopardOpenALとALUTをx86_64向けにビルドするときのメモ。
ALUT付属のテストプログラムは動かせるようになったレベルなので、実際不具合なく動くかは未確認。
今回も、32/64bitのすれ違いでした。

OpenALのダウンロード

OpenALとALUTのソースコードを以下のSVNリポジトリからclone
svn://connect.creativelabs.com/OpenAL
# git svn cloneしたら結構な時間がかかった。

OpenALのビルド

XCodeプロジェクトファイルの修正

OpenAL.xcodeprojをそのまま開くと、パスが通ってないファイルがたくさんあるかもしれない。
trunk/OpenAL-MacOSX/OpenAL.xcodeproj/project.pbxproj
このファイルの、Examples を Extras に置換すれば解決。(.xcodeprojのコンテキストメニューから「パッケージの内容を表示」で中に入れる)

64bit対応のコードへ修正

ターゲットをx86_64にしてもエラーが出るので、以下のように変更

trunk/OpenAL-MacOSX/Support/oalAtomicStack.h : 75行目
return ::CompareAndSwap(uintptr_t(oldvalue), uintptr_t(newvalue), (UInt32 *)pvalue);

参考:Cのポインタを整数に変換する - bkブログ

ビルド

プロジェクトウィンドウのツールバー左上で、アクティブアーキテクチャx86_64 に。
*** 以下はする必要あるのかよくわからないので誰かお願いします。 ***
ターゲットのOpenAL, openal.dylibの「情報を見る」から、「アーキテクチャ」を「Standard (32/64-bit Universal)」に変更。
*** ここまで ***
で、ビルド。
警告がたくさん出るけど、全部「古い関数を使ってます」なので、誰かそろそろ書き換えないと次のMac OS Xが出たら動かなくなるかも。

インストール

できた OpenAL.framework フォルダを /Library/Framework/ に入れる。
openal.dylibはお好みで/usr/libとかに入れれば完了。)

ALUTのビルド

./autogen.sh
./configure LIBS="-framework OpenAL"
make
make install

これで全部完了。

(お好みで)ALUT.frameworkを作る

新規Cocoa Frameworkプロジェクトを作成。名前は ALUT。
以下をプロジェクトに追加する。

こいつらと、*.pchと、*.plist以外は削除。
次に、プロジェクトの「情報を見る」から、「プリプロセッサマクロ」に「HAVE_CONF_H」を追加。
ビルドして、ALUT.frameworkを /Library/Framework/ に入れて完了。