targets. In that case, we used to create a long list of targets and searched
it whenever new target is registered. Now the list is for each path/name
combination, so is much shorter.
[SVN r31054]
Patch from Alexey Pakhunov.
What this patch does is allows to match absense of optional feature in
the 'flags' rule. For example:
flags msvc .SETUP <architecture>/<address-model>64 : " x86_amd64" ;
flags msvc .SETUP <architecture>ia64/<address-model> : " x86_ia64" ;
This will produce "x86_amd64" when the <address-model> is set to 64
and <architecture> is not set. Likewise, for <architecture>ia64 and unset
address model.
Without this patch, we'd have two choices:
- adding 'default' to the list of feature values. But that would
add 'architecture-default' to the target path. Ick!
- creating top-level variable .SETUP with default value, and only
matching configurations with fully-specified feature values. But
this won't handle the case above: we really need to check
which one of two features is unspecified.
[SVN r31036]
never contains moccable classes.
The trick here is that if we have:
exe a : a.cpp b.ui ;
Then we should produce b.h target that is not used by any action -- it's
only indirectly used by include in a.cpp.
So, we declared .ui -> .obj generator, so that it's invoked when
building exe, but make it return header, not .obj.
Second, the path of b.h should be added to include paths. But it was
not done, because b.h is not used anywhere and so is not included in
'subvariant' for this target -- which object is used to compute extra
incude path.
* build/virtual-target.jam
(register): Add result to .recent-targets
(recent-targets, clear-recent-targets): New functions.
* build/targets.jam
(basic-target.generate): Create subvariant from
'virtual-target.recent-targets' not just directly returned targets.
* tools/qt4.jam: Declare custom generator for ui->h conversion.
[SVN r30770]
- Add -name option to rcc invocation. This is needed to disambiguate
the name of the generated initialising function. Since qmake takes
the basename of the .qrc file I've copied this behaviour to have
consistent naming.
- Add -I option to moc invocation. I've added the include and
include/QtCore directories in order to be able to compile Qt4 with V2.
Patch from Juergen Hunold.
[SVN r30536]
There were two problems:
- 'glob' was using __name__ as the name of the project and not
project.current, so it would search in project root, and not in child
project that inherited project root rules.
- the 'import' that's overrided in project context used __name__ to
restore the value of current project
Thanks to Emil Dotchevski for the bug report.
[SVN r30507]