From f144b75d02fe009279da77ddd6cae43ea2e36336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jurko=20Gospodneti=C4=87?= Date: Mon, 13 Aug 2012 05:11:50 +0000 Subject: [PATCH] Updated Boost Build documentation to note that the virtual-target.register rule should be called for each created virtual-target instance and not only to remove duplicates when there is a chance of creating multiple matching virtual targets. Without this call, Boost Build fails to track which virtual targets get created for each metatarget. [SVN r79996] --- doc/src/extending.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/extending.xml b/doc/src/extending.xml index 625649100..f5665b45a 100644 --- a/doc/src/extending.xml +++ b/doc/src/extending.xml @@ -181,8 +181,9 @@ local t = [ new file-target $(name) : CPP : $(project) : $(a) ] ; once with the same properties. Returning to different instance of file-target that correspond to the same file clearly will result in problems. Therefore, whenever returning targets you should pass them via the virtual-target.register - function, that will replace targets with previously created identical ones, as - necessary.This create-then-register pattern is caused by limitations + function, besides allowing Boost Build to track which virtual targets + got created for each metatarget, this will also replace targets with previously created identical + ones, as necessary.This create-then-register pattern is caused by limitations of the Boost.Jam language. Python port is likely to never create duplicate targets. Here are a couple of examples: