Waf | |
---|---|
Típusú | szerszámszoftver |
Fejlesztő | Nagy Tamás |
Beírva | Piton |
Operációs rendszer | Windows , POSIX |
legújabb verzió | 2.0.20 ( 2019. november 24. ) |
Engedély | BSD |
Weboldal | waf.io |
A Waf egy Python nyelven, Python parancsfájl - konfigurációs fájlok felhasználásával írt automatizálási rendszer. A főszerző Thomas Nagy .
Beépített C , C++ , D , Java , Fortran , Qt támogatással rendelkezik ; TeX és LaTeX dokumentumok generálását biztosítja . Más nyelvek vagy fájlformátumok támogatása egyéni kiterjesztések ( eszközök ) segítségével valósítható meg . C és C++ esetén a függőségek automatikusan elemzésre kerülnek, és a make-vel ellentétben nem kell külön futtatnia a make depend parancsot . Beépített lehetőség is van az összeállításhoz szükséges fájlok keresésére (#include-fájlok, könyvtárak és egyéb összeállítási műtermékek).
Az MD5 ellenőrzőösszegű fájltartalom változásérzékelése támogatott , valamint a hagyományos, fájlírási idő alapján történő változásérzékelés. Lehetőség van párhuzamos összeszerelésre. A gyorsítótárazást a build -szerű ccache felgyorsítására is használják , de bármilyen fájltípus esetén.
A KDE projekt sokáig a GNU build system (Autotools) csomagot használta az építkezéshez, de ez utóbbi korlátai miatt az SCons -ra való átállás mellett döntött [1] . Ennek az átállásnak a részeként Thomas Nagy létrehozta a BKsys segédprogramot, amelynek az SCon-okon kellett volna futnia, és az Autotools-hoz hasonló funkcionalitást biztosítani. Nagy azonban később úgy döntött, hogy az SCon-ok építészeti hibái (különösen a nagy projektek teljesítményproblémái) túl nagyok és nehezen javíthatók. Ezért úgy döntött, hogy teljesen átírja az SCon-okat, és az eredmény "Waf" lett.
Egy ideig a KDE projekt a BKsys-t (és később a Waf-ot) tekintette fő build-rendszerének, de a választás a CMake mellett esett , mivel a BKsys nem oldotta meg az SCon-ok problémáit, és a Waf még alfa verzióban volt [1] . A rendszer azonban kapott némi terjesztést, különösen a Samba , Ardor , Geany , Jack Audio projektek használják .
Példa egy egyszerű wscript fájlra, amely a „hello-world.c” fájlt az elérhető C fordítók egyikével fordítja le:
top = '.' out = 'építeni' def opciók ( opt ): opt . betöltés ( 'compiler_c' ) def configure ( conf ): conf . betöltés ( 'compiler_c' ) def build ( bld ): bld . program ( forrás = 'hello-world.c' , cél = 'hello-world' , jellemzők = 'c cprogram' )A projekt felépítése a következő paranccsal indul:
waf configure build
Szerelési automatizálási rendszerek | |
---|---|