SDLをビルドする

fMSXや、ねこーぷろじぇくとIIを自力でビルドしようと思ったら、SDLからビルドしないといけないんじゃないか(SDLのバイナリパッケージだけではビルド時に足りないファイルがあるんじゃないのか)と思ったので、やってみる。

準備

SDカードにはZGCC2のcramfs一式とマウント用シェルスクリプト、環境設定用シェルスクリプトSDLのソース、阿川さんのザウルス用SDLのパッチが入っている。patchコマンドはZGCC2に入ってないので、きむらかずしさんとこから落としたのをインストールしてある。
実際には全部ザウルスでwgetした。SDLのパッチはファイル名が取得できないのか、-oオプションでファイル名を指定する必要があった。

bash-2.05# wget "http://atty.jp/?plugin=attach&refer=Zaurus%2FSDL&openfile=libsdl_1.2.5-slzaurus20031201_arm.ipk" -o libsdl_1.2.5-slzaurus20031201_arm.ipk

手順

以下、ターミナルを開いてからの手順。

bash-2.05$ su
# bash
bash-2.05# /mnt/card/mntzgcc.sh
bash-2.05# source /mnt/card/zgcc.sh
bash-2.05# tar zxvf /mnt/card/SDL-1.2.5.tar.gz
bash-2.05# cd SDL-1.2.5
bash-2.05# patch -p1 < /mnt/card/libsdl_1.2.5-slzaurus20031201_arm.diff
bash-2.05# ./configure --enable-video-qtopia(以下略)
bash-2.05# export TMP=/home/tmp
bash-2.05# make
bash-2.05# make install

configureは阿川さんのページに書いてあったものと、KNIさんとこに書いてあったのを見ながら、以下の内容で指定。

--enable-video-qtopia
--disable-video-dummy
--disable-video-dga
--disable-video-fbcon
--disable-video-x11
--disable-video-photon
--disable-video-direct
--disable-video-ggi
--disable-video-svga
--disable-video-aalib
--disable-video-opengl
--disable-arts
--disable-esd
--disable-alsa
--disable-nasm
--disable-debug
--disable-cdrom
--disable-joystic
--disable-dga
--disable-diskaudio
--disable-mintaudio
--disable-nas
--enable-dlopen
--without-x
--prefix=/opt/QtPalmtop

prefixは阿川さんのSDLのパッケージが/opt/QtPalmtop/lib下に配置されてるので、これと同じようになるように/opt/QtPalmtopとしてみた。あと、クロスコンパイルじゃないのでホスト側やターゲット側のCPUの指定とかは全部省略してみた。

warning メッセージ

configure 途中に warning が出た。

configure: warning: *** pkg-config is required to build the DirectFB video driver.
no

こんなの。無視してええんかな??

ビルドしたSDLが使えない

早速ビルドしたSDLを使うべく、TOSさんとこのfmsxを動かして使ってみる。

bash-2.05$ ./fmsx
./fmsx: error while loading shared libraries: libSDL-1.2.so.0: undefined symbol: DSP_bootstrap

うーん、なんか定義されてないシンボル「DSP_bootstrap」があるとか怒られる・・・。
挫折・・・orz