Waf 1.0.0 review
DownloadWaf, previously known as BKsys is a framework based on python for configuring, compiling and installing applications. It replaces
|
|
Waf, previously known as BKsys is a framework based on python for configuring, compiling and installing applications.
It replaces the whole GNU autotool chain (automake, autoconf, aclocal, autoheader, libtool, make) and depends on Python only. Waf features several demos, including KDE3, Qt4 and OCaml sample applications.
Here are some key features of "Waf":
Fast rescan for incremental builds (developer working on the project)
Coloured kernel-like output or progress bar (-v switch to display command-lines)
Object-oriented target declaration
Scripts as python modules
XML script front-end to ease the interaction with integrated development environments
A c/c++ preprocessor for computing dependencies
Self-compiling and self-optimizing actions using a syntax similar to the one in scons
Builddir set by default and with no effort, and now with build variants as well
Modular configuration scheme with customizable command-line parsing
Configuration variables are stored in an editable cache
Real libtool emulation (turned off by default)
No more hard-coded extensions like .so, .a or .exe
Tight control over the scheduler (not all links at the end, etc)
Daemon mode for background recompilation
Find source files intelligently (glob-like) to ease script maintainance (all c-like classes)
Support for objective caml and hybrid programs (kde3 program with a part written in caml)
Support for gnome programs: c and mono (gtk#)
After uncompressing the archive, run:
su -c "./waf.py install"
waf --prepare
cd demos/kde3/
waf configure; waf
What's New in This Release:
cosmetic changes, bugfixes
Waf 1.0.0 search tags