aboutsummaryrefslogtreecommitdiff
path: root/build2/cc
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-11-26 01:33:50 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2016-11-26 20:39:07 +0300
commitb296b1fc43bbb115d9e826d02a7aca09e713b422 (patch)
tree19ace294ad065b6a6b465a979074884dd85aff0a /build2/cc
parent73c7f8615ebfaf76063207fbd071b2ff7b6b5a3f (diff)
Add support for VC15
Diffstat (limited to 'build2/cc')
-rw-r--r--build2/cc/guess.cxx32
-rw-r--r--build2/cc/target.cxx2
2 files changed, 20 insertions, 14 deletions
diff --git a/build2/cc/guess.cxx b/build2/cc/guess.cxx
index b153cc1..b87dd1f 100644
--- a/build2/cc/guess.cxx
+++ b/build2/cc/guess.cxx
@@ -282,6 +282,7 @@ namespace build2
// Microsoft (R) C/C++ Optimizing Compiler Version 17.00.50727.1 for x86
// Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x86
// Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x86
+ // Microsoft (R) C/C++ Optimizing Compiler Version 19.10.24629 for x86
//
// In the recent versions the architecture is either "x86", "x64",
// or "ARM".
@@ -1001,20 +1002,25 @@ namespace build2
// Mapping of compiler versions to runtime versions:
//
- // 19.00 140/14.0 VS2015
- // 18.00 120/12.0 VS2013
- // 17.00 110/11.0 VS2012
- // 16.00 100/10.0 VS2010
- // 15.00 90/9.0 VS2008
- // 14.00 80/8.0 VS2005
- // 13.10 71/7.1 VS2003
+ // Note that VC15 has runtime version 14.1 but the DLLs are still
+ // called *140.dll (they are said to be backwards-compatible).
//
- /**/ if (v.major == 19 && v.minor == 0) arch += "14.0";
- else if (v.major == 18 && v.minor == 0) arch += "12.0";
- else if (v.major == 17 && v.minor == 0) arch += "11.0";
- else if (v.major == 16 && v.minor == 0) arch += "10.0";
- else if (v.major == 15 && v.minor == 0) arch += "9.0";
- else if (v.major == 14 && v.minor == 0) arch += "8.0";
+ // 19.10 140/14.1 15/2017
+ // 19.00 140/14.0 14/2015
+ // 18.00 120/12.0 12/2013
+ // 17.00 110/11.0 11/2012
+ // 16.00 100/10.0 10/2010
+ // 15.00 90/9.0 9/2008
+ // 14.00 80/8.0 8/2005
+ // 13.10 71/7.1 7.1/2003
+ //
+ /**/ if (v.major == 19 && v.minor == 10) arch += "14.1";
+ else if (v.major == 19 && v.minor == 0) arch += "14.0";
+ else if (v.major == 18 && v.minor == 0) arch += "12.0";
+ else if (v.major == 17 && v.minor == 0) arch += "11.0";
+ else if (v.major == 16 && v.minor == 0) arch += "10.0";
+ else if (v.major == 15 && v.minor == 0) arch += "9.0";
+ else if (v.major == 14 && v.minor == 0) arch += "8.0";
else if (v.major == 13 && v.minor == 10) arch += "7.1";
else fail << "unable to map msvc compiler version '" << v.string
<< "' to runtime version";
diff --git a/build2/cc/target.cxx b/build2/cc/target.cxx
index 4961b35..0674ade 100644
--- a/build2/cc/target.cxx
+++ b/build2/cc/target.cxx
@@ -21,7 +21,7 @@ namespace build2
false
};
- extern const char ext_var[] = "extension"; // VC 19 rejects constexpr.
+ extern const char ext_var[] = "extension"; // VC14 rejects constexpr.
extern const char h_ext_def[] = "h";
const target_type h::static_type