Subject: Re: [boost] b2 --layout=versioned compiler tag in library filename
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2019-05-01 01:23:23


AMDG

On 4/30/19 7:08 PM, Peter Dimov via Boost wrote:
> Paul Harris wrote:
>> On Tue, 30 Apr 2019 at 22:53, Mateusz Loskot via Boost <
>> boost_at_[hidden]> wrote:
>>
>> > On Tue, 30 Apr 2019 at 15:54, Paul Harris via Boost
>> > <boost_at_[hidden]> wrote:
>> > >
>> > > In the past, b2 would build libraries named like so:
>> > > libboost_atomic-gcc48-mt-d-1_60.so (note -gcc48-)
>> > >
>> > > I tried compiling Boost 1.66.0 (from boost-git) with gcc 8.3.0,
>> but > > the
>> > > library it generates is named:
>> > >
>> > > libboost_atomic-gcc-mt-d-x64-1_66.so (note the -gcc-)
>> > > No compiler version number in the tag...
>> >
>> > Possibly, it's related to the change in GCC 5+ versioning.
>> > This was accommodated in Boost.Build in October 2018
>> > https://github.com/boostorg/build/pull/349
>> > that is, in Boost 1.69
>> > (boostorg/build should use milestones for issues, IMO)
>> >
>> >
>> Excellent, thanks for that reference.
>
> I don't think it's possible for a change in 1.69 to affect how 1.66 is
> built. Something else must be wrong.
>

The order events was something like this:

original: Boost.Build originally uses gcc48, for example.
- gcc -dumpversion only returns the major version. This
  no longer matches the regex in common.jam, causing the
  version in the library name to be blank.
- Boost.Build is adjusted to use -dumpfullversion instead,
  restoring the original library naming.
- Boost.Build is adjusted to include only the major version
  in the library name (the change Mateusz mentioned).

In Christ,
Steven Watanabe