[[oktatas:programozás:automatikus_fordítás|< Automatikus fordítás]] ====== Autoconf ====== Fejlesztés alatt * **Szerző:** Sallai András * Copyright (c) Sallai András, 2014 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Bevezetés ===== Az autoconf egy shellscript készítő rendszer, amely megkönnyíti egy forrásfájl lefordítását, és függőségek kezelését. ===== configure script készítése ===== ==== configure.ac készítése ==== A configure.ac tartalmazza az autoconf építő makrókat. Az autoscan parancs egy eszköz, amivel készíthetünk egy kezdetleges configure.ac állományt. A korábbi Autoconf verzióknál configure.in állományt kellett készíteni, de az in kiterjesztés megtévesztő volta miatt, ma már nem használandó. ==== Az Autoconf nyelv ==== A makróhívásoknál a makró neve után nem megengedett whitespace karakter használata: AC_INIT ([oops], [1.0]) # rossz AC_INIT([hello], [1.0]) # jó A paramétereket szögletes zárójelek "[" és "]" közzé tesszük, és vesszővel tagoljuk. Az argumentumban az üres helyek és az új sor karakterek nem lesznek értelmezve. Például AC_CHECK_HEADER ([stdio.h], [AC_DEFINE ([HAVE_STDIO_H], [1], [Határozza meg az 1 ha .])], [AC_MSG_ERROR ([bocs, nem tehetek semmit az Ön számára] )]) Lehet egyszerűsíteni is: AC_CHECK_HEADER ([stdio.h], [AC_DEFINE ([HAVE_STDIO_H], 1, [Határozza meg az 1 ha .])], [AC_MSG_ERROR ([bocs, nem tehetek semmit érted])] ) mivel az "1" nem tartalmaz makróhívást. ==== A confiugre.ac elkészítése az autoscan programmal ==== Az autoscan megvizsgálja a forrásfájlokat, majd készít egy configure.scan állományt. Ezt kell átnevezni configure.ac névre. Az így létrejött állományt lehet, hogy szerkeszteni kell. Ha szeretnél fejlécállományokat megadni, akkor azt a következő makróval teheted meg: AC_CONFIG_HEADERS A kettőskereszt jel "#" segítségével megjegyzéseket is tehetünk az állományba. Minden megjegyzést írjon ezen karakterek után. Az autoscan kapcsolói * --help * -h * Összefoglaló, parancssori kapcsolók nyomtatása. * --version * -V * Kiírja az autoconf verziószámát. * --verbose * -v * Bőbeszédű üzemmód. * --debug * -d * Ne távolítsa el az ideiglenes fájlokat. * --include=//könyvtár// * -i dir * Könyvtár hozzáfűzése az include útvonalhoz. * --prepend-include=//könyvtár// * -B //könyvtár// * A könyvtár nevét beteszi az include útvonalba. ==== A configure készítése autoconf programmal ==== A configure állomány elkészítéséhez futtassa az autoconf parancsot. ===== Előkészítés és kimenetifájlok ===== ==== A configure előkészítése ==== Makró: AC_INIT (csomag, verzió, [bug-report], [tarname], [url]) ==== Az autoconf viselkedése ==== AC_PREREQ (verzió) Példa AC_PREREQ([2.68])