The problem with the previous implementation is that it would iterate
over all elements in a dir even if 'pattern' had no metacharacters. First,
that was slow -- if you handed
/cygdrive/w/My Documents/boost/test/a.cpp
to it, it would crawl all the way to the top, listing each directory and
checking each file. Second, it would fail, because Cygwin is broken and
does not show 'cygdrive' is the list of directory elements of '/'.
Now we check if a pattern has metacharacters, and if not, just do
a simple 'timestamp' call.
The new glob is implemented as new 'GLOB-RECURSIVELY' builtin. I've decided
to use builtin since otherwise, we'd need 'does this name exist' builtin,
and if we need new builtin, why don't implement all globbing in core.
[SVN r29163]
* Build bjam only by default, instead of all the other misc binaries.
* Implement disabling of splitting of imported variables. Not enable yet.
* Fix 7zip archiver search to work with newest 7z version.
[SVN r28541]
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]