====== Teaboard:クロスコンパイラのビルド ======
Teaboardの開発環境はgccで、CygwinとLinux用のクロスコンパイラが添付されている。これらgccは、当然Mac OS Xでは使用できない。幸い、開発環境再構築用のパッケージ一式が提供されているので、それを使ってOS X用のgccを構築する。
===== 準備 =====
以下のディレクトリ構成で作業を行う。各自の環境にあわせて、適宜読み替えて欲しい。尚、うちの環境では~/にusrディレクトリを作り、/optは~/usrへのシンボリックリンクとなっている。
/opt
/local
/te
te.tlsrc.arm.05.tar.gz
te.tlsrc.common.04.tar.gz
te.resource.tbmx1.01.tar.gz
/tool
/build
/gnu
/distribution
binutils-2.13.tar.bz2
gcc-3.2.2.tar.bz2
gdb-5.2.tar.gz
===== 開発環境再構築用パッケージの展開 =====
cd /opt/local/te/
tar zxvf te.tlsrc.arm.05.tar.gz
tar zxvf te.tlsrc.common.04.tar.gz
tar zxvf te.resource.tbmx1.01.tar.gz
===== binutilsの構築 =====
cd tool/build/gnu/binutils-2.13-tkernel/
cp ../etc/makerules ../etc/makerules.unknown
make BD=/opt/local/te TARGET=arm-unknown-tkernel extract patch-tkernel
make BD=/opt/local/te TARGET=arm-unknown-tkernel clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel install
===== gccの構築 =====
cd /opt/local/te/
sudo cp -R include tool/unknown/arm-unknown-tkernel/sys-include
cd tool/build/gnu/gcc-3.2.2-tkernel/
make BD=/opt/local/te TARGET=arm-unknown-tkernel extract patch-tkernel
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tkernel install
sudo rm -R /opt/local/te/tool/unknown/arm-unknown-tkernel/sys-include
===== gdbの構築 =====
make中に「gdb-5.2-tmonitor/gdb-5.2/gdb/arm-tdep.c:2692: error: label at end of compound statement」というエラーが出るので、当該箇所を予め修正しておく。
case ELFOSABI_ARM:
/* Assume GNU tools with the old APCS abi. */
return ARM_ABI_APCS;
default:
break; // ◆◆この行を加える◆◆
}
cd ../gdb-5.2-tmonitor/
make BD=/opt/local/te TARGET=arum-unknown-tmonitor extract patch-tmonitor
make BD=/opt/local/te TARGET=arm-unknown-tmonitor clean configure make
sudo make BD=/opt/local/te TARGET=arm-unknown-tmonitor install
===== makerulesの編集 =====
/opt/local/te/bappl/makerulesと/opt/local/te/kappl/makerulesの「開発環境のベースディレクトリ」を編集する。
ifndef BD
# 開発環境のベースディレクトリ
BD := /opt/local/te
endif