Az Autotools ( MFA [ ˈ ɔ ː t ə ʊ t u ː l z ]; angolul - "autotools") a GNU projektépítő rendszere , olyan szoftvereszközök készlete , amelyek célja a programforráskód hordozhatósága UNIX-szerű rendszerek között [ 1 ] .
A kód portolása egyik rendszerről a másikra ijesztő feladat lehet. A C fordító különböző megvalósításai jelentősen eltérhetnek: előfordulhat, hogy egyes nyelvi függvények hiányoznak, más a neve, vagy különböző könyvtárakban találhatók. A programozó megoldhatja ezt a problémát makrók és előfeldolgozó direktívák, például #if, #ifdefés mások segítségével. De ebben az esetben a programot a rendszerén lefordító felhasználónak meg kell határoznia ezeket a makrókat, ami nem is olyan egyszerű, mivel sokféle disztribúció és rendszerváltozat létezik. Az Autotools parancsok sorozata hívja meg, ./configure && make && make installés automatikusan megoldja ezeket a problémákat.
A GNU Autotools build rendszer a GNU eszközlánc része, és széles körben használják számos nyílt forráskódú projektben . A build eszközöket a GNU General Public License alatt terjesztik, és kereskedelmi projektekben használhatók [3] .
Az összeállító eszközök közé tartozik az Autoconf , az Automake és a Libtool [4] . A GNU Autotools-szal használt egyéb eszközök a make , gettext , pkg-config és természetesen a GCC és a binutils .
Az Autoconf beolvassa a fájlt configure.ac(vagy egy régebbi fájlt configure.in ), és létrehoz egy konfigurációs parancsfájlt configure. Az Autoconf az m4 makrónyelv GNU implementációját használja a fájlok feldolgozásához .
A generált konfigurációs parancsfájlt a felhasználó futtatja. .inA szkript például beolvassa a " " kiterjesztésű fájlokat Makefile.in, feldolgozza azokat (kiderítse a rendszer összes jellemzőjét), és megkapja a végeredményt - Makefile.
Az Autoconf néhány segédprogramot használ, amelyeket azért írtak, hogy megkönnyítsék a dolgokat. Az Autoheader például fejlécfájlokkal működik, az automatikus keresés megvizsgálja a kódot a tipikus hordozhatósági problémák miatt, és létrehozza a kezdeti fájlt configure.ac.
Az Automake beolvassa a fájlokat Makefile.am, és létrehoz egy hordozható Makefile, azaz hordozható fájlt Makefile.in, amely a konfigurációs parancsfájl általi feldolgozása után a makeMakefile segédprogram lesz, és azt használja .
A Libtool kezeli a statikus és dinamikus könyvtárak létrehozását különböző UNIX-szerű operációs rendszereken.
A Gnulib leegyszerűsíti a hordozható programok létrehozásának folyamatát az Autoconf és az Automake segítségével.
Az összeállítási eszközök sh szkripteket használnak a testreszabáshoz az összeállítás során.
Az összeállítási eszközök egyaránt használhatók programok létrehozására ugyanahhoz az architektúrához, amelyre épül, és keresztfordításra egy másik architektúrához. [1] . Lehetőség van arra is, hogy beállítson egy összeállítást a Windows rendszeren történő fordításhoz a MinGW használatával, vagy a Cygwin vagy az MSYS telepítésével a Windows tetejére, hogy biztosítsa a konfigurációs szkript futtatásához szükséges kompatibilitási szintet .
Az összeállítási eszközök és a beállító szkript általában lassúak, mert sokszor meghívnak különböző programokat, például a C fordítót, hogy ellenőrizze a különféle könyvtárak, fejlécfájlok és nyelvi jellemzők jelenlétét.
Szerelési automatizálási rendszerek | |
---|---|
GNU projekt | ||
---|---|---|
Sztori | ||
Licencek |
| |
Szoftver _ |
| |
Személyiségek |
| |
Egyéb témák |
|