Kehittäjä | GNU-projekti |
---|---|
Ensimmäinen versio | 1991 |
Viimeinen versio | 2,71 (28. tammikuuta 2021) |
Tallettaa | git.savannah.gnu.org/cgit/autoconf.git |
Kirjoitettu | M4 |
Käyttöjärjestelmä | Unix-tyyppi |
Ympäristö | Monitasoinen |
Tyyppi | Tuotantomoottori |
Lisenssi | GPL-3.0 + ( d ) |
Dokumentointi | www.gnu.org/software/autoconf/manual/index.html |
Verkkosivusto | www.gnu.org/software/autoconf/autoconf.html |
GNU Autoconf on ohjelmisto tuottaa skriptejä kuori , joka voi automaattisesti määrittää lähdekoodi on ohjelmiston sopivaksi eri käyttöjärjestelmiä kirjoittaa Unix . Autoconfin tuottamat komentosarjat ovat itsenäisiä tästä työkalusta, kun ne suoritetaan, joten näiden komentosarjojen käyttäjillä ei tarvitse olla Autoconfia.
Autoconf muodostaa yhdessä GNU Automaken ja GNU Libtoolin kanssa GNU- kokoamisjärjestelmän .
Autoconf muuntaa GNU M4 -esiprosessorin avulla "configure.ac" (tai "configure.in" aiemmin) -tiedoston kannettavaksi shell-komentosarjaksi nimeltä configure. "Configure" skripti suoritetaan ei-interaktiivisesti ja tuottaa sopivia otsikoita ja Makefile johdettu ennalta vahvistettujen malleja. Autoconf voi ajatella olevan laadinnassa M4 ohjelma on komentotulkkiskripti.
Autoconf on samanlainen kuin Metaconfig järjestelmän käyttämän Perl . X Window Systemin käyttämä järjestelmän imake (in) liittyy häneen, mutta perustuu eri filosofiaan.
Autoconfin lähestymistapa siirrettävyyteen on testata ominaisuuksia pikemminkin kuin määrittää järjestelmässä olevan ohjelmiston versio . Esimerkiksi SunOS 4: n alla oleva C- kääntäjä ei tunnistanut tämän kielen ISO-standardia . Järjestelmänvalvoja on kuitenkin saattanut asentaa kääntäjän, joka tunnistaa tämän. Pelkästään ohjelmistoversioihin perustuva lähestymistapa ei olisi käyttänyt tätä ISO-kääntäjää, mutta ominaisuusperusteinen lähestymistapa voisi havaita, että määritetty kääntäjä noudattaa ISO-standardia. Tämän lähestymistavan perustelut ovat seuraavat:
Autoconf arkisto on kokoelma yli 400 makroja varten autoconf jakautuivat itsenäisenä sivuprojekti.