On Mon 8/19/2013 12:27 PM, Chris Nogradi wrote:
> When I upgrade our boost-build version to the latest svn commit (85183), I noticed that the order of sources provided to actions has undergone a subtle change. Previously, if a target called out its sources in a particular order, that order was preserved in the final action performed. However, a change was mode which no longer preserves the order when non-file targets are used. What happens is that the following:
>
> alias B : file1.lib ;
> alias A : file2.lib ;
>
> lib test : A B ;
>
> used to produce:
>
> file bin\msvc-11.0\debug\test.dll.rsp
>
> "file2.lib"
> "file1.lib"
> msvc.link.dll bin\msvc-11.0\debug\test.dll
>
> call "C:\Program Files (x86)\microsoft visual studio 11.0\vc\vcvarsall.bat" x86 >nul
> link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /subsystem:console /out:"bin\msvc-11.0\debug\test.dll" /IMPLIB:"bin\msvc-11.0\debug\test.lib" @"bin\msvc-11.0\debug\test.dll.rsp"
> if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
>
> but now it produces:
>
> file bin\msvc-11.0\debug\test.dll.rsp
>
> "file1.lib"
> "file2.lib"
> msvc.link.dll bin\msvc-11.0\debug\test.dll
>
> call "C:\Program Files (x86)\microsoft visual studio 11.0\vc\vcvarsall.bat" x86 >nul
> link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X86 /subsystem:console /out:"bin\msvc-11.0\debug\test.dll" /IMPLIB:"bin\msvc-11.0\debug\test.lib" @"bin\msvc-11.0\debug\test.dll.rsp"
> if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
>
> I did a git bisect to find the change that introduced the problem:
>
> 9b556de4a64f574831d18df54f1e70c3da544fc1 is the first bad commit
> commit 9b556de4a64f574831d18df54f1e70c3da544fc1
> Author: steven_watanabe <steven_watanabe@b8fc166d-592f-0410-95f2-cb63ce0dd405>
> Date: Tue Apr 16 18:40:52 2013 +0000
>
> Tiny optimization of generator.convert-multiple-sources-to-consumable-types.
>
>
> git-svn-id: http://svn.boost.org/svn/boost/trunk/tools/build@83930 b8fc166d-592f-0410-95f2-cb63ce0dd405
>
> :040000 040000 6c02ac0752f150f5c2aa850a9597125bbc3b4979 0b9c031d8fce3ec3b50b62fc 269c0da4ea2311cb M v2
>
> Can this be fixed and the original behavior maintained? This problem is an issue with many of my generators that assume the order will be maintained.
>
Is this the new expected behavior for boost.build? It worries me especially that the link order is now changing and no longer guaranteed to be as specified.
Thanks,
Chris