Preskočite na sadržaj

Rad s Python okvirom waf

Note

Materijali su složeni prema Waf Tutorialu. Za više detalja proučite ostalu Waf dokumentaciju i Waf Book.

Sustavi za automatizaciju izgradnje softvera (engl. build automation system) su aplikacije koje automatiziraju ili skriptiraju aktivnosti u procesu izgradnje softvera.

Primjeri takvih alata su Autotools, CMake qmake (dio Qt-a, SCons>__, Waf i drugi.

Autotools i CMake rade tako da generiraju datoteku ./configure, a ponekad i datoteku Makefile. Korisnik ih najčešće pokreće putem prethodno napravljenih skripti za kompajiranje programa, a za samu izgradnju koristi make.

Waf je okvir za konfiguraciju, prevođenje i instalaciju aplikacija. Za razliku od Autotools-a i CMake-a, Waf ne koristi make.

Da bi iskoristili Waf na svojem projektu, postupak je vrlo jednostavan:

  • $ cd myproject
  • $ curl -o waf http://ftp.waf.io/pub/release/waf-1.7.16
  • $ chmod +x waf
  • u istom direktoriju treba napravit wscript sa sadržajem

    def configure(conf):
        print("configure!")
    
    def build(bld):
        print("build!")
    

    čime smo omogućili pokretaje naredbi:

    • $ ./waf configure
    • $ ./waf build

Todo

Ovdje nedostaje zadatak.

Faze izgradnje softvera su:

  • configure
  • build
  • install
  • uninstall
  • dist -- stvara datoteku s izvornim kodom
  • clean -- čisti datoteke stvorene u build fazi

Author: Vedran Miletić