nesciens / waf

The Waf build system

Home Page:https://waf.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Waf is a Python-based framework for configuring, compiling and installing applications. Here are perhaps the most important features of Waf:

  • Automatic build order: the build order is computed from input and output files, among others
  • Automatic dependencies: tasks to execute are detected by hashing files and commands
  • Performance: tasks are executed in parallel automatically, the startup time is meant to be fast (separation between configuration and build)
  • Flexibility: new commands and tasks can be added very easily through subclassing, bottlenecks for specific builds can be eliminated through dynamic method replacement
  • Extensibility: though many programming languages and compilers are already supported by default, many others are available as extensions
  • IDE support: Eclipse, Visual Studio and Xcode project generators (waflib/extras/)
  • Documentation: the application is based on a robust model documented in The Waf Book and in the API docs
  • Python compatibility: cPython 2.5 to 3.4, Jython 2.5, IronPython, and Pypy

Waf is used in particular by innovative companies such as Avalanche Studios and by open-source projects such as the Samba project. Learn more about Waf by reading The Waf Book.

For researchers and build system writers, Waf also provides a framework for creating custom build systems and package distribution systems.

Download the project from our page on waf.io or from the mirror on freehackers.org.

About

The Waf build system

https://waf.io/


Languages

Language:Python 90.3%Language:C++ 4.7%Language:Java 1.1%Language:C 1.0%Language:Go 0.9%Language:C# 0.4%Language:Cuda 0.3%Language:TeX 0.2%Language:Batchfile 0.2%Language:Fortran 0.2%Language:Vala 0.1%Language:D 0.1%Language:Shell 0.1%Language:Perl 0.1%Language:Yacc 0.1%Language:VHDL 0.0%Language:R 0.0%Language:Assembly 0.0%Language:SAS 0.0%Language:OCaml 0.0%Language:Protocol Buffer 0.0%Language:Lex 0.0%Language:Makefile 0.0%Language:Objective-C 0.0%Language:XS 0.0%Language:F# 0.0%Language:Ruby 0.0%Language:Erlang 0.0%Language:Scala 0.0%Language:Boo 0.0%Language:JavaScript 0.0%Language:Lua 0.0%