Autotools ( MFA [ ˈ ɔ ː t ə ʊ t u ː l z ]; från engelska - "autotools") är GNUs projektbyggsystem , en uppsättning mjukvaruverktyg utformade för att stödja portabilitet av programkällkod mellan UNIX-liknande system [ 1 ] .
Att portera kod från ett system till ett annat kan vara en skrämmande uppgift. Olika implementeringar av C-kompilatorn kan variera avsevärt: vissa språkfunktioner kan saknas, ha ett annat namn eller finnas i olika bibliotek. #ifProgrammeraren kan lösa detta problem med hjälp av till exempel makron och förprocessordirektiv #ifdefoch andra. Men i det här fallet måste användaren som kompilerar programmet på sitt system definiera alla dessa makron, vilket inte är så lätt, eftersom det finns många olika distributioner och systemvariationer. Autoverktyg anropas av en sekvens av kommandon ./configure && make && make installoch löser dessa problem automatiskt.
Byggsystemet GNU Autotools är en del av GNUs verktygskedja och används flitigt i många projekt med öppen källkod . Byggverktygen distribueras under GNU General Public License och kan användas i kommersiella projekt [3] .
Byggverktygen inkluderar Autoconf , Automake och Libtool [4] . Andra verktyg som används med GNU Autotools är make , gettext , pkg-config , och naturligtvis GCC och binutils .
Autoconf läser filen configure.ac(eller en äldre configure.in ) och genererar ett konfigurationsskript som heter configure. Autoconf använder GNU-implementeringen av makrospråket m4 för att bearbeta filer .
Det genererade konfigurationsskriptet körs av användaren. Skriptet läser filer med filtillägget " " .intill exempel Makefile.in, bearbetar dem (ta reda på alla funktioner i systemet) och får det slutliga resultatet - Makefile.
Autoconf använder några hjälpprogram som är skrivna för att göra saker enklare. Till exempel arbetar Autoheader med header-filer , autoscan undersöker koden för typiska portabilitetsproblem och skapar initialen configure.ac.
Automake läser filerna Makefile.amoch skapar en bärbar Makefile, det vill säga Makefile.in, som sedan, efter att ha bearbetats av konfigurationsskriptet, blir och används av makeMakefile -verktyget .
Libtool hanterar skapandet av statiska och dynamiska bibliotek på olika UNIX-liknande operativsystem.
Gnulib förenklar processen att skapa bärbara program med Autoconf och Automake.
Byggverktygen använder sh- skript för anpassning vid byggtid.
Byggverktygen kan användas både för att skapa program för samma arkitektur som byggs på, och för att korskompilera för en annan arkitektur. [1] . Det är också möjligt att ställa in en build för att kompilera på Windows med MinGW eller genom att installera Cygwin eller MSYS ovanpå Windows för att ge den nödvändiga kompatibilitetsnivån för att köra konfigurationsskriptet.
Byggverktygen och installationsskriptet tenderar att vara långsamma eftersom de anropar olika program, såsom C-kompilatorn, många gånger för att kontrollera förekomsten av olika bibliotek, rubrikfiler och språkfunktioner.
Monteringsautomationssystem | |
---|---|
GNU-projekt | ||
---|---|---|
Berättelse | ||
Licenser |
| |
Programvara _ |
| |
Personligheter |
| |
Andra ämnen |
|