2007年5月29日

devkitDC構築メモ(その1)

春先から手を付けていたDreamCast(SH4とARM)向けのgccをMinGWでビルドして、devkitProにビルトインする作業がなんとか完了しました。
今月初旬の時点でビルドは出来ていたのですが、dc-tool-ipで実機に転送→実行すると動かないという現象に遭っていました。
これは、gccの最適化でKOSカーネルに定義されているテーブルが一部無くなるという不具合のせいでした。
# KOSはすべてのソースが公開されていますので、リビルドできます。というかしないといけません
KOSに間違いは無い、自分のビルドがおかしいとばかり思い込んでいて、つい最近まで2ちゃんねるのスレッドでアドバイスをいただくまで気づきませんでした。
そんなわけで、devkitDCの構築メモを何度かに分けて公開します。
まずは、環境構築について説明します。
msysは、公式サイトのものを使用しました。
devkitProのインストール時に入れるものはコマンドが一部足りません。testとか。
作業は、MinGW内の/buildディレクトリで行いました。
前準備のスクリプトです。
#!/bin/sh

EXTRACTS=0
PATCHES=1

if [ $EXTRACTS -eq 1 ]
then
  tar zxvf binutils-2.17.tar.gz
  tar jxvf gcc-core-4.1.2.tar.bz2
  tar jxvf gcc-g++-4.1.2.tar.bz2
  tar zxvf newlib-1.15.0.tar.gz
fi

if [ $EXTRACTS -eq 1 ]
then
  cd ./binutils-2.17
  patch -p1 < ../patches/binutils-2.17.patch
  cd ../

  cd ./gcc-4.1.2
  patch -p1 < ../patches/gcc-4.1.2.patch
  cd ../

#  cd ./newlib-1.15.0
#  patch -p1 < ../patches/newlib-1.15.0.patch
#  cd ../
fi

gccとbinutilsには、本家devkitProのVista対応を銘打ったパッチを適用しています。
newlibにもパッチがありますが、これは適用してはいけません。

0 件のコメント: