Различия между версиями 2 и 3
Версия 2 от 2020-10-12 10:21:34
Размер: 1590
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2020-10-14 15:18:59
Размер: 2537
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 22: Строка 22:

Строка 31: Строка 29:
=== Д/З === == Д/З ==
 1.#0 Прочитать
  * (и прощёлкать) [[https://eax.me/autotools/|простую методичку]] по autotols
  * [[https://pdfslide.net/documents/autotools-a-tutorial-linux-conference-2016-gnu-autotools-a-tutorial-free-electrons.html|слайды]] по autotools
  * (заглянуть и использовать по необходимости) в [[https://autotools.io/index.html|Autotools Mythbuster]], [[https://www.lrde.epita.fr/~adl/autotools.html|Autotools Tutorial]], [[https://sourceware.org/autobook/|AutoBook]]
 1. Обработчик регулярных выражений.
  1.#0 Установить в сборочное окружение
   * ncurses, если ещё не стоит (см. [[../03_TerminalProject@HW@]])

  библиотеку [[https://www.pcre.org/current/doc/html/index.html|PCRE2]] и её сборочный компонент. В ALT это пакет `libpcre2-devel`.

Сборочные зависимости и адаптация к окружению

Что не умеет Make:

  • TODO

⇒ Makefile ­— это генерат!

Autotools

  • Генерация configure — autoconf

    • + autoheader (сводный .h-файл найденного)

  • Автоматическое конструирование Makefile.in для autoconf — automake

  • Автоматическая проверка зависимостей в .h-файлах — autoscan

  • Переопределение процедур поиска для конкретной системы — aclocal

  • Получение configureautoreconf (послелдовательность вызова других утилит)

+ libtool для сборки библиотек и компиляции с ними

Картинка по autotools:

Autoconf-automake-process.svg

А попроще?

pkg-config — Только способ запуска gcc для .h и библиотек

Расширения для других make-подобных инструментов.

CMake

  • Аналог automake
  • + Простой входной файл
  • + Разные back-end-ы (make, ninja, VC++-проект, XCode), ...
  • - Собственный модули определения библиотек
  • Поддержка out-of-tree сборки

Пример

Д/З

  1. Прочитать
  2. Обработчик регулярных выражений.
    1. Установить в сборочное окружение

      библиотеку PCRE2 и её сборочный компонент. В ALT это пакет libpcre2-devel.

LecturesCMC/LinuxApplicationDevelopment2020/05_Environmental (последним исправлял пользователь FrBrGeorge 2020-10-15 02:19:17)