
Volodya, On Fri, Sep 11, 2009 at 4:04 PM, Vladimir Prus <vladimir@codesourcery.com> wrote:
I am just about to migrate to 1.40 and I noticed the changed naming scheme.
No change was meant on windows.
Well, I patch the libs a little (very little) and also need some cxx defines for the MS compiler to work properly so I usually build boost myself. After I did this on linux and windows with 1.40 today, I noticed that all the decorators in the filenames were gone. I saw your note in the release notes so I wasn't too surprised. So instead of let's say boost_system-vc80-mt-1_40.lib I got boost_system-mt.lib On linux I could restore some of the decorators using --layout=tagged like this: bjam --layout=tagged variant=release,debug threading=multi cxxflags="myflags" link=shared stage But on windows it's still only the short version. I suppose you have your reasons for that even though I can't see them. Anyway, I tried to adjust my build system and it's OK so far but in MSVC I see boost still trying to link against the decorated version on the filename.
So the TOOLSET and BOOST_LIB_VERSION defines are missing when I build the libs
Where are they missing?
They are defined in auto_link.hpp but missing in the filenames bjam created. So MSVC tries to autolink against nonexistant files.
Is this a bug or am I overlooking something important?
Can you specify some more details of what you doing and what errors you get?
Well, I got something along the lines of "cannot link against boost_system-vc80-mt-1_40.lib" because this filename is wrong now. It used to be right though so I thought you may have forgotten to change the autolink feature as well after changing the build system output. I 'repaired' the autolink myself by just removing the defines out of the auto_link.hpp and it works but I doubt this would work out of the box for anyone. If indeed no change was meant on windows (which would be good IMHO) then the build system gave me wrong filenames for some reason. Would that explain anything? Cheers, Stephan