Autotools ( MFA [ ˈ ɔ ː t ə ʊ t u ː l z ]; z angličtiny - „autotools“) je systém pro sestavení projektu GNU , sada softwarových nástrojů navržených pro podporu přenositelnosti zdrojového kódu programu mezi systémy podobnými UNIXu [ 1] .
Přenesení kódu z jednoho systému do druhého může být skličující úkol. Různé implementace kompilátoru C se mohou výrazně lišit: některé jazykové funkce mohou chybět, mít jiný název nebo být v různých knihovnách. Programátor může tento problém vyřešit například pomocí maker a direktiv preprocesoru #ifa #ifdefdalších. Ale v tomto případě uživatel, který program kompiluje na svém systému, bude muset definovat všechna tato makra, což není tak snadné, protože existuje mnoho různých distribucí a variací systému. Autotools jsou volány posloupností příkazů ./configure && make && make installa řeší tyto problémy automaticky.
GNU Autotools build systém je součástí GNU toolchain a je široce používán v mnoha open source projektech . Nástroje pro sestavení jsou distribuovány pod GNU General Public License a mohou být použity v komerčních projektech [3] .
Nástroje pro sestavení zahrnují Autoconf , Automake a Libtool [4] . Další nástroje používané s GNU Autotools jsou make , gettext , pkg-config a samozřejmě GCC a binutils .
Autoconf načte soubor configure.ac(nebo starší configure.in ) a vygeneruje konfigurační skript s názvem configure. Autoconf používá ke zpracování souborů implementaci GNU jazyka maker m4 .
Vygenerovaný konfigurační skript spouští uživatel. .inSkript například načte soubory s příponou " " Makefile.in, zpracuje je (zjistí všechny vlastnosti systému) a získá konečný výsledek - Makefile.
Autoconf používá některé pomocné programy, které jsou napsány pro usnadnění práce. Například Autoheader pracuje se soubory záhlaví , autoscan prozkoumá kód pro typické problémy s přenositelností a vytvoří počáteční soubor configure.ac.
Automake načte soubory Makefile.ama vytvoří portable Makefile, tj. Makefile.in, který se poté po zpracování konfiguračním skriptem stane a je používán Makefileobslužným programem make .
Libtool spravuje vytváření statických a dynamických knihoven na různých operačních systémech podobných UNIXu .
Gnulib zjednodušuje proces vytváření přenosných programů pomocí Autoconf a Automake.
Nástroje pro sestavení používají skripty sh pro přizpůsobení v době sestavování.
Nástroje pro sestavení lze použít jak k vytváření programů pro stejnou architekturu, na které se staví, tak ke křížové kompilaci pro jinou architekturu. [1] . Je také možné nastavit sestavení pro kompilaci ve Windows pomocí MinGW nebo instalací Cygwin nebo MSYS nad Windows, aby byla zajištěna požadovaná úroveň kompatibility pro spuštění konfiguračního skriptu.
Nástroje pro sestavení a instalační skript bývají pomalé, protože často volají různé programy, jako je kompilátor C, aby zkontrolovaly přítomnost různých knihoven, hlavičkových souborů a jazykových funkcí.
Montážní automatizační systémy | |
---|---|
Projekt GNU | ||
---|---|---|
Příběh | ||
licence |
| |
Software _ |
| |
Osobnosti |
| |
Další témata |
|