$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55717 - trunk/tools/build/v2/tools
From: ghost_at_[hidden]
Date: 2009-08-22 11:31:41
Author: vladimir_prus
Date: 2009-08-22 11:31:40 EDT (Sat, 22 Aug 2009)
New Revision: 55717
URL: http://svn.boost.org/trac/boost/changeset/55717
Log:
Use right name of PDB file, even if tag rule doesn't handle PDB.
Text files modified: 
   trunk/tools/build/v2/tools/msvc.jam |     9 ++++++---                               
   1 files changed, 6 insertions(+), 3 deletions(-)
Modified: trunk/tools/build/v2/tools/msvc.jam
==============================================================================
--- trunk/tools/build/v2/tools/msvc.jam	(original)
+++ trunk/tools/build/v2/tools/msvc.jam	2009-08-22 11:31:40 EDT (Sat, 22 Aug 2009)
@@ -1036,9 +1036,12 @@
             
             if [ $(property-set).get <debug-symbols> ] = "on"
             {		 
-                # PDB is 'good' target -- the basename is the same of for main target, with
-                # .pdb as extension              
-                local target = [ class.new file-target $(name) : PDB : $(project) : $(action) ] ;
+                # We force exact name on PDB. The reason is tagging -- the tag rule may
+                # reasonably special case some target types, like SHARED_LIB. The tag rule
+                # will not catch PDB, and it cannot even easily figure if PDB is paired with
+                # SHARED_LIB or EXE or something else. Because PDB always get the
+                # same name as the main target, with .pdb as extension, just force it.
+                local target = [ class.new file-target $(name-main:S=.pdb) exact : PDB : $(project) : $(action) ] ;
                 local registered-target = [ virtual-target.register $(target) ] ;
                 if $(target) != $(registered-target)
                 {