Re: Changed (wrong?) behavior with make/common.copy in master

Steven Watanabe via Boost-build <[email protected]>
Newsgroups gmane.comp.lib.boost.build
Organization Providere Consulting, Inc.
Message-ID <[email protected]>
AMDG

On 06/08/2018 01:12 PM, Chambers, Matthew via Boost-build wrote:
> On master (c3dc95d3ac0219a0f774e6d382ed91d290cbde80) the behavior of my
> old make/copy targets has broken. With this simple Jamroot:
>> make copied.txt : others/others.txt : common.copy ;
>> make copied.txt : darwin/darwin.txt : common.copy : <toolset>darwin ;
>>
>> actions make_libsettings
>> {
>>     echo boo > "$(<[1])"
>> }
>> make bar.txt : : @make_libsettings : <location>bin/foo
>> <dependency>copied.txt ;
> 
> Here is the output of running b2 with -n.
>> common.mkdir bin\msvc-14.1
>>         if not exist "bin\msvc-14.1\\" mkdir "bin\msvc-14.1"
>>
>> common.copy bin\msvc-14.1\copied.txt
>> <snip>
> 
> I get different results if I comment out the second "make copied.txt"
> alternative:
>> common.copy bin\copied.txt
>> <snip>
> The result is the same regardless of whether the second "make
> copied.txt" alternative is commented out or not. My code expects the
> make targets to be copied to the full target path of the dependent
> targets. Is this change intentional?
> 

This change is intentional.  Boost.Build no longer
includes path components that do not affect the
build settings.  You can use <relevant>toolset
to force Boost.Build to include the toolset in
the path.  It will also work if you make copied.txt
depend on any compilation target.

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.