|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r55154 - trunk/tools/build/v2/tools
From: ghost_at_[hidden]
Date: 2009-07-25 05:01:23
Author: vladimir_prus
Date: 2009-07-25 05:01:23 EDT (Sat, 25 Jul 2009)
New Revision: 55154
URL: http://svn.boost.org/trac/boost/changeset/55154
Log:
Initial PDB support and manifest file fixes.
Patch from Alexey Pakhunov.
The changes are:
- Make msvc link generators create targets that correspond to PDB
files, so that they can be installed.
- Force creation of manifest file if separate manifest is requested
- Fix the name of manifest file that boost.build expects to make
those produced by the compiler.
Text files modified:
trunk/tools/build/v2/tools/msvc.jam | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 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-07-25 05:01:23 EDT (Sat, 25 Jul 2009)
@@ -40,6 +40,8 @@
type.register MANIFEST : manifest ;
feature.feature embed-manifest : on off : incidental propagated ;
+type.register PDB : pdb ;
+
################################################################################
#
# Public rules.
@@ -259,6 +261,10 @@
toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-amd64) : /MACHINE:X64 ;
toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-i386) : /MACHINE:X86 ;
toolset.flags $(toolset).link LINKFLAGS $(conditions)/$(.cpu-arch-ia64) : /MACHINE:IA64 ;
+
+ # Make sure that manifest will be generated even if there is no
+ # dependencies to put there.
+ toolset.flags $(toolset).link LINKFLAGS $(conditions)/<embed-manifest>off : /MANIFEST ;
}
toolset.pop-checking-for-flags-module ;
}
@@ -1005,12 +1011,23 @@
{
local name = [ $(result[0]).name ] ;
local action = [ $(result[0]).action ] ;
+
+ if [ $(property-set).get <debug-symbols> ] = "on"
+ {
+ local target = [ class.new file-target $(name) : PDB : $(project) : $(action) ] ;
+ lcoal registered-target = [ virtual-target.register $(target) ] ;
+ if $(target) != $(registered-target)
+ {
+ $(action).replace-targets $(target) : $(registered-target) ;
+ }
+ result += $(registered-target) ;
+ }
if [ $(property-set).get <embed-manifest> ] = "off"
{
local target = [ class.new file-target $(name) : MANIFEST : $(project) : $(action) ] ;
local registered-target = [ virtual-target.register $(target) ] ;
- if $(action) && ( $(target) != $(registered-target) )
+ if $(target) != $(registered-target)
{
$(action).replace-targets $(target) : $(registered-target) ;
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk