これらのツールをインストールするには、何よりもまずソースを取得する必要が
あります。有名なソフトウェアなのですぐ見つかるでしょう。取得方法について
詳しくは述べません。以下の文章では、gcc-2.7.2.3,
binutils-2.9.1, newlib-1.7.1
を使用することを仮定していま すが、他のバージョンでもほぼ同じだと思います。
binutilsをインストールするには、毎度お馴染のconfigureと
makeを実行します。
./configure --target=h8300-hms --prefix=/usr/local
make all
make install
h8300-hmsは H8(正確にはH8/300)を表す識別子です。これからよく使
うので覚えておいて下さい。上では/usr/localを指定しています
が、他のディレクトリでもかまいません。
これを実行すると、アセンブラやリンカがインストールされます。これらのコマ
ンドは、頭にh8300-hms-がついています。(例えばasの代わり
にh8300-hms-as)
まず、GCCをコンパイルするためにconfigureスクリプトを実行します。
binutilsをインストールしたときと同じオプションを指定して下さい。
./configure --target=h8300-hms --prefix=/usr/local
prefixオプションでは、binutilsをインストールした時と同じディレ クトリを指定して下さい。
残念ながら、このあとmake一発ではコンパイルできません。
Makefileを書き変えて、LIBGCC2_INCLUDESに
-Dinhibit_libcを加えて下さい。(このオプションはインクルードとは
関係ないんだけど許してね)
LIBGCC2_INCLUDES = -Dinhibit_libc
そして、makeを実行します。ここではCコンパイラしか作れませんので、
引数としてLANGUAGES=Cを指定することでC++コンパイラを作らないよ
うにします。
make LANGUAGES=C all
make LANGUAGES=C install
次に、float.hを入れ替えます。普通は浮動小数点の扱いがCPUごとに違
うため、クロス環境ではfloatを(デフォルトでは)使えないようになっています。
しかしH8にはFPUがないため、このへんはごまかしてしまいましょう。ホスト用
のfloat.hをコピーしてしまいます。下のディレクトリ名は環境に応じて変えて
下さい。
cp /usr/lib/gcc-lib/i386-linux/2.95.2/include/float.h
/usr/local/lib/gcc-lib/h8300-hms/2.7.2.3/include/float.h
この時点でCプログラムをコンパイルできるようになっているはずです。
Newlibもいつも通りconfigureとmakeでインストールします。オ
プションはいつものものを使います。
./configure --target=h8300-hms --prefix=/usr/local
make all
make install
これで終わり。簡単ですね。
makeをし直します。
make all
make install
float.hを入れ換えましょう。
kp9m-iwt@asahi-net.or.jp