ゆとりーなの日記

日記的な事を書いて行くと思はれる

H8マイコン用のg++4.9.1

2年前󠄁はH8マイコンでC++11 - 名古屋313の日記にてエラーが出るけどlibstdc++は使󠄁はないし良いかと甘えてgccを作つてゐたが、今回なんとwindows8.1のMinGW-w64環󠄁境でエラー無しにビルドする事ができたのでメモ。

先づbintuils。一應ビルドディレクトリは別に作つてからやる。

bzip2 -dc binutils-2.24.tar.bz2 | tar xvf -
mkdir binutils-build
cd binutils-build
../bintuils-2.24/configure --target=h8300-elf --disable-werror --prefix=/tool
make
make install

最近󠄁のgccのビルドにはgmpとmpfrとmpcが要󠄁るのでこれもビルド。こつちは甘えたのでビルドディレクトリは作らずにそのままやつた。prefixを附けてないと/local以下にインストールされる樣なので、依存ライブラリにはその旨を指定。

// gmp
bzip2 -dc gmp-6.0.0a.tar.bz2 | tar xvf -
cd gmp-6.0.0
./configure
make
make install

// mpfr
tar xvf mpfr-3.1.2.tar.gz
cd mpfr-3.1.2
./configure --with-gmp=/local
make
make install

// mpc
tar xvf mpc-1.0.2.tar.gz
cd mpc-1.0.2
./configure --with-mpfr=/local --disable-shared
make
make install

あとは/tool/binにパスを通󠄁してからgccをビルド。gccはビルドディレクトリをちやんと作つた。

tar xvf gcc-4.9.1.tar.gz
mkdir gcc-build
cd gcc-build
../gcc-4.9.1/configure --target=h8300-elf --prefix=/tools --with-gmp=/local --with-mpfr=/local --with-mpc=/local --with-newlib --without-headers --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libatomic --disable-libgomp --disable-libitm --disable-libsanitizer --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libstdc++-v3 --enable-languages=c,c++
make
make install

gccのオプションに關してはここProject Web of LFSブック日本語版 on SourceForge.JP Web spacegccの處(現時點でのsvnの20140909版の方が丁度gcc4.9.1での說明だつた)を參考にした。オプションを兎に角大量に指定してゐるが、此處迄機󠄁能を無效にしないとクロスコンパイラは上手く作れない樣である。