2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-29 21:41:44 +01:00
Go to file
Alexander Afanasyev 9b75b843ae Tools/python: Extending python tool
add: show more command-line arguments to control which
     python is used and where py/pyext files should be installed.
     The new options are in addition to the existing PYTHON, PYTHONDIR,
     and PYTHONARCHDIR environment variable, providing the help messages
     to the user, so it can easily change parameters without second-guessing
     of what are they.

     Environmental parameters override command line arguments (is it right?)

updated: An extension to Configure.find_command to allow specification
         of the name for the searched command (using `msg` option). This is
         helpful when the search command is a huge list, as in the case of
         python's python-config case.

updated: Do not specify prefix for `get_python_lib`, since this way it
         can result in a wrong PYTHONDIR and PYTHONARCHDIR on certain platforms
         (e.g., OSX)

updated: Changing logic with byte-compilation of python files. Mow, files are
         compiled during the build stage, not install stage.  During the
         install stage files are simply copied to the requested
         location.

updated: If there is an error in python source code, byte-compilation
         phase will raise an exception and abort building process.

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
2013-08-17 18:15:05 +02:00
build_system_kit Initial commit 2011-09-10 11:13:51 +02:00
demos Issue 1319 Reduce the amount of paths for the unit test execution 2013-05-19 08:49:40 +02:00
docs removed the cache from the task level, it usually degrades performance and is better implemented on the compiler level 2013-05-26 10:14:49 +02:00
playground more docs 2013-05-25 15:31:30 +02:00
tests use os.remove instead of os.unlink for consistency 2013-05-18 19:51:45 +02:00
utils no more file() in python 3.3 2012-10-31 02:00:01 +01:00
waflib Tools/python: Extending python tool 2013-08-17 18:15:05 +02:00
zip waf-zip: zip-packed waf 2013-08-12 19:34:43 -04:00
.gitignore Revert the build* change to .gitignore since it's likely to have unintended side-effects on Windows. 2012-06-21 17:44:18 +02:00
ChangeLog Fix for systems without threading - Issue 1323 2013-05-30 21:18:26 +02:00
configure Initial commit 2011-09-10 11:13:51 +02:00
DEVEL docs 2012-07-22 20:06:17 +02:00
README use os.remove instead of os.unlink for consistency 2013-05-18 19:51:45 +02:00
TODO Try to re-use the same python interpreter on the build farm (AIX) 2012-07-09 11:51:43 +02:00
waf-light preparation for waf 1.7.11 2013-05-25 12:00:37 +02:00
wscript waf-zip: zip-packed waf 2013-08-12 19:34:43 -04:00

WHAT YOU WILL FIND HERE
-----------------------

Waf (1.7)

For the manual: http://docs.waf.googlecode.com/git/book_16/single.html
For the api docs: http://docs.waf.googlecode.com/git/apidocs_16/index.html
For the examples: see the folder demos/

HOW TO CREATE THE WAF SCRIPT
----------------------------

Python 2.6, 2.7, 3.0, 3.1 or 3.2 is required to generate the waf script. 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")'

HOW TO TRY THE EXAMPLES
-----------------------

Try this:
$ cp waf demos/c/
$ cd demos/c/
$ ./waf configure build

USING GIT
---------

$ git clone https://code.google.com/p/waf/
set $HOME/.netrc to read:
machine code.google.com login user@gmail.com password pass
$ git remote add code https://code.google.com/p/waf.docs/
... make a few changes
$ git push code

---------------------------
Thomas Nagy, 2013 (ita)