Flex パッケージは、字句パターンを認識するプログラムを生成するユーティリティを提供します。
C++ のスキャナ生成に含まれるバグを修正するためのパッチを適用します。 これがないと GCC-4.4.3 を用いた時にスキャナに関するコンパイルに失敗します。
patch -Np1 -i ../flex-2.5.35-gcc44-1.patch
Flex をコンパイルするための準備をします。
./configure --prefix=/usr
パッケージをコンパイルします。
make
コンパイル結果をテストするために以下を実行します。(約 0.5 SBU)
make check
パッケージをインストールします。
make install
他のパッケージの中には lex
ライブラリが /usr/lib
ディレクトリにあるものとして動作しています。
これに対応するためシンボリックリンクを作成します。
ln -sv libfl.a /usr/lib/libl.a
プログラムの中には flex
コマンドが用いられず、その前身である lex コマンドを実行しようとするものがあります。
そういったプログラムへ対応するために lex
という名のラッパースクリプトを生成します。 このスクリプトは lex
のエミュレーションモードとして flex
を実行します。
cat > /usr/bin/lex << "EOF"
#!/bin/sh
# Begin /usr/bin/lex
exec /usr/bin/flex -l "$@"
# End /usr/bin/lex
EOF
chmod -v 755 /usr/bin/lex
必要ならドキュメントファイル flex.pdf
をインストールします。
mkdir -v /usr/share/doc/flex-2.5.35 cp -v doc/flex.pdf \ /usr/share/doc/flex-2.5.35