
Hi, I am just about to migrate to 1.40 and I noticed the changed naming scheme. So the TOOLSET and BOOST_LIB_VERSION defines are missing when I build the libs (even when using layout=tagged in bjam) but the autoconfig, specifically auto_link.hpp, still includes this in MSVC's autolink feature. So as far as I can see autolink will not work in Windows, right? At least, it doesn't for me unless I change auto_link.hpp line 312 so skip this. Is this a bug or am I overlooking something important? Cheers, Stephan

Stephan Menzel wrote:
Hi,
I am just about to migrate to 1.40 and I noticed the changed naming scheme.
No change was meant on windows.
So the TOOLSET and BOOST_LIB_VERSION defines are missing when I build the libs
Where are they missing?
(even when using layout=tagged in bjam) but the autoconfig, specifically auto_link.hpp, still includes this in MSVC's autolink feature. So as far as I can see autolink will not work in Windows, right? At least, it doesn't for me unless I change auto_link.hpp line 312 so skip this.
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? - Volodya

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

AMDG Stephan Menzel wrote:
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.
For msvc, you should use --layout=versioned In Christ, Steven Watanabe

Steven Watanabe wrote:
AMDG
Stephan Menzel wrote:
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.
For msvc, you should use --layout=versioned
And it's the default on windows. - Volodya
participants (3)
-
Stephan Menzel
-
Steven Watanabe
-
Vladimir Prus