diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-07-17 09:45:39 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-07-17 09:45:39 +0200 |
commit | ecfa0f59dab6d29815eb89c1c50252ba36a6caec (patch) | |
tree | 495f936ff0112cf8a6c0e9fe80836b61cbd0e887 | |
parent | a9f5db1a8702d85154d76257046ad68af0607160 (diff) |
Map VC 17 to runtime version 14.3
-rw-r--r-- | libbuild2/cc/guess.cxx | 7 | ||||
-rw-r--r-- | libbuild2/recipe.hxx | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libbuild2/cc/guess.cxx b/libbuild2/cc/guess.cxx index 9409604..f9c7153 100644 --- a/libbuild2/cc/guess.cxx +++ b/libbuild2/cc/guess.cxx @@ -1426,10 +1426,12 @@ namespace build2 // And VC 16 seems to have the runtime version 14.1 (and not 14.2, as // one might expect; DLLs are still *140.dll but there are now _1 and _2 // variants for, say, msvcp140.dll). We will, however, call it 14.2 - // (which is the version of the "toolset") in our target triplet. + // (which is the version of the "toolset") in our target triplet. And we + // will call VC 17 14.3 (which is also the version of the "toolset"). // // year ver cl crt/dll toolset // + // 2022 17.X 19.3X 14.?/140 14.3X // 2019 16.X 19.2X 14.2/140 14.2X // 2017 15.9 19.16 14.1/140 14.16 // 2017 15.8 19.15 14.1/140 @@ -1448,7 +1450,8 @@ namespace build2 // // _MSC_VER is the numeric cl version, e.g., 1921 for 19.21. // - /**/ if (v.major == 19 && v.minor >= 20) return "14.2"; + /**/ if (v.major == 19 && v.minor >= 30) return "14.3"; + else if (v.major == 19 && v.minor >= 20) return "14.2"; else if (v.major == 19 && v.minor >= 10) return "14.1"; else if (v.major == 19 && v.minor == 0) return "14.0"; else if (v.major == 18 && v.minor == 0) return "12.0"; diff --git a/libbuild2/recipe.hxx b/libbuild2/recipe.hxx index dfe36ec..5a6e38d 100644 --- a/libbuild2/recipe.hxx +++ b/libbuild2/recipe.hxx @@ -30,7 +30,7 @@ namespace build2 // Note that max size for the "small size optimization" in std::function // (which is what move_only_function_ex is based on) ranges (in pointer // sizes) from 0 (GCC libstdc++ prior to 5) to 2 (GCC 5 and later) to 3 - // (Clang libc++) to 6 (VC 14.2). With the size ranging (in bytes for 64-bit + // (Clang libc++) to 6 (VC 14.3). With the size ranging (in bytes for 64-bit // target) from 32 (GCC) to 64 (VC). // using recipe_function = target_state (action, const target&); |