At the moment, the rule is used only by 'stage.relink'. In that case, we
just want to relink a target to a different location. The previous
version of clone-action, however, would create file-target with the original
name but without telling that the name is exact, so file-target would add
extension appropriate to the type.
This is only a problem when we relink a type which non-empty extension,
and there are no known uses -- we need relinking only for EXEs on Unix,
and exe extension is empty. But to avoid further problem, I'm fixing this.
This problem manifested itself because on cygwin, we incorrectly tried
to do relinking. This should not do any harm, in fact, only be inefficient,
but instead we got double ".exe" on staged binaries.
[SVN r28510]
It was completely broken with absolute windows paths because /cygdrive
is valid cygwin path, but 'cygdrive' is not shown when listing the '/'
directory.
[SVN r28508]
The doxygen module is not really standalone, it requires Boost.Book XSL
stylesheets, and so needs to get their location from the boostbook module.
Previously, the doxygen.init module would get the stylesheet dir, and if
it's empty, would not declare some generators. So, if doxygen is initialized
before bookstbook, some conversion won't work.
Now, generators are defined in all cases, but when the action is run, we
check that boostbook was initialized.
[SVN r28313]
Since standalone projects can be defined by toolset modules, invoked
from site-config.jam and user-config.jam, inheriting from not yet fully read
modules is tricky. Especially when toolset module is invoked from site-config.
We can't inherit from user-config, if we did not even start to load it!
[SVN r28212]
The <tag> rule if often used in Jamfile like this: <tag>@$(__name__).rule.
The __name__ looks like Jamfile<jamfiles'directory>. When directory has
a dot, we we confused and took the part till the first dot as the
name of module.
Now, such values are processed closer to the definition point, where
we know the name of the module and don't need to guess it by looking at
the name.
Thanks to Juergen Hunold for the bug report.
[SVN r28063]
* build/generators.jam
(generator.generated-targets): Comment the desired semantics.
* util/utility.jam
(basename): Take the part till the last dot, not the first.
[SVN r27374]
tools/testing.jam
Support rules for measuring timing of build steps.
build/generators.jam
Generators with empty source lists can now consume any target type.
[SVN r27335]
builtins.{c,h}
Support for the REBUILDS rule
remove unused variable
rules.h
make.c
Support for the REBUILDS rule
make1.c
Support for the REBUILDS rule
Support for recording timing information
Restructured a case statement because it was masking a bug I
introduced.
execcmd.h
execnt.c
execunix.c
Support for recording timing information
Also removed NT-specific stuff from execunix
expand.c
Removed tabs from critical comment
Added tab-width variable setting comment for emacs.
v2/test
rebuilds.py, timedata.py, test_all.py
Tests for REBUILDS and timing.
[SVN r27334]