Christoph wrote:
I built Boost 1.38 (and earlier) with the following options --buildid=xxxx --layout=system
This resulted in libs named libboost_regex-mt-xxxx.so
With Boost 1.39 the libs (they *are* built with multi-threading support) are named 'only' libboost_regex-xxxx.so (note the missing "-mt")
When linking against Boost libs I have written -lboost_regex-mt-xxxx in my code. Was that a bad idea (I mean the including -mt part)?
I can fix this by passing --buildid=mt-xxxx to get the old names, but I am curious if that change was done on purpose. (I would like to avoid having to change Boost libs' names in my makefiles with every second Boost release or so ;-)
So, to make the questions clear: 1) why was the change made?
Because --layout=system is for system integrators. If you check your /usr/lib, you'll see no other library but Boost uses -mt suffix (Qt used to, years ago, but no longer).
2) is linking against sth like -lboost_regex-mt a bad idea? If so, why?
It's bad idea only because such lib does not exist.
3) will the new naming remain?
Yes. It's planned to add one or two additional values of --layout option, one of them matching the previous behaviour of 'system'. - Volodya