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.

 

Thanks,

 

Chris




CONFIDENTIALITY NOTICE: This email and any attachments are for the sole use of the intended recipient(s) and contain information that may be confidential and/or legally privileged. If you have received this email in error, please notify the sender by reply email and delete the message. Any disclosure, copying, distribution or use of this communication (including attachments) by someone other than the intended recipient is prohibited. Thank you.