Brak
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.
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