Index: msvc.jam
===================================================================
--- msvc.jam	(revision 2501)
+++ msvc.jam	(revision 1)
@@ -23,7 +23,6 @@
 import midl ;
 import mc ;
 import pch ;
-import xpidl ;
 
 if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ]
 {
@@ -653,10 +652,10 @@
 
 # TODO: Is it possible to combine these? Make the generators non-composing so
 # that they do not convert each source into a separate .rsp file.
-generators.register-linker msvc.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE PDB : <toolset>msvc ;
-generators.register-linker msvc.link.dll : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : SHARED_LIB IMPORT_LIB PDB : <toolset>msvc ;
+generators.register-linker msvc.link : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : EXE : <toolset>msvc ;
+generators.register-linker msvc.link.dll : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB : SHARED_LIB IMPORT_LIB : <toolset>msvc ;
 
-generators.register-archiver msvc.archive : OBJ : STATIC_LIB STATIC_LIB_PDB : <toolset>msvc ;
+generators.register-archiver msvc.archive : OBJ : STATIC_LIB : <toolset>msvc ;
 generators.register-c-compiler msvc.compile.c++ : CPP : OBJ : <toolset>msvc ;
 generators.register-c-compiler msvc.compile.c : C : OBJ : <toolset>msvc ;
 
@@ -786,10 +785,8 @@
 flags msvc.compile.c OPTIONS <cflags> : ;
 flags msvc.compile.c++ OPTIONS <cxxflags> : ;
 
-flags msvc.compile PDB_CFLAG <debug-symbols>on/<debug-store>database : /Fd ;  
+flags msvc.compile PDB_CFLAG <debug-symbols>on/<debug-store>database : /Fd ;  # not used yet
 
-# note: leaving PDB_CFLAG empty for other option combinations ensures that the pdb option is dropped from the command line 
-
 flags msvc.compile DEFINES <define> ;
 flags msvc.compile UNDEFS <undef> ;
 flags msvc.compile INCLUDES <include> ;
@@ -805,23 +802,12 @@
 {
     DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_HEADER) ] ;
     DEPENDS $(<[1]) : [ on $(<[1]) return $(PCH_FILE) ] ;
-    PDB_NAME on $(<) = $(<:S=.pdb) ;
 }
 
 
-# Notes regarding PDB generation, for when we use <debug-symbols>on/<debug-store>database
-#
-# 1. PDB_CFLAG is only set for <debug-symbols>on/<debug-store>database, ensuring that the /Fd flag is dropped if PDB_CFLAG is empty
-#
-# 2. When compiling executables's source files, PDB_NAME is set on a per-source file basis by rule compile-c-c++. 
-#    The linker will pull these into the executable's PDB
-#
-# 3. When compiling library's source files, PDB_NAME is updated to <libname>.pdb for each source file by rule archive, 
-#    as in this case the compiler must be used to create a single PDB for our library.
-
-actions compile-c-c++ bind PDB_NAME
+actions compile-c-c++
 {
-    $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)" $(PDB_CFLAG)"$(PDB_NAME)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:W)" $(CC_RSPLINE))" $(.CC.FILTER)
+    $(.CC) @"@($(<[1]:W).rsp:E="$(>[1]:W)" -Fo"$(<[1]:W)" -Yu"$(>[3]:D=)" -Fp"$(>[2]:W)" $(CC_RSPLINE))" $(.CC.FILTER)
 }
 
 
@@ -957,20 +943,7 @@
     DEPENDS $(<) : [ on $(<) return $(DEF_FILE) ] ;
 }
 
-# this rule sets up the pdb file that will be used when generating static libraries and the debug-store option is database,
-# so that the compiler puts all debug info into a single .pdb file named after the library
-rule archive ( targets + : sources * : properties * )
-{
-    PDB_NAME on $(>) = $(<:S=.pdb) ;
-}
 
-# Kutano update: Note, the TOUCH_FILE commands for archive and link ensure that a .pdb file is generated even when 
-# <debug-store> is set to object or <debug-symbols> is set to off. 
-# It will be an empty dummy file, but if it does not exist, then the build will fail because
-# we declared that a PDB file should get generated by the msvc.archive action, so boost.build expects to find it.
-# Note sure how or whether we can say that some artifacts are only generated under certain circumstances,
-# AND get them easily copied to our target destinations when we stage the build artifacts.
-
 # Declare action for creating static libraries. If library exists, remove it
 # before adding files. See
 # http://article.gmane.org/gmane.comp.lib.boost.build/4241 for rationale.
@@ -982,7 +955,6 @@
     {
         if exist "$(<[1])" DEL "$(<[1])"
         $(.LD) $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-        $(TOUCH_FILE) "$(<[2]:W)"
     }
 }
 else
@@ -991,7 +963,6 @@
     {
         $(RM) "$(<[1])"
         $(.LD) $(AROPTIONS) /out:"$(<[1])" @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST).lib" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA).lib")"
-        $(TOUCH_FILE) "$(<[2]:W)"
     }
 }
 
@@ -1015,7 +986,6 @@
         if exist "$(<[1]).manifest" (
             $(.MT) -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);1"
         )
-        $(TOUCH_FILE) "$(<[2]:W)"
     }
 
     actions link.dll bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
@@ -1025,7 +995,6 @@
         if exist "$(<[1]).manifest" (
             $(.MT) -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);2"
         )
-        $(TOUCH_FILE) "$(<[3]:W)"
     }
 }
 else
@@ -1036,7 +1005,6 @@
         if test -e "$(<[1]).manifest"; then
             $(.MT) -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);1"
         fi
-        $(TOUCH_FILE) "$(<[2]:W)"
     }
 
     actions link.dll bind DEF_FILE LIBRARIES_MENTIONED_BY_FILE
@@ -1045,7 +1013,6 @@
         if test -e "$(<[1]).manifest"; then
             $(.MT) -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);2"
         fi
-        $(TOUCH_FILE) "$(<[3]:W)"
     }
 }
 
