例えば、以下のサイトから取得できます。
ftp://ftp.gnu.org/gnu/gcc/
ftp://ftp.gnu.org/gnu/binutils/
http://ftp6.us.freebsd.org/pub/sourceware/newlib/
パッケージのバージョンについては、クロスコンパイル構築用に限り、新しければ良いとは限りません。使えないバージョンもあるようで、大変です。
今回は、binutils-2.13.2.1, gcc-2.95.3, newlib-1.10.0 を用います。
あと、その他の特記事項としては、
となります。以降がコンパイル手順です。
% tar jxvf binutils-2.13.2.1.tar.bz2
% mkdir binutils_tmp
% cd binutils_tmp
% ../binutils-2.13.2.1/configure --prefix=/usr/local/sh_cross_2.95.3 --target=sh-hitachi-coff
% make CFLAGS=-O2
% su
# make install
% tar zxvf gcc-core-2.95.3.tar.gz % tar zxvf newlib-1.10.0.tar.gz % mkdir gcc-2.95.3_tmp % cd gcc-2.95.3_tmp # su # ../gcc-2.95.3/configure --prefix=/usr/local/sh_cross --target=sh-hitachi-coff --with-newlib --with-headers=../newlib-1.10.0/newlib/libc/include/ --enable-languages=c # export PATH=${PATH}:/usr/local/sh_cross_2.95.3/bin # make CFLAGS=-O2 CXXFLAGS=-O2 # make install
シンボリックリンクを張る
% cd /usr/local/
% su
# ln -s sh_cross_2.95.3/ sh_cross
パスを通す(csh系の場合)
% setenv PATH ${PATH}:/usr/local/sh_cross/bin
で、以下がコンパイル手順です。
% mkdir newlib-1.10.0_tmp
% cd newlib-1.10.0_tmp
% ../newlib-1.10.0/configure --prefix=/usr/local/sh_cross_2.95.3 --target=sh-hitachi-coff --norecursion
% setenv PATH ${PATH}:/usr/local/sh_cross/bin
% make CFLAGS=-O2 CXXFLAGS=-O2
% su
# make install
ここまで無事に到達できたら、クロスコンパイラの構築は終了です。