Linux From Scratch. Версия 6.0
Глава 6. Установка основных системных программ
6.29. Flex-2.5.31
Пакет Flex используется для генерации программ, которые могут
обрабатывать шаблоны в тексте.
Расчетное время сборки 0.1 SBU
Требуемое место на диске 3.4 MB
Flex зависит от установки: Bash, Binutils, Bison, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, M4, Make и Sed.
6.29.1. Инсталлируем Flex
Flex содержит несколько известных проблем.
Исправим их с помощью следующего патча:
patch -Np1 -i ../flex-2.5.31-debian_fixes-2.patch
GNU autotools определит, что исходный код Flex был изменен предыдущим
патчем и, соответственно, попытается обновить страницы документации.
Это не работает на многих системах, и основная страница остается неизменной,
поэтому подтверждаем, что она не была изменена:
touch doc/flex.1
Подготавливаем Flex для компиляции:
./configure --prefix=/usr
Компилируем пакет:
make
Для проверки результата вводим: make
check.
Устанавливаем пакет:
make install
Некоторые пакеты ищут библиотеку lex в
/usr/lib. Создадим необходимую ссылку:
ln -s libfl.a /usr/lib/libl.a
Некоторые программы не знают о flex и
используют его предыдущий вариант, lex.
Для поддержки таких программ создадим shell-скрипт lex
который будет вызывать flex в режиме эмуляции
lex:
cat > /usr/bin/lex << "EOF"
#!/bin/sh
# Begin /usr/bin/lex
exec /usr/bin/flex -l "$@"
# End /usr/bin/lex
EOF
chmod 755 /usr/bin/lex
6.29.2. Описание Flex
Проинсталлированные программы: flex, flex++ (ссылка на flex) и lex.
Проинсталлированные библиотеки: libfl.a.
Короткое описание
- flex
Инструмент для генерации программ, которые могут обрабатывать шаблоны
в тексте, он допускает для разнообразных программ указывать правила для
поиска по образцу, делая ненужной разработку специальных программ.
- flex++
Запрашивает версию flex,
которая используется исключительно для сканеров C++.
- lex
Скрипт, который запускает flex
в режиме эмуляции lex.
- libfl.a
Библиотека flex.
|