$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r85166 - in branches/release: . tools tools/build tools/build/v2 tools/build/v2/engine tools/build/v2/tools
From: jhunold_at_[hidden]
Date: 2013-07-29 05:20:23
Author: jhunold
Date: 2013-07-29 05:20:23 EDT (Mon, 29 Jul 2013)
New Revision: 85166
URL: http://svn.boost.org/trac/boost/changeset/85166
Log:
Merge 84982,84983 from trunk. Fix #8754.
  ------------------------------------------------------------------------
  r84982 | jhunold | 2013-07-08 15:11:49 +0200 (Mo, 08 Jul 2013) | 1 line
  
  Fix: correct elif chain
  ------------------------------------------------------------------------
  r84983 | jhunold | 2013-07-08 15:12:18 +0200 (Mo, 08 Jul 2013) | 3 lines
  
  Fix #8754: Add support for upcoming msvc-12.0
  
  Thanks to Lars Viklund for the patch
  ------------------------------------------------------------------------
Properties modified: 
   branches/release/   (props changed)
   branches/release/tools/   (props changed)
   branches/release/tools/build/   (props changed)
   branches/release/tools/build/v2/   (props changed)
Text files modified: 
   branches/release/tools/build/v2/engine/build.bat |    27 ++++++++++++++++++++++++++-             
   branches/release/tools/build/v2/engine/build.jam |     6 ++++++                                  
   branches/release/tools/build/v2/tools/msvc.jam   |    10 ++++++++--                              
   branches/release/tools/build/v2/tools/msvc.py    |    10 +++++++---                              
   4 files changed, 47 insertions(+), 6 deletions(-)
Modified: branches/release/tools/build/v2/engine/build.bat
==============================================================================
--- branches/release/tools/build/v2/engine/build.bat	Sun Jul 28 18:10:37 2013	(r85165)
+++ branches/release/tools/build/v2/engine/build.bat	2013-07-29 05:20:23 EDT (Mon, 29 Jul 2013)	(r85166)
@@ -28,7 +28,7 @@
 ECHO ###     .\build.bat msvc
 ECHO ###
 ECHO ### Toolsets supported by this script are: borland, como, gcc, gcc-nocygwin,
-ECHO ###     intel-win32, metrowerks, mingw, msvc, vc7, vc8, vc9, vc10, vc11
+ECHO ###     intel-win32, metrowerks, mingw, msvc, vc7, vc8, vc9, vc10, vc11, vc12
 ECHO ###
 call :Set_Error
 endlocal
@@ -101,6 +101,16 @@
 if not errorlevel 1 set ProgramFiles=C:\Program Files
 
 call :Clear_Error
+if NOT "_%VS120COMNTOOLS%_" == "__" (
+    set "BOOST_JAM_TOOLSET=vc12"
+    set "BOOST_JAM_TOOLSET_ROOT=%VS120COMNTOOLS%..\..\VC\"
+    goto :eof)
+call :Clear_Error
+if EXIST "%ProgramFiles%\Microsoft Visual Studio 12.0\VC\VCVARSALL.BAT" (
+    set "BOOST_JAM_TOOLSET=vc12"
+    set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 12.0\VC\"
+    goto :eof)
+call :Clear_Error
 if NOT "_%VS110COMNTOOLS%_" == "__" (
     set "BOOST_JAM_TOOLSET=vc11"
     set "BOOST_JAM_TOOLSET_ROOT=%VS110COMNTOOLS%..\..\VC\"
@@ -396,6 +406,21 @@
 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
 set "_known_=1"
 :Skip_VC11
+if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc12_" goto Skip_VC12
+if NOT "_%VS120COMNTOOLS%_" == "__" (
+    set "BOOST_JAM_TOOLSET_ROOT=%VS120COMNTOOLS%..\..\VC\"
+    )
+if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
+if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
+    if "_%VCINSTALLDIR%_" == "__" (
+        set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
+        ) )
+set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
+set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
+set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
+set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
+set "_known_=1"
+:Skip_VC12
 if NOT "_%BOOST_JAM_TOOLSET%_" == "_borland_" goto Skip_BORLAND
 if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
     call :Test_Path bcc32.exe )
Modified: branches/release/tools/build/v2/engine/build.jam
==============================================================================
--- branches/release/tools/build/v2/engine/build.jam	Sun Jul 28 18:10:37 2013	(r85165)
+++ branches/release/tools/build/v2/engine/build.jam	2013-07-29 05:20:23 EDT (Mon, 29 Jul 2013)	(r85166)
@@ -377,6 +377,12 @@
     [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ]
     -I$(--python-include) -I$(--extra-include)
     : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
+toolset vc12 cl : /Fe /Fe /Fd /Fo : -D
+    : /nologo
+    [ opt --release : /GL /MT /O2 /Ob2 /Gy /GF /GA /wd4996 ]
+    [ opt --debug : /MTd /DEBUG /Z7 /Od /Ob0 /wd4996 ]
+    -I$(--python-include) -I$(--extra-include)
+    : kernel32.lib advapi32.lib user32.lib $(--python-lib[1]) ;
 
 # First set the build commands and options according to the
 # preset toolset.
Modified: branches/release/tools/build/v2/tools/msvc.jam
==============================================================================
--- branches/release/tools/build/v2/tools/msvc.jam	Sun Jul 28 18:10:37 2013	(r85165)
+++ branches/release/tools/build/v2/tools/msvc.jam	2013-07-29 05:20:23 EDT (Mon, 29 Jul 2013)	(r85166)
@@ -749,7 +749,11 @@
             # version from the path.
             # FIXME: We currently detect both Microsoft Visual Studio 9.0 and
             # 9.0express as 9.0 here.
-            if [ MATCH "(Microsoft Visual Studio 11)" : $(command) ]
+            if [ MATCH "(Microsoft Visual Studio 12)" : $(command) ]
+            {
+                version = 12.0 ;
+            }
+            else if [ MATCH "(Microsoft Visual Studio 11)" : $(command) ]
             {
                 version = 11.0 ;
             }
@@ -1385,7 +1389,7 @@
 
 
 # Known toolset versions, in order of preference.
-.known-versions = 11.0 10.0 10.0express 9.0 9.0express 8.0 8.0express 7.1
+.known-versions = 12.0 11.0 10.0 10.0express 9.0 9.0express 8.0 8.0express 7.1
     7.1toolkit 7.0 6.0 ;
 
 # Version aliases.
@@ -1396,6 +1400,7 @@
 .version-alias-9 = 9.0 ;
 .version-alias-10 = 10.0 ;
 .version-alias-11 = 11.0 ;
+.version-alias-12 = 12.0 ;
 
 # Names of registry keys containing the Visual C++ installation path (relative
 # to "HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft").
@@ -1409,6 +1414,7 @@
 .version-10.0-reg = "VisualStudio\\10.0\\Setup\\VC" ;
 .version-10.0express-reg = "VCExpress\\10.0\\Setup\\VC" ;
 .version-11.0-reg = "VisualStudio\\11.0\\Setup\\VC" ;
+.version-12.0-reg = "VisualStudio\\12.0\\Setup\\VC" ;
 
 # Visual C++ Toolkit 2003 does not store its installation path in the registry.
 # The environment variable 'VCToolkitInstallDir' and the default installation
Modified: branches/release/tools/build/v2/tools/msvc.py
==============================================================================
--- branches/release/tools/build/v2/tools/msvc.py	Sun Jul 28 18:10:37 2013	(r85165)
+++ branches/release/tools/build/v2/tools/msvc.py	2013-07-29 05:20:23 EDT (Mon, 29 Jul 2013)	(r85166)
@@ -645,9 +645,11 @@
             # version from the path.
             # FIXME: We currently detect both Microsoft Visual Studio 9.0 and
             # 9.0express as 9.0 here.
-            if re.search("Microsoft Visual Studio 11", command):
+            if re.search("Microsoft Visual Studio 12", command):
+                version = '12.0'
+            elif re.search("Microsoft Visual Studio 11", command):
                 version = '11.0'
-            if re.search("Microsoft Visual Studio 10", command):
+            elif re.search("Microsoft Visual Studio 10", command):
                 version = '10.0'
             elif re.search("Microsoft Visual Studio 9", command):
                 version = '9.0'
@@ -1156,7 +1158,7 @@
 
 
 # Known toolset versions, in order of preference.
-_known_versions = ['11.0', '10.0', '10.0express', '9.0', '9.0express', '8.0', '8.0express', '7.1', '7.1toolkit', '7.0', '6.0']
+_known_versions = ['12.0', '11.0', '10.0', '10.0express', '9.0', '9.0express', '8.0', '8.0express', '7.1', '7.1toolkit', '7.0', '6.0']
 
 # Version aliases.
 __version_alias_6 = '6.0'
@@ -1166,6 +1168,7 @@
 __version_alias_9 = '9.0'
 __version_alias_10 = '10.0'
 __version_alias_11 = '11.0'
+__version_alias_12 = '12.0'
 
 # Names of registry keys containing the Visual C++ installation path (relative
 # to "HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft").
@@ -1179,6 +1182,7 @@
 __version_10_0_reg = "VisualStudio\\10.0\\Setup\\VC"
 __version_10_0express_reg = "VCExpress\\10.0\\Setup\\VC"
 __version_11_0_reg = "VisualStudio\\11.0\\Setup\\VC"
+__version_12_0_reg = "VisualStudio\\12.0\\Setup\\VC"
 
 # Visual C++ Toolkit 2003 does not store its installation path in the registry.
 # The environment variable 'VCToolkitInstallDir' and the default installation