Linux From Scratch
Шрифт:
–enable-languages=c: Указание собрать компилятор Си. Компилятор C++ будет собран позже, в Главе 6, когда мы будем перекомпилировать GCC. Для сборки других компиляторов, опустите параметр –enable-languages.
echo «#define HAVE_GAS_HIDDEN 1»: Определим директиву ассемблера .hidden, для того чтобы впоследствии скомпилировать Glibc правильно.
make BOOT_LDFLAGS=-static: Это эквивалент опции LDFLAGS=-static, который мы задаем для использования статических ссылок при компиляции.
ln -s gcc $LFS/static/bin/cc:
Содержимое GCC
Последняя проверка: версия 3.1.
Программы
c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0, g++, gcc, gccbug, gcov и tradcpp0
Описания
cc, cc1, cc1plus, gcc
Компилятор C. Компилятор переводит код из текстового формата в формат, понятный компьютеру. После того, как исходный код скомпилирован в объектный файл, линкер создаст исполняемый файл из одного или нескольких объектных.
c++, cc1plus, g++
Компилятор C++, эквивалент cc, gcc etc.
c++filt
Язык C++ позволяет осуществлять перезагрузку функций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена функций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.
collect2
collect2 помогает в компиляции конструкторов.
cpp, cpp0
cpp осуществляет препроцессинг исходных файлов, например включает в них содержимое заголовочных файлов. Просто добавьте в ваш исходный файл строку вроде #include <filename>. Препроцессор вставит содержимое заголовочного файла.
gccbug
gccbug – скрипт, облегчающий создание сообщений об ошибках.
gcov
gcov анализирует программы, чтобы помочь в создании более эффективного и быстрого кода путем его оптимизации.
tradcpp0
На данный момент описания нет.
Библиотеки
libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], libsupc++.a
Описания
libgcc, libgcc_eh, libgcc_s
Файлы поддержки gcc времени исполнения.
libiberty
libiberty – коллекция подпрограмм, используемых различными программами GNU, включая getopt, obstack, strerror, strtol и strtoul.
libstdc++
libstdc++ – библиотека C++. Она используется программами на C++ и содержит часто используемые функции. Таким образом, программисту не нужно писать стандартные функции (например, вывод строки текста на экран) с нуля при каждом создании программы.
libsupc++
libsupc++ предоставляет поддержку языка программирования C++. Помимо прочего, libsupc++ содержит функции для обработки исключений.
Зависимости GCC
Последняя проверка: версия 2.95.3.
Bash: sh Binutils: ar, as, ld, nm, ranlib Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, touch Find: find Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Patch: patch Sed: sed Sh-utils: basename, dirname, echo, expr, hostname, sleep, true, uname Tar: tar Texinfo: install-info, makeinfo Textutils: cat, tail, tr
Установка Grep-2.5
Estimated build time: 0.26 SBU Estimated required disk space: 5 MB
Установка Grep
Установка Grep
LDFLAGS=-static CPPFLAGS=-Dre_max_failures=re_max_failures2 \ ./configure –prefix=$LFS/static –disable-nls \ –disable-perl-regexp && make && make install
Содержимое Grep
Последняя проверка: версия 2.5.
Программы
egrep (ссылка на grep), fgrep (ссылка на grep) и grep
Описания
egrep
egrep выводит строки файлов, совпадающие с образцом, заданном в виде расширенного регулярного выражения.
fgrep
fgrep выводит строки файлов, соответствующие списку заданных строк.
grep
grep выводит строки файлов, соответствующие регулярному выражению.
Зависимости Grep
Последняя проверка: версия 2.4.2.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chmod, install, ls, mkdir, mv, rm Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info, makeinfo Textutils: cat, tr
Установка Gzip-1.2.4a
Приблизительное время компиляции: 0.04 SBU Необходимое дисковое пространство: 2 MB
Инсталляция Gzip
Для инсталляции Gzip выполните:
./configure –prefix=$LFS/static && make LDFLAGS=-static && make install
Содержимое Gzip
Последняя проверка: версия 1.2.4a.
Программы
gunzip (ссылка на gzip), gzexe, gzip, uncompress (ссылка на gunzip), zcat (ссылка на gzip), zcmp, zdiff, zforce, zgrep, zmore и znew
Описание
gunzip, uncompress
gunzip и uncompress распаковывают файлы, сжатые gzip.
gzexe
gzexe позволяет сжать исполняемые файлы и автоматически распаковывать их при запуске (уменьшается производительность ).
gzip
gzip уменьшает размер указанных файлов используя код Lempel-Ziv (LZ77).
zcat
zcat распаковывает и выводит на стандартный вывод либо файлы из заданного списка, либо файл со стандартного ввода.
zcmp
zcmp применяет cmp к сжатым файлам.