Autoconf | |
---|---|
Az Autoconf 2.68 beállítja a Wine -t a build-hez | |
Típusú | szerszámszoftver |
Fejlesztő | GNU projekt |
Beírva | perl , m4 |
Operációs rendszer | többplatformos szoftver |
Első kiadás | 1991 |
legújabb verzió |
|
Engedély | GPL |
Weboldal | gnu.org/software/autocon… |
Médiafájlok a Wikimedia Commons oldalon |
Az Autoconf egy segédprogram konfigurációs szkriptek ( configure) létrehozására, amelyek automatikusan beállítják a forráscsomagokat Unix-szerű operációs rendszereken való futtatásra .
Az Autoconf által generált konfigurációs parancsfájlok futtatásához nincs szükség felhasználói beavatkozásra; általában nem is követelik meg, hogy a rendszertípust meghatározó argumentumokat adják meg. Ehelyett az ilyen szkriptek minden olyan szolgáltatás meglétét tesztelik, amelyre egy adott csomagnak szüksége lehet. Az egyes ellenőrzések végrehajtása során a szkriptek jelentést nyomtatnak az elvégzett ellenőrzésekről. Így ezek a szkriptek jól működnek olyan rendszereken, amelyek a legtöbb UNIX változat hibridjei vagy speciális változatai. Így nincs szükség olyan fájlok karbantartására, amelyek felsorolják a UNIX egyes változatainak összes verziójának összes funkcióját.
Minden egyes Autoconf által használt szoftvercsomaghoz egy konfigurációs parancsfájl generálódik a sablonból, amely felsorolja azokat a rendszerfunkciókat, amelyekre a csomagnak szüksége van vagy használható. Miután megírták a szolgáltatást felismerő és kezelő shell-kódot, az Autoconf lehetővé teszi, hogy a kódot minden olyan csomagban használják, amely használhatja (vagy szüksége van rá) a szolgáltatásra. Ha később valamilyen okból meg kell változtatnia a shell kódot, akkor a módosításokat csak egy helyen kell végrehajtani; minden beállítási parancsfájl automatikusan újra létrehozható, hogy tükrözze a kódváltozásokat.
A hordozható szoftverek létrehozásához számos különböző feladat kapcsolódik, amelyeket az Autoconf jelenleg nem tud megoldani. Ezek közé tartozik a Makefile -ok automatikus generálása az összes szükséges szabványos céllal, valamint a szabványos könyvtári funkciók és fejlécfájlok helyettesítése olyan rendszereken, amelyekben hiányoznak ezek a funkciók vagy fájlok. Az ebbe az irányba mutató munka azonban folyamatban van, és ezek a funkciók megjelenhetnek a jövőbeni verziókban.
Az Autoconf bizonyos korlátozásokat ír elő a C#ifdef program direktíváiban használt makrónevekre .
Az Autoconf programozási parancsfájl használatához a GNU m4 program szükséges . Kihasználja azokat a funkciókat, amelyek nem találhatók meg az m4 program egyes UNIX-os verzióiban. Ezenkívül meghaladja az m4 egyes verzióinak belső korlátait, beleértve a GNU m4 1.0-s verzióját is. A GNU m4 program 1.1-es (vagy újabb) verzióját kell használnia. Az 1.3-as és újabb verziók sokkal gyorsabban futnak, mint az 1.1-es vagy az 1.2-es verziók.
A CFLAGS és a CXXFLAGS vagy környezeti változónevek , vagy Makefile változók , amelyek úgy vannak beállítva , hogy további beállításokat adjanak meg , amelyeket a fordító a szoftver létrehozása során továbbít .
Ezeket a változókat általában a Makefile-ban adják meg, majd a fordító meghívásakor segédeszközként szolgálnak a parancssorban. Ha nincsenek megadva a Makefile-ban, akkor a rendszer kiolvassa őket a környezetből, ha ott meg vannak adva. Az olyan eszközök, mint az autoconf segédprogram ./configure konfigurációs parancsfájlja, általában ezeket veszik a környezetből, és beírják az általuk generált Makefile-okba.
A CFLAGS segítségével opciókat adhatunk hozzá a C fordítóhoz , míg a CXXFLAGS -t a C++ fordító meghívásakor kell használni . Hasonlóképpen, a CPPFLAGS változó a C előfeldolgozónak átadott paraméterekhez van megadva .
Ezeket a változókat főleg a fordítói beállítások megadására használják optimalizálás vagy hibakeresés során, például: -g, -O2vagy (ami a GCC -re jellemző ) -march=athlon.
Egy segédprogram, amely interfészt biztosít a telepített szoftverkönyvtárak információinak lekéréséhez, beleértve a C vagy C++ fordító opcióit, a linker opciókat és a csomag verzióját [2] . Az információ a csomagkezelő által létrehozott .pc fájlból származik (pl . RPM vagy deb ). Eredetileg James Henstridge írta, majd Havok Pennington írta át .