added: support for RECURSIVE, as well as for included and excluded files
changed: detection of doxygen is non-mandatory by default. If it is
desired that doxygen is mandatory, user is expected to check
bld|conf.env.DOXYGEN and bld|conf.env.TAR variables
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
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>
- Assuming that an exception could have been raised, the worst thing
we do is presenting the wrong exception to the user.
- Actually, the exception is more precise now:
- if we want to load('pouet'), the error will always be::
``No module named pouet``.
- if we want to load('pouet.coin') the error will always be::
``No module named pouet.coin``
Before it could be either::
``No module named pouet.coin``
or::
``No module named coin``
subprocess.Popen() will give a proper error message if the first
argument is an absolute path, but if it's a bare command name, it will
complain with a "Permission Denied" error.
This change provides a clear error every time.
If speed is proven to have an impact on this code, we could add
the "Logs.verbose > 0" precondition or add memoization.
Ability to use a waflib.zip file with waf-zip entry point
Changes:
- created waf-zip entry point
- waflib.zip can created by doing::
zip waflib -9 waflib/*.py waflib/Tools/*.py waflib/extras/*.py
- the wscript also builds waflib.zip
- allow selecting which core tools to use (saves 31k for C/C++ only)
By default, everything is included.
- altered module loading functions to allow loading modules from a zip file.
This tool operates similarly to 'gccdeps' by offloading the
flattening of the #include dependency tree to the compiler.
Change-Id: I5e58e8ca838f3d3dc65efa6ce4abf161110632ea
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
A list was changed during iteration, causing an unnecessary dependency to be
kept, and triggering subsequent rebuilds. This only occured with multiple .moc included.