ページへ戻る

− Links

 印刷 

hikarupsp​/HariboteOSwithXCode のソース :: OSASK計画

osaskwiki:hikarupsp/HariboteOSwithXCodeのソース

« Prev[3]  
* HariboteOSをXcode4で開発しよう! [#s5e10bb8]
**Xcodeって何? [#t994c388]
-Macintoshでいう、WindowsのVisualStudioのようなもの。統合開発環境(IDE)。
-多くの人はiPhoneアプリ開発をこれで行っている。
-無料、そして多機能(コード補完など)。
-だけど英語。そしてサイズが大きい(Kさんには申し訳ない…)。
-Apple純正なので、Macでの使い勝手がいい。

**こんな感じになります [#ad94ca2f]
harib27fを動作させてみた画像(画像がこのwikiに添付できなかったので、CHNOSProjectWikiの添付ファイルへのリンクになっています)。
http://chnosproject.sourceforge.jp/wiki147u/index.php?plugin=attach&pcmd=open&file=scrshot.png&refer=CHNOSProject%2FCHNOS

***できること [#z5f57bd5]
harib27f相当の機能ほぼ全て
-mmlplayもきちんと聞こえます。(QEMU: -soundhw all)
-すべての動作可能なアプリは動作するみたい(当たり前といえばあたりまえ)

Xcode由来の機能
-コンパイルエラーの発生した行のハイライト表示(すごく便利)
-関数名・変数名補完(引数補完まではできないみたい)

***できないこと [#t0463b75]
make install相当の機能(make installができないだけで、方法は他にいくらでもある)

**下準備 [#w6b18aad]
***Xcodeをダウンロード・インストールする。 [#m5094eca]
時間がかかります。とても…。

***XcodeのCommandLineToolsをダウンロード・インストールする。 [#fcb70d16]
makeやgccその他を使うのに必要です。
PreferencesのDownloadsからインストールできます。

***QEMUをコンパイル・インストールする。 [#z1a4e6c9]
参考:
+http://sweet-flag.blogspot.jp/2012/04/lion-qemu-0141.html
+http://mikelev.in/2012/10/qemu-mac-os-x-success/
+http://mxcl.github.io/homebrew/
+http://stackoverflow.com/questions/9575989/install-autoreconf-on-osx-lion

主に1,2番を参考に行いました。
私の場合は、LLVM-GCCのままで、Homebrewを使用して、各種のコンパイルに必要なコマンドを入れつつ、コンパイルすることができました。
途中でautoreconfが無いと怒られたので、4番を参考に入れました。

***tolsetOSX(Akkieさん作成)をダウンロード・配置 [#ud96859c]
http://shrimp.marokun.net/osakkie/wiki/tolsetOSX/
diskimage内のz_toolsをHariboteOSのプロジェクトディレクトリにコピーする。(詳細は後述。)

**Xcodeでの作業 [#f8c9dd4c]
(まだ作成中...画像が添付できるようになったら、もう少し分かりやすくなると思います。)

***HariboteOSプロジェクトを作成 [#r44350cf]
Other->Empty
HariboteOS
***z_toolsをプロジェクトディレクトリに配置 [#g126d007]
makeへのシンボリックリンクをz_tools内に作成。(Command+Option+ドラッグ&ドロップ)
***helloos5を追加 [#z47ecad3]
言われるがままにExternalBuildSystemProjectとして追加。ご親切にmakeへのパスまで入力済み!
***文字コードのUTF-8化 [#z8d193e6]
右側のTextSettingsから、TextEncodingをShift JIS(下の方にある)にして、質問されたら「Reinterpret」を選択(まずはエンコード解釈を正しく指定する)。
次に、UTF-8を選択し、今度はConvertを選択(文字コードを変換)。
改行コードはどちらでもOK。はりぼてOSもそう作ってあるし。
Makefileも同様にUTF-8にしておく。
***MakefileのIndentUsingをTabsに変更。 [#ib21fa34]
Makefileは行頭がタブでないといけないルールになっています。
Xcodeでは、タブがスペース何個の環境であっても、ソースがきれいに表示されるよう、タブはスペースに変換されるのが標準設定ですが、それだとMakefileが正しく動作しないので、変更しておきます。
***Makefileの書き換え [#yb580455]
-複数行にまたがる部分で、Windowsでは¥マークを使っていたものを、バックスラッシュに直します。これは、C言語のエスケープシーケンス(¥nとか)でも同様です。(Option+¥で入力できます。)
-パス区切りが¥になっている部分をスラッシュに変更します。
-QEMUの実行(runのところ)は、QEMUのパスを指定して直接実行するようにします。なので、imgファイルのコピーは必要ないので削除します。
 run :
 	make img
 	/usr/local/bin/qemu-system-x86_64 -fda helloos.img -boot a -m 128
-installはまだ試していませんが、ddコマンドを使用すれば問題なく行えるはずです。しかし、(umountコマンド実行時に)スーパーユーザーになる必要があるはずなので、makeから実行するのは難しいかもしれません。

***SchemeのRun設定を変更し、RunでQEMUが実行されるようにする [#ebfd6bb4]
-実行ファイルにz_tools内のmakeのシンボリックリンクを指定。
-実行ディレクトリを$(SRCROOT)に設定、変数展開も指定。
-引数にrunを指定。

« Prev[3]