2009年08月17日


丁果A320 DINGUXにONScripterを移植する

前回のエントリで、丁果A320のDINGUX開発環境を構築したので、何かDINGUXに移植してみたいと思います。

ターゲットは、ONScripter( http://ogapee.at.infoseek.co.jp/onscripter.html )。

まずは、ogapeeさんのONScripter公式サイトから以下のONScripter最新ソースを取得します。
http://ogapee.at.infoseek.co.jp/onscripter-20090331.tar.gz

取得したファイルは作業ディレクトリ~/tmpに置いておき、展開してできたディレクトリに移動します。

hissorii@ubuntu:~/tmp$ tar zxvf onscripter-20090331.tar.gz
hissorii@ubuntu:~/tmp$ cd onscripter-20090331/
hissorii@ubuntu:~/tmp/onscripter-20090331$

上記を展開してできたMakefileと、Onscripterの動作環境の欄と、DINGUXのライブラリディレクトリ/opt/mipsel-linux-uclibc/usr/libを見比べた結果、以下の方針で作業をすることにしました。

* SMPEGの代わりにMADを入れる。
* libbzip2はDINGUXのライブラリにないので、これだけはstaticにリンクする。

ということで、まずはlibbzip2を作成します。
http://www.bzip.org/からソースtar ballを落とし、~/tmpに置いておき、展開します。

hissorii@ubuntu:~/tmp$ tar zxvf bzip2-1.0.5.tar.gz

展開してできたMakefileをDINGUX用に修正します。差分は以下となりました。

hissorii@ubuntu:~/tmp/bzip2-1.0.5$ diff -u Makefile Makefile.a320
--- Makefile 2008-02-14 21:39:18.000000000 +0900
+++ Makefile.a320 2009-08-17 14:11:50.000000000 +0900
@@ -15,9 +15,10 @@
SHELL=/bin/sh

# To assist in cross-compiling
-CC=gcc
-AR=ar
-RANLIB=ranlib
+PREF=/opt/mipsel-linux-uclibc/usr
+CC=$(PREF)/bin/mipsel-linux-gcc
+AR=$(PREF)/bin/mipsel-linux-ar
+RANLIB=$(PREF)/bin/mipsel-linux-ranlib
LDFLAGS=

BIGFILES=-D_FILE_OFFSET_BITS=64
hissorii@ubuntu:~/tmp/bzip2-1.0.5$

スタティックライブラリだけ必要なので、以下のようにmake時にlibbz2.aを指定してmakeする。

hissorii@ubuntu:~/tmp/bzip2-1.0.5$ make -f Makefile.a320 libbz2.a

次に、Onscripterのディレクトリに戻り、Makefileを修正する。
libbz2.aとincludeファイルは/opt/mipsel-linux/uclibc/usrの方に持って行ってもよいが、とりあえず今回は../bzip2-1.0.5で指定している。
また、変換ツールをDINGUX用に作成してもあまりメリットがないので、作成するバイナリはonscripter本体のみとしている。
出来上がったa320用Makefile.a320は以下のとおり。

hissorii@ubuntu:~/tmp/onscripter-20090331$ cat Makefile.a320
# -*- Makefile -*-
#
# Makefile.a320 - Makefile rules for DINGUX on Dingoo A320
#

PREF=/opt/mipsel-linux-uclibc/usr

INCS = `$(PREF)/bin/sdl-config --cflags` `$(PREF)/bin/freetype-config --cflags` -I$(PREF)/include -I../bzip2-1.0.5

LIBS = `$(PREF)/bin/sdl-config --libs` -lSDL -lSDL_ttf -lSDL_image -lSDL_mixer ../bzip2-1.0.5/libbz2.a -lfreetype -lmad -ljpeg -lm -lvorbisidec -ldl -lz -lpng
DEFS = -DLINUX -DPDA -DBPP16 -DMP3_MAD -DUSE_OGG_VORBIS -DINTEGER_OGG_VORBIS

EXESUFFIX =
OBJSUFFIX = .o

.SUFFIXES:
.SUFFIXES: $(OBJSUFFIX) .cpp .h

CC = $(PREF)/bin/mipsel-linux-g++
LD = $(PREF)/bin/mipsel-linux-g++ -o

CFLAGS = -O3 -Wall -fno-exceptions -fno-rtti -fno-check-new -fomit-frame-pointer -pipe -c $(INCS) $(DEFS)
RM = rm -f

TARGET = onscripter$(EXESUFFIX)
EXT_OBJS = MadWrapper$(OBJSUFFIX)

include Makefile.onscripter
hissorii@ubuntu:~/tmp/onscripter-20090331$

Makefileができれば、あとはmakeするのみ。

hissorii@ubuntu:~/tmp/onscripter-20090331$ make -f Makefile.a320

ということで、丁果A320 DINGUX用のONScripterが出来上がりました。
次のエントリでバイナリを公開します。

posted by ひっそりぃ at 2009/08/17 15:36 | Comment(0) | TrackBack(0) | 丁果A320 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。