Boost logo

Boost-Build :

From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2006-01-12 14:25:00


Vladimir Prus wrote:
> unfortunately the patch does not apply cleanly, so I've tried to apply it by
> hand. I attach the result, if you can verify I did not messed anything up,
> I'll commit it.

I fixed several issues. The attached .diff is made against the latest
CVS version of the file.

Best regards/Venlig hilsen,
   Alexey Pakhunov.


? cvs.log
? msplatformsdk.jam
? msvc_manifest.diff
? msvc_midl
Index: msvc.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/msvc.jam,v
retrieving revision 1.71
diff -u -r1.71 msvc.jam
--- msvc.jam 15 Dec 2005 18:04:05 -0000 1.71
+++ msvc.jam 12 Jan 2006 19:18:27 -0000
@@ -305,7 +305,7 @@
         if ! [ os.name ] in NT
         {
             prefix = "cmd.exe /S /C call " ;
- suffix = " \"&&\" " ;
+ suffix = " >nul \"&&\" " ;
         }
 
         command = $(prefix)$(setup)" "$(setup-option:E="")$(suffix) ;
@@ -333,6 +333,7 @@
         mc-compiler = [ get-values <mc-compiler> : $(options) ] ;
         mc-compiler ?= mc ;
 
+ manifest-tool = mt ;
 
         for local i in 1 2 3
         {
@@ -340,15 +341,14 @@
 
             if $(c)
             {
+ local cond = $(condition)/$(cpu-arch-$(c)) ;
+
                 if $(.debug-configuration)
                 {
- ECHO "msvc: condition:"
- "'$(condition)/$(cond-$(c))',"
+ ECHO "msvc: condition: '$(cond)', "
                         "command: '$(command[$(i)])'" ;
                 }
         
- local cond = $(condition)/$(cpu-arch-$(c)) ;
-
                 flags msvc.compile .CC $(cond) : $(command[$(i)])$(compiler) ;
                 flags msvc.compile .RC $(cond) : $(command[$(i)])$(resource-compiler) ;
                 flags msvc.compile .ASM $(cond) : $(command[$(i)])$(assembler) ;
@@ -356,15 +356,13 @@
                 flags msvc.archive .LD $(cond) : $(command[$(i)])$(linker) ;
                 flags msvc.compile .IDL $(cond) : $(command[$(i)])$(idl-compiler) ;
                 flags msvc.compile .MC $(cond) : $(command[$(i)])$(mc-compiler) ;
- }
- }
-
- if ! $(below-8.0)
- {
- flags msvc.link MANIFEST $(condition) : "mt -nologo -manifest " ;
- flags msvc.link OUTPUTRESOURCE $(condition) : "-outputresource:" ;
- }
 
+ if ! [ os.name ] in NT
+ {
+ flags msvc.link .MT $(cond) : $(command[$(i)])$(manifest-tool) ;
+ }
+ }
+ }
 
         # Set version-specific flags
         configure-version-specific $(version) : $(condition) ;
@@ -696,18 +694,44 @@
 # manifests are embedded as resourses and are useful in
 # any PE targets (both DLL and EXE)
 
-actions link bind DEF_FILE
+if [ os.name ] in NT
 {
- $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /LIBPATH:"$(LINKPATH:W)" $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
- $(MANIFEST)$(<[1]).manifest $(OUTPUTRESOURCE)$(<[1]);1
-}
+ actions link bind DEF_FILE
+ {
+ $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /LIBPATH:"$(LINKPATH:W)" $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
+ if exist "$(<[1]).manifest" (
+ mt -nologo -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);1"
+ )
+ }
 
-actions link.dll bind DEF_FILE
+ actions link.dll bind DEF_FILE
+ {
+ $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /IMPLIB:"$(<[2]:W)" /LIBPATH:"$(LINKPATH:W)" /def:$(DEF_FILE) $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
+ if exist "$(<[1]).manifest" (
+ mt -nologo -manifest "$(<[1]).manifest" "-outputresource:$(<[1]);2"
+ )
+ }
+}
+else
 {
- $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /IMPLIB:"$(<[2]:W)" /LIBPATH:"$(LINKPATH:W)" /def:$(DEF_FILE) $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
- $(MANIFEST)$(<[1]).manifest $(OUTPUTRESOURCE)$(<[1]);2
+ actions link bind DEF_FILE
+ {
+ $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /LIBPATH:"$(LINKPATH:W)" $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
+ if test -e "$(<[1]).manifest"; then
+ $(.MT) -nologo -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);1"
+ fi
+ }
+
+ actions link.dll bind DEF_FILE
+ {
+ $(.LD) /NOLOGO $(LINKFLAGS) /out:"$(<[1]:W)" /INCREMENTAL:NO /IMPLIB:"$(<[2]:W)" /LIBPATH:"$(LINKPATH:W)" /def:$(DEF_FILE) $(USER_LINKFLAGS) @"@($(<[1]:W).rsp:E=$(nl)"$(>)" $(nl)$(LIBRARIES_MENTIONED_BY_FILE) $(nl)$(LIBRARIES) $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_ST:S=.lib)" $(nl)"$(LIBRARY_OPTION)$(FINDLIBS_SA:S=.lib)")"
+ if test -e "$(<[1]).manifest"; then
+ $(.MT) -nologo -manifest "$(<[1]:W).manifest" "-outputresource:$(<[1]:W);2"
+ fi
+ }
 }
 
+
 actions compile.mc
 {
     $(.MC) $(MCFLAGS) -h "$(<[1]:DW)" -r "$(<[2]:DW)" "$(>:W)"


Boost-Build 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