GP2Xdev:TOP
GP2X 開発環境の構築
GP2X の開発に当たって必要な初期情報は GP2X dev wiki にまとまっているのでそれを参照。
http://wiki.gp2x.org/wiki/Main_Page
基本的にはこれで十分なので、以下は個人的メモ程度に。
Windowsでのクロス開発
Windows でのクロス開発環境は gp2x_devpack として纏められていて、これをインストールすると一通りの環境が手に入る。
んが、この devpack は msys + mingw32 で構成されていて普段 Cygwin を使っているのでその上で開発しようとしていた人にとってはちょいと都合が悪い。(パス表記が違うため)
そこで Cygwin 上でクロスコンパイルのための ARM toolchain をビルドしようとしたのだけれども、うまくいかなくて大いに困る事に。
binutils と gcc だけで良いかなと思ったら devpack の glibc と折り合いが合わず soft-float 周りで整合が取れなくて苦しむ。
binutils+glibc+gcc とセットでビルドしようとしたら glibc-2.3.5 が Cygwin 上でうまくビルドできなくて苦しむ。
結局諦めて、crosstool を使って toolchain を作ることに。
gcc-3.4.1/glibc-2.3.3 というちょっと古いセットだけれども安定して構築できたのでまあ良しとする。実際これで GP2X アプリを開発できたし。
そのとき作った toolchain (binutils + gcc + glibc) の Cygwin バイナリセットは以下に置いておく。
http://www.fumi2kick.com/gp2x/gp2x-arm-toolchain.tar.bz2
SDLライブラリ
SDLのライブラリは devkit の方にも入っているけれども、theoddbot-libs-open2x-soft-float の方がお勧め。
http://wiki.gp2x.org/wiki/Other_Available_Libraries
ここからたどって
http://brendan.mine.nu/theoddbot-libs-open2x-soft-float-beta2.tar.gz
sdl-config と /lib /include は theoddbot-libs-open2x-soft-float を用い、toolchain は環境に応じたものをチョイスして使うといった形になる。
ディレクトリが別れるけれども、そこは Makefile でカバー。
theoddbot-libs-open2x-soft-float には devkit で抜けていたライブラリも入っていて便利なのだが、そのかわり -static でリンクする必要が出てくる。
バイナリサイズにも響くので注意。