newlib使用の C 言語開発環境の構築方法

2002/4/26

これは何か

 浪花氏の書かれた「C 言語開発環境の構築法」を元にして newlib のライブラリとヘッダを使えるように微調整し、パッケージングしたものです。

 開発ツール群のビルドに関してはほとんど「C 言語開発環境の構築法」をなぞります。私による変更箇所の差分はこれです。

  1. lcc-4.1.tar.gz を入手し,ソースコードを展開する.
  2. lcc-4.1-eota.patch を入手する.
  3. lcc-4.1 の下で patch -p1 < lcc-4.1-eota.patch として patch をあてる.
    に続いて
  4. patch -p1 < lcc-newlib_020221.patch
    として patch を当てるだけです。

 GNU as と ld、EOTA カーネル (とライブラリ)、newlib も make します。

ヘッダ

 EOTA 用の newlib-1.8.1 の newlib/libc/include と eota/newlib/targ-include と、EOTA のソースツリーの kernel/POSIX/libc/others 以下の graphic.h と tty.h、それに /usr/lib/gcc-lib 以下にある stdarg.h と stddef.h を使います。

EOTA上でのファイルの配置

下記のようにしました。
・cpp          /usr/lib/lcc-eota/cpp
・liblcc.a     /usr/lib/lcc-eota/liblcc.a
・rcc          /usr/lib/lcc-eota/rcc
・lcc          /usr/bin/lcc

・ヘッダ       /usr/lib/lcc-eota/gcc-lib/include
               /usr/lib/eota-lib/targ-include
               /usr/include

・as           /usr/bin/as
・ld           /usr/bin/ld

・crt0.o       /usr/lib/crt0.o
・libc.a       /usr/lib/libc.a
・libm.a       /usr/lib/libm.a
・libnative.a  /usr/lib/libnative.a
・libitron.a   /usr/lib/libitron.a
・libgt.a      /usr/lib/libgt.a

 libc.a は newlib-1.8.1/eota/newlib 以下のものを用います。

 /usr/lib/*.[ao] のライブラリ群は

strip -S *.a

としてサイズを小さくしています。

バイナリの入手

 こちらよりバイナリを配布しています。[直リンク]


NAKANISHI Shin (snakani at users.sourceforge.jp)

[戻る]