2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-25 11:19:52 +01:00
This commit is contained in:
Thomas Nagy 2016-03-13 09:17:09 +01:00
parent 83c237ffe0
commit 381337357e
No known key found for this signature in database
GPG Key ID: 67A565EDFDF90E64
3 changed files with 45 additions and 45 deletions

43
README
View File

@ -1,43 +0,0 @@
WHAT YOU WILL FIND HERE
-----------------------
Waf 1.8 - Recently moved to https://github.com/waf-project/waf
For the manual: https://waf.io/book/
For the API documentation: https://waf.io/apidocs/
For the examples: see the folder demos/ and the folder playground/
HOW TO CREATE THE WAF SCRIPT
----------------------------
Python 2.6, 2.7, 3.0, 3.1, 3.2, 3.3 or 3.4 is required to generate the waf script. The waf script is then the version that can run on Python 2.5.
Just execute:
$ ./waf-light configure build
Or, if you have several python versions installed:
$ python3 ./waf-light configure build
The Waf tools in waflib/extras are not added to the waf script. To add
some of them, use the --tools switch:
$ ./waf-light --tools=compat15,swig
To add a tool that does not exist in the folder extras, pass an absolute path, and
to customize the initialization, pass the parameter 'prelude'. Here is for example
how to create a waf file using the compat15 module:
$ ./waf-light --tools=compat15 --prelude=$'\tfrom waflib.extras import compat15\n'
Any kind of initialization is possible, though one may prefer the build system kit (folder build_system_kit):
$ ./waf-light --make-waf --tools=compat15,/comp/waf/aba.py --prelude=$'\tfrom waflib.extras import compat15\n\tprint("ok")'
Or if you do not want to regenerate the waf file all the time, set the WAFDIR environment variable to the directory containing "waflib".
HOW TO TRY THE EXAMPLES
-----------------------
Try this:
$ cp waf demos/c/
$ cd demos/c/
$ ./waf configure build
---------------------------
Thomas Nagy, 2014-2015 (ita)

View File

@ -1,3 +1,5 @@
## ABOUT WAF
Waf is a Python-based framework for configuring, compiling and installing applications. Here are perhaps the most important features of Waf: 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 build order*: the build order is computed from input and output files, among others
@ -13,4 +15,46 @@ Waf is used in particular by innovative companies such as [Avalanche Studios](ht
For researchers and build system writers, Waf also provides a framework for creating [custom build systems](https://github.com/waf-project/waf/tree/master/build_system_kit) and [package distribution systems](https://github.com/waf-project/waf/tree/master/playground/distnet/README.rst). For researchers and build system writers, Waf also provides a framework for creating [custom build systems](https://github.com/waf-project/waf/tree/master/build_system_kit) and [package distribution systems](https://github.com/waf-project/waf/tree/master/playground/distnet/README.rst).
Download the project from our page on [waf.io](https://waf.io/) or from the mirror on [freehackers.org](http://www.freehackers.org/~tnagy/release/). Download the project from our page on [waf.io](https://waf.io/) or from the mirror on [freehackers.org](http://www.freehackers.org/~tnagy/release/), consult the [manual](https://waf.io/book/), the [API documentation](https://waf.io/apidocs/) and the [showcases](https://github.com/waf-project/waf/tree/master/demos) and [experiments](https://github.com/waf-project/waf/tree/master/playground).
## HOW TO CREATE THE WAF SCRIPT
Python >= 2.6 3.4 is required to generate the waf script, and the resulting file can then run on Python 2.5.
Just execute:
```sh
$ ./waf-light configure build
```
Or, if you have several python versions installed:
```sh
$ python3 ./waf-light configure build
```
The Waf tools in waflib/extras are not added to the waf script. To add
some of them, use the --tools switch:
```sh
$ ./waf-light --tools=compat15,swig
```
To add a tool that does not exist in the folder extras, pass an absolute path, and
to customize the initialization, pass the parameter 'prelude'. Here is for example
how to create a waf file using the compat15 module:
```sh
$ ./waf-light --tools=compat15 --prelude=$'\tfrom waflib.extras import compat15\n'
```
Any kind of initialization is possible, though one may prefer the build system kit (folder build\_system\_kit):
```sh
$ ./waf-light --make-waf --tools=compat15,/comp/waf/aba.py --prelude=$'\tfrom waflib.extras import compat15\n\tprint("ok")'
```
Or, to avoid regenerating the waf file all the time, just set the `WAFDIR` environment variable to the directory containing "waflib".
## HOW TO TRY THE EXAMPLES
Try this:
```sh
cp waf demos/c/
cd demos/c/
./waf configure build
```

1
TODO
View File

@ -7,6 +7,5 @@ Waf 1.9
* Rework qt5 * Rework qt5
* Use relative paths in apply_incpaths (and absolute ones when paths cross drives) * Use relative paths in apply_incpaths (and absolute ones when paths cross drives)
* Provide a more efficient ConfigSet implementation * Provide a more efficient ConfigSet implementation
* Ensure _cache.py are valid python files
* Other issues listed on https://github.com/waf-project/waf/issues * Other issues listed on https://github.com/waf-project/waf/issues