Autotools ( MFA [ ˈ ɔ ː t ə ʊ t u ː l z ]; fra engelsk - " autotools ") er GNU - projektbygningssystemet , et sæt softwareværktøjer designet til at understøtte portabilitet af programkildekode mellem UNIX-lignende systemer [ 1] .
Portering af kode fra et system til et andet kan være en skræmmende opgave. Forskellige implementeringer af C-kompileren kan variere betydeligt: nogle sprogfunktioner kan mangle, have et andet navn eller være i forskellige biblioteker. Programmøren kan løse dette problem ved at bruge makroer og præprocessor-direktiver, for eksempel #ifog #ifdefandre. Men i dette tilfælde skal brugeren, der kompilerer programmet på sit system, definere alle disse makroer, hvilket ikke er så nemt, da der er mange forskellige distributioner og systemvariationer. Autoværktøjer kaldes af en række kommandoer ./configure && make && make installog løser disse problemer automatisk.
GNU Autotools byggesystem er en del af GNU værktøjskæden og er meget brugt i mange open source projekter . Byggeværktøjerne distribueres under GNU General Public License og kan bruges i kommercielle projekter [3] .
Byggeværktøjerne inkluderer Autoconf , Automake og Libtool [4] . Andre værktøjer, der bruges med GNU Autotools, er make , gettext , pkg-config og selvfølgelig GCC og binutils .
Autoconf læser filen configure.ac(eller en ældre configure.in ) og genererer et konfigurationsscript kaldet configure. Autoconf bruger GNU-implementeringen af m4 -makrosproget til at behandle filer .
Det genererede konfigurationsscript køres af brugeren. Scriptet læser filer med filtypenavnet " " .inf.eks Makefile.in. behandler dem (finder ud af alle funktionerne i systemet) og får det endelige resultat - Makefile.
Autoconf bruger nogle hjælpeprogrammer, der er skrevet for at gøre tingene lettere. For eksempel arbejder Autoheader med header-filer , autoscan undersøger koden for typiske portabilitetsproblemer og opretter initialen configure.ac.
Automake læser filerne Makefile.amog opretter en bærbar Makefile, dvs. Makefile.in, som derefter, efter at være blevet behandlet af konfigurationsscriptet, bliver og bruges af makeMakefile -værktøjet .
Libtool styrer oprettelsen af statiske og dynamiske biblioteker på forskellige UNIX-lignende operativsystemer.
Gnulib forenkler processen med at skabe bærbare programmer ved hjælp af Autoconf og Automake.
Byggeværktøjerne bruger sh- scripts til tilpasning på byggetidspunktet.
Byggeværktøjerne kan bruges både til at skabe programmer til den samme arkitektur, som der bygges på, og til at krydskompilere til en anden arkitektur. [1] . Det er også muligt at konfigurere en build til at kompilere på Windows ved hjælp af MinGW eller ved at installere Cygwin eller MSYS oven på Windows for at give det nødvendige niveau af kompatibilitet til at køre konfigurationsscriptet.
Byggeværktøjerne og opsætningsscriptet har en tendens til at være langsomme, fordi de kalder forskellige programmer, såsom C-kompileren, mange gange for at kontrollere tilstedeværelsen af forskellige biblioteker, header-filer og sprogfunktioner.
Monteringsautomatiseringssystemer | |
---|---|
GNU projekt | ||
---|---|---|
Historie | ||
Licenser |
| |
Software _ |
| |
Personligheder |
| |
Andre emner |
|