本パッケージの詳細は 「Ncurses の構成」を参照してください。
Ncurses パッケージは、端末に依存しない、文字ベースのスクリーン制御を行うライブラリを提供します。
以下のコマンドを実行して、ビルドホスト上に tic プログラムをビルドします。 インストール先は
$LFS/tools とします。 これは必要なときに
PATH を通じて利用することができます。
mkdir build pushd build ../configure --prefix=$LFS/tools AWK=gawk make -C include make -C progs tic install progs/tic $LFS/tools/bin popd
Ncurses をコンパイルするための準備をします。
./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(./config.guess) \
--mandir=/usr/share/man \
--with-manpage-format=normal \
--with-shared \
--without-normal \
--with-cxx-shared \
--without-debug \
--without-ada \
--disable-stripping \
AWK=gawk
configure オプションの意味
--with-manpage-format=normal
本パラメーターは Ncurses が圧縮された man ページをインストールしないようにします。 ホストディストリビューションそのものが圧縮 man ページを利用していると、同じようになってしまうからです。
--with-shared
これは Ncurses において共有 C ライブラリをビルドしインストールします。
--without-normal
これは Ncurses においてスタティックな C ライブラリのビルドおよびインストールを行わないようにします。
--without-debug
これは Ncurses においてデバッグライブラリのビルドおよびインストールを行わないようにします。
--with-cxx-shared
これは Ncurses において共有 C++ バインディングをビルドしインストールします。 同時にスタティックな C++ バインディングのビルドおよびインストールは行わないようにします。
--without-ada
このオプションは Ncurses に対して Ada コンパイラーのサポート機能をビルドしないよう指示します。 この機能はホストシステムでは提供されているかもしれませんが、chroot 環境に入ってしまうと利用できなくなります。
--disable-stripping
本スイッチは、ホスト上の strip を、ビルドシステムが利用しないようにします。 クロスコンパイルされたプログラムに対して、ホスト上のツールを使うと、ビルド失敗の原因になります。
AWK=gawk
本スイッチはホスト上の mawk を使ったビルドが行われないようにするものです。 mawk のバージョンによっては、本パッケージのビルドに失敗するものがあるためです。
パッケージをコンパイルします。
make
パッケージをインストールします。
make DESTDIR=$LFS install
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-i $LFS/usr/include/curses.h
install オプションの意味
これから作り出すパッケージの中で、わずかですが libncurses.so を必要としているものがあります。 このシンボリックリンクは
libncursesw.so に代わるものとして生成します。
ヘッダーファイル curses.h では Ncurses
データ構造に関するさまざまな定義が行われています。
プリプロセッサーマクロ定義を変えることによって、データ構造定義を二つの異なるセットとして定義しているものがあります。
つまり 8 ビット定義は libncurses.so
と互換性があり、ワイドキャラクター定義は libncursesw.so と互換性があります。 これまで libncurses.so の代わりとして libncursesw.so
を利用してきていることから、ヘッダーファイルを修正して、libncursesw.so
と互換性を持つワイドキャラクターデータ構造を常に用いるものとします。
本パッケージの詳細は 「Ncurses の構成」を参照してください。