====== クロス開発環境の構築 ======
Mac OS X上にNetWalkerのクロス開発環境を構築する。
基本的に[[http://d.hatena.ne.jp/n7shi/20091211|クロス開発環境構築(七誌の開発日記)]]をなぞるだけ。多謝多謝。
Mac OS X v10.6.6現在の情報。
===== 準備 =====
追加で必要なツールは以下の通り。
MacPortsで入れるのが簡単。
^ 名前 ^ 使用バージョン ^ 備考 |
|texinfo |4.13 | |
|libgmp |5.0.1 | |
|libmpc |0.8.2 | |
|mpfr |3.0.0-p8 | |
|xz |5.0.0 | |
パスを通しておく。
MacPortsでインストールしたので/opt以下のパスを指定。
$ export CPPFLAGS=-I/opt/local/include
$ export LDFLSGS=-L/opt/local/lib
===== クロスコンパイラのビルド =====
新しい事は良いことだ!というわけで、2011-01-23現在で最新のgnu toolchainを使ってみる。
==== binutils ====
/opt/local以下にインストールしたかったので、configureでprefixを指定している。
$ curl -O ftp://ftp.ring.gr.jp/pub/GNU/binutils/binutils-2.21.tar.bz2
$ tar xvjf binutils-2.21.tar.bz2
$ cd binutils-2.21
$ mkdir build
$ cd build
$ ../configure --prefix=/opt/local --target=arm-linux-gnueabi
$ make
$ sudo make install
==== NetWalkerクロス開発用のヘッダとライブラリ ====
[[http://d.hatena.ne.jp/n7shi/20091211|クロス開発環境構築(七誌の開発日記)]] から ubuntu-jaunty-araneo-armel-dev.tar.xz を頂戴する。
$ xz -dc ubuntu-jaunty-araneo-armel-dev.tar.xz | sudo tar xvf - -C /opt/local/arm-linux-gnueabi
==== gcc ====
GMP, MPFR, MPCのインストール先を明示的に指定してやらないとconfigureが通らなかった。
$ curl -O ftp://ftp.ring.gr.jp/pub/GNU/gcc/gcc-4.5.2/gcc-core-4.5.2.tar.bz2
$ curl -O ftp://ftp.ring.gr.jp/pub/GNU/gcc/gcc-4.5.2/gcc-g++-4.5.2.tar.bz2
$ curl -O ftp://ftp.ring.gr.jp/pub/GNU/gcc/gcc-4.5.2/gcc-objc-4.5.2.tar.bz2
$ tar xvjf gcc-core-4.5.2.tar.bz2
$ tar xvjf gcc-g++-4.5.2.tar.bz2
$ tar xvjf gcc-objc-4.5.2.tar.bz2
$ mkdir build
$ cd build
$ ../configure --prefix=/opt/local --target=arm-linux-gnueabi --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local
$ make
$ sudo make install
===== 参考サイト =====
[[http://d.hatena.ne.jp/n7shi/20091211|クロス開発環境構築(七誌の開発日記)]]