Course Code: autotools1
Duration: 14 hours
Prerequisites:

Brak

Overview:

Autotools (GNU build system) – zestaw narzędzi programistycznych, które pomagają w kompilowaniu kodu źródłowego i budowaniu przenośnych pakietów oprogramowania dla wielu systemów operacyjnych z rodziny UNIX.

Tworzenie przenośnego oprogramowania może sprawiać wiele trudności: kompilatory języka C różnią się na poszczególnych systemach, może brakować pewnych funkcji w bibliotekach programistycznych, pliki nagłówkowe mogą mieć różne nazwy. Jednym ze sposobów rozwiązania tego problemu jest pisanie kodu źródłowego z instrukcjami blokowymi wybieranymi przez dyrektywy preprocesora (#ifdef), jednak różnorodność narzędzi do kompilacji sprawia, że to podejście szybko staje się nieporęczne. Narzędzia autotools zostały zaprojektowane aby ułatwić rozwiązanie tej kwestii.

Szkolenie ma na celu przybliżenie uczestnikom narzędzi z rodziny Autotools takich jak:  Autoconf, Automake i Libtool, ze szczególnym uwzględnieniem ich praktycznego zastosowania.

Course Outline:

1. Modularyzacja aplikacji - aspekt techniczny

  • Biblioteki statyczne i dynamiczne
  • Mechanizm konsolidacji oraz ładowania dynamicznego
  • Interpreter ładowania bibliotek
  • Mechanizmy diagnostyczne i raportujące
  • Ładowanie dynamiczne modułów

2. Plik ELF

  • ABI dla języka C i C++
  • Zadania i sposób realizacji
  • Interpretacja informacji

3. Zależności biblioteczne i zarządzanie nimi

  • Przenoszenie aplikacji pomiędzy systemami
  • Problemy zależności pomiędzy wywołaniami bibliotecznymi

4. Narzędzia automatyzacji budowy aplikacji

  • Szybki przegląd narzędzi budowy aplikacji w języku C/C++

5.Automatyzacja budowania aplikacji - make

  • Konfiguracja i uruchamianie make
  • Cele make
  • Elastyczna konfiguracja Makefile - zależności, makra i suffixy

6.Minimalny projekt Autotools

  • Zależności pomiędzy narzędziami i konfiguracja wstępna
  • Pliki wejściowe i generowane
  • Dystrybucja generowanych plików
  • Dokumentacja projektu

7.Automake

  • Własny configure.in
  • Reguły Automake
  • Domyślne wybory
  • Programy i biblioteki
  • Katalogi i zagnieżdżenia
  • Testowanie

8.Narzędzia Libtool

  • Konsolidacja i uruchomienie
  • Instalacja i deinstalacja bibliotek
  • Instalacja programów wykonywalnych
  • Integracja Libtool z projektem Autotools
  • Dodawanie testów

9.Dystrybucja źródeł niezależnych od systemu docelowego

  • Wymagania dystrybucji oprogramowania
  • Reguły distcheck

10.Narzędzie libltdl

  • Konfiguracja libltdl
  • Ładowanie dlpreopen

11.Język makr M4

  • Przegląd możliwości M4
  • Użycie M4 w Autotools
  • Tworzenie makr w M4

12.Migracja do Autotools

  • Dwa podejścia do migracji
  • Przykład: brutalne podejście
  • Przykład: Automatyzacja
Sites Published:

Polska - Automatyzacja budowy aplikacji z użyciem Autotools