Hello,

 

The following line in unix.jam’s generated-targets() rule (line 64 in master):

 

sources = $(sources2) [ unix.order-libraries $(libraries) ] ;

 

causes the link order to change when building with the gcc toolset.  However when building with msvc, the link order is maintained based on the order of the sources as they are declared in the targets used.

 

Before I provide a working example of this showing the disparity between the two toolsets, I wanted to first understand the reason this is done. Especially seeing that different toolsets could potentially produce different results.

 

BTW, this line actually use to work (or maybe just worked better in our case) as expected before Steve reverted his ordering changes (30d35ce80db419b54f70c1b9937104994d184871 and integrated in 2e764707e03d25b6928501c25a717e195c0a8851)

 

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 Garmin confidential and/or Garmin 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.