
"Bertolt Mildner" <Bertolt.Mildner@gmx.at> writes:
When started form a Windows Commandline (cmd.exe) bjam tries to create existing directories and of curse failes to do so!
For example when building boost::thread:
------------------------------------ ...found 205 targets... ...updating 20 targets... MkDir1 ..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threading-multi
Ein Unterverzeichnis oder eine Datei mit dem Namen "..\..\..\bin\boost\libs\thre ad\build\boost_thread.dll\cw\\threading-multi" existiert bereits.
mkdir "..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threading- multi"
...failed MkDir1 ..\..\..\bin\boost\libs\thread\build\boost_thread.dll\cw\\threa ding-multi... ------------------------------------
(the german error-msg means "directory or file "..." allready exists")
As this causes targets to be skipped this is getting pretty annoying ...
As far as i understand the root of the problem is that the nativ "mkdir" on Win32 does not take any options to be quiet if the directory exists ("-p" on Unix).
No, that's not the problem. That rule normally does not run if the directory already exists. Did you perchance build your bjam from cygwin? A cygwin-built bjam only works under a Cygwin shell.
It looks like allyourbase.jam tries to address this in the MkDir rule, but fails to.
The directory is a target. If the build system sees that it already exists, it won't try to create it. I can't imagine why this would fail for you unless you were using a mis-constructed bjam.
Bertolt
PS: I have tried to post this in gmane.comp.lib.boost.build but i always got mail that i should join <jamboost@yahoogroups.com>!
Why does that surprise you? That is the mailing list behind that NG. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com