Waf

Waf

Infobox_Software
name = Waf


caption =
developer =
latest_release_version = 1.4.3
latest_release_date = June 22, 2008
operating_system = Windows, POSIX
genre = Software development tools
license = New BSD License
website = [http://code.google.com/p/waf/ http://code.google.com/p/waf/]

Waf, the successor to BKsys, is a software build system, that is, a program to assist in automatic compilation of other programs. Waf is inspired by and descended from SCons, though it is a separate project, and their build scripts are incompatible.

Features

Waf aims at being portable and lightweight, yet offering programmers a real programming language, similarly to SCons. Therefore it depends on Python (which is the only external dependency of Waf). Compared to "configure" scripts generated by GNU Autotools, it adds a prerequisite that, unlike sh, might not be present on every Unix-like system; however, being written in Python, it's much more portable to non-Unix systems, and significantly easier to understand than the esoteric mixture of shell and M4 code and custom languages built on top of them, as utilised by Autotools.

Some of the advertised features in Waf 1.2 include:
* Coloured output and progress bar display
* Scripts are python modules
* XML script front-end and a dedicated, easy-to-parse "IDE output" mode to ease the interaction with integrated development environments
* A C/C++ preprocessor for computing dependencies
* Modular configuration scheme with customizable command-line parsing
* Daemon mode for background recompilation
* Find source files intelligently (glob()-like) to ease script maintenance
* Support for OCaml and hybrid programs, support for GNOME programs
* No installation required: the waf script (only 95 KB) can be distributed and used directly
* Support for standard targets: configure, build, clean, distclean, install, and uninstall
* Support for global object cache to avoid unnecessary recompilations
* Support for unit tests run on programs at the end of builds
* Support for the D programming language (both gdc and dmd are supported)

History

Waf was originally created by Thomas Nagy as BKsys, when the KDE project decided to move to SCons as their primary build system, instead of previously used Autotools.

BKsys was designed to sit on top of SCons, providing higher-level functionality similar to that of Autotools. When Thomas Nagy decided that SCons' fundamental issues (most notably the bad scalability) were too complex and time-consuming to fix, he started a complete rewrite named "Waf".

Waf was subject to some attention when the KDE project decided to use BKsys (and later Waf) as its primary build system, although later, that decision was revoked in favor of CMake because BKsys could not solve the SCons problems, and Waf was still in a very early pre-alpha stage at this point. [http://lwn.net/Articles/188693/]

Projects known to be using Waf

*XMMS2
*KsirK
*Semantik (previously Kdissert)
*NS3, the successor to the NS2 network simulator
*ReSP, a virtual platform for the design of hardware architectures
* JACK2 Jack Audio Connection Kit

External links

* [http://code.google.com/p/waf/ Waf's homepage] (moved from [http://freehackers.org/~tnagy/waf.html Waf's old homepage] )
* [http://wiki.xmms2.xmms.se/index.php/Waf XMMS2 page concerning Waf]
* [http://hughsient.livejournal.com/11016.html?thread=107016 GNOME using waf?]
* [http://kde-apps.org/content/show.php/waf?content=19243 waf kde-apps page]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Waf — Desarrollador Thomas Nagy http://code.google.com/p/waf/ Información general Última versión estable 1.5.18 6 de julio de 2010 …   Wikipedia Español

  • Waf — Тип инструментальное программное обеспечение Разработчик Thomas Nagy Написана на Python[1] Операционная система Windows, POSIX Последняя версия 1.7.0 ( …   Википедия

  • waf — waf; WAF; waf·ture; waf·fle; waf·fled; waf·fler; …   English syllables

  • WAF — may mean:*Workers Autonomous Federation, one of several underground trade unions in the People s Republic of China. *Woman acceptance factor or Wife Acceptance Factor, commonly used in discussions related to HTPC and other media devices. The… …   Wikipedia

  • Waf — ☆ Waf [waf ] n. a member of the WAF …   English World dictionary

  • WAF — steht für: Kreis Warendorf, als Kfz Kennzeichen „Wana Airport“ in Pakistan, nach dem IATA Flughafencode Wittelsbacher Ausgleichsfonds Web Application Firewall, spezielle Software zum Schutz von Webanwendungen Web Application Framework Word… …   Deutsch Wikipedia

  • Waf — /waf/, n. a member of the Women in the Air Force, an auxiliary of the U.S. Air Force. [1948; W(omen in the) A(ir) F(orce)] * * * …   Universalium

  • Waf — AmE informal a woman serving in the US Air Force …   Dictionary of contemporary English

  • WAF — abbrev. Women in the Air Force …   English World dictionary

  • waf — abbr. (in the US) Women in the Air Force. * * * ˈwaf noun ( s) Usage: usually capitalized Etymology: Women in the Air Force : a member of the women s component of the United …   Useful english dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”