Waf

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.

Történelem

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

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

Jegyzetek

  1. 1 2 Miért vált a KDE projekt CMake-re ? Letöltve: 2010. december 22. Az eredetiből archiválva : 2011. május 7..

Linkek