How to build the GNU tools for SH

Rev.1.00.02
SH用GNUツール(Cygwinホスト)のビルド方法
SH用GNUツールのCYGWINホスト用のビルド方法について示します。SH/M32R T-Engine Homepageには既にCYGWINホス
ト用のバイナリを添付していますが、コンパイラをアップデートしたい等ビルドが必要な場合のためにビルド方法に
ついて説明するものです。GNUツールのソースコードは米国フリーソフトウェア財団(以下、FSFと略します)やKPIT
Cummins Infosystems Limited社(KPIT GNUtools)などから入手できますが、ここでは一例として、SH/M32R T-Engine
Homepageからダウンロードしたものを使用して、ビルドする方法を説明します。
1. GNUツールソースコードのダウンロード
(1) GNUツールのソースコードをダウンロードします。「Tools」メニューから、以下のファイルをダウンロードしま
す。(図1参照)
- binutils-XX.tar.gz (XXはバージョン番号)
- gcc-YY.tar.gz
(YYはバージョン番号)
- newlib-ZZ.tar.gz
(ZZはバージョン番号)
図1 GNUツールダウンロードファイル選択画面(例)
1
Rev.1.00.02
2. GNUツールビルド方法
GNUツールのビルド方法の説明を行います。本例では”/usr/local/sh-elf”ディレクトリ以下にツールをインスト
ールします。なお、既に”/usr/local/sh-elf”にGNUツールが存在する場合は、既存ファイルディレクトリ名を変更
するか、ビルド・インストールするディレクトリ名を変更することが必要です。
(1) ビルドディレクトリを作成し、ビルドスクリプトを展開します。”/home/tkernel/shtools/buildshgcc”をビル
ドディレクトリとするものとします。
$ mkdir /home/tkernel/shtools/buildshgcc
$ cd /home/tkernel/shtools/buildshgcc
$ cp /cygdrive/d/tools/buildscript.tar.gz .
$ tar zxvf buildscript.tar.gz
(2) ダ ウ ン ロ ー ド し た GNU ツ ー ル ソ ー ス コ ー ド を 展 開 し ま す 。 ダ ウ ン ロ ー ド し た ソ ー ス コ ー ド は
/home/tkernel/shtools/buildshgccディレクトリにあるものとします。
$ tar zxvf binutils.tar.gz
$ tar zxvf gcc.tar.gz
$ tar zxvf nelib.tar.gz
展開すると、 binutils,gcc,newlibのソースディレクトリが作成されます。
(3) セットアップファイルを実行し、ビルドに必要な情報を登録します。使用する環境に合わせてsetup.shファイル
を修正してください。
$ . setup.sh
(4) ビ ル ド デ ィ レ ク ト リ に 移 動 し 、 Binutils を ビ ル ド し ま す 。 使 用 す る binutils ソ ー ス コ ー ド に 合 わ せ て
buildbinutils.sh(のディレクトリ名)を修正してください。
$ cd build_binutils
$ . buildbinutils.sh
(5) PATHを追加し、Binutilsでビルドしたツールが起動するか確認します。本説明ではsh-elf-asにて行っています。
$ cd ..
$ . appendpath.sh
$ sh-elf-as –version
GNU assembler 2.16
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License. This program has absolutely no warranty.
This assembler was configured for a target of `sh-elf'.
2
Rev.1.00.02
(6) GCCからCコンパイラのみをビルド・インストールします。使用するGCCソースコードに合わせてbuildgccPART1.sh
(のディレクトリ名)を修正してください。
$ cd build_gcc
$ . buildgccPART1.sh
(7) Newlibをビルド・インストールします。
$ cd ../build_newlib
$ . buildnewlib.sh
(8) 残ったGCC コンパイラと言語ランタイムライブラリ、言語サポートライブラリをビルドしてインストールします。
$ cd ../build_gcc
$ . buildgccPART2.sh
(9) GNUツールがビルド・インストールされたか確認します。
$ cd ..
$ sh-elf-gcc –version
sh-elf-gcc (GCC) 4.0
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3