bin/gbuild-to-ide                                 |    6 +-----
 config_host.mk.in                                 |    1 +
 configure.ac                                      |   22 ++++++++++++----------
 external/breakpad/ExternalProject_breakpad.mk     |    2 +-
 external/coinmp/ExternalProject_coinmp.mk         |    3 +--
 external/cppunit/ExternalProject_cppunit.mk       |    3 +--
 external/lcms2/ExternalProject_lcms2.mk           |    3 +--
 external/postgresql/ExternalProject_postgresql.mk |    3 +--
 external/python3/ExternalProject_python3.mk       |    3 +--
 9 files changed, 20 insertions(+), 26 deletions(-)

New commits:
commit 8e779c062a22a5755cae2c86787e16f59bfe4907
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Fri Oct 8 10:51:50 2021 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Fri Oct 8 14:54:10 2021 +0200

    Centralize VS-to-toolset mapping in configure
    
    This allows to define the mapping once, and avoid modification in
    multiple places each time a new VS version support is added
    
    Change-Id: I93de4c9d78c3f67a0a2e157007e9d13b6f557937
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123163
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 8e9d8ba157a6..430e4c96cbcc 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -916,7 +916,7 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
 
     def __init__(self, gbuildparser, ide):
         IdeIntegrationGenerator.__init__(self, gbuildparser, ide)
-        self.toolset = self.retrieve_toolset()
+        self.toolset = os.environ['VCTOOLSET']
         self.solution_directory = self.gbuildparser.builddir
         self.configurations = {
             'Build': {
@@ -936,10 +936,6 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
             }
         }
 
-    def retrieve_toolset(self):
-        ide_toolset_map = {'160': 'v142', '170': 'v143'}
-        return ide_toolset_map[os.environ['VCVER']]
-
     def module_make_command(self, targets):
         return '%(sh)s -c "PATH=\\"/bin:$PATH\\";BUILDDIR=\\"%(builddir)s\\" 
%(makecmd)s -rsC %(location)s ' + targets + '"'
 
diff --git a/config_host.mk.in b/config_host.mk.in
index d84d5df0ac57..8d8b6e013db1 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -671,6 +671,7 @@ export UPDATE_CONFIG=@UPDATE_CONFIG@
 export UUIDGEN=@UUIDGEN@
 export VALGRIND_CFLAGS=$(gb_SPACE)@VALGRIND_CFLAGS@
 export VCL_PLUGIN_INFO=@VCL_PLUGIN_INFO@
+export VCTOOLSET=@VCTOOLSET@
 export VCVER=@VCVER@
 export DEVENV=@DEVENV@
 export VISIO_CFLAGS=$(gb_SPACE)@VISIO_CFLAGS@
diff --git a/configure.ac b/configure.ac
index c0713a64df5a..90fc05c31f80 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3928,9 +3928,9 @@ find_msvc()
 {
     # Find Visual C++ 2019
     # Args: $1 (optional) : The VS version year
-    # Return values: $vctest, $vcyear, $vcnum, $vcnumwithdot, $vcbuildnumber
+    # Return values: $vctest, $vcyear, $vctoolset, $vcnumwithdot, 
$vcbuildnumber
 
-    unset vctest vcnum vcnumwithdot vcbuildnumber
+    unset vctest vctoolset vcnumwithdot vcbuildnumber
 
     vs_versions_to_check "$1"
     if test "$build_os" = wsl; then
@@ -3960,11 +3960,11 @@ find_msvc()
         case "$vcnumwithdot" in
         16.0)
             vcyear=2019
-            vcnum=160
+            vctoolset=v142
             ;;
         17.0)
             vcyear=2022
-            vcnum=170
+            vctoolset=v143
             ;;
         esac
         vcbuildnumber=`ls $vctest/VC/Tools/MSVC -A1r | head -1`
@@ -4127,13 +4127,14 @@ if test "$_os" = "WINNT"; then
         PathFormat "$COMPATH"
         COMPATH=`win_short_path_for_make "$formatted_path"`
 
-        VCVER=$vcnum
+        VCVER=$vcnumwithdot
+        VCTOOLSET=$vctoolset
 
         # The WINDOWS_SDK_ACCEPTABLE_VERSIONS is mostly an educated guess...  
Assuming newer ones
         # are always "better", we list them in reverse chronological order.
 
-        case "$vcnum" in
-        160 | 170)
+        case "$vcnumwithdot" in
+        16.0 | 17.0)
             WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0 8.1A 8.1 8.0"
             ;;
         esac
@@ -4225,6 +4226,7 @@ if test "$_os" = "WINNT"; then
     AC_SUBST(CXX_X86_BINARY)
 fi
 AC_SUBST(VCVER)
+AC_SUBST(VCTOOLSET)
 AC_SUBST(DEVENV)
 AC_SUBST(MSVC_CXX)
 
@@ -6427,7 +6429,7 @@ find_msms()
     dnl the result will be the highest MSM version found in the highest 
directory.
 
     case "$VCVER" in
-        160 | 170)
+        16.0 | 17.0)
         my_msm_files="Microsoft_VC141_CRT_x86.msm Microsoft_VC142_CRT_x86.msm 
${my_msm_files}"
         ;;
     esac
@@ -6437,7 +6439,7 @@ find_msms()
 
     msmdir=
     case "$VCVER" in
-    160 | 170)
+    16.0 | 17.0)
         for f in ${my_msm_files}; do
             for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
                 my_msm_dir="$VC_PRODUCT_DIR/redist/MSVC/$l/MergeModules/"
@@ -6475,7 +6477,7 @@ find_msvc_x64_dlls()
 
     msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT"
     case "$VCVER" in
-    160 | 170)
+    16.0 | 17.0)
         for crtver in 141 142; do
             for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
                 echo "$as_me:$LINENO: testing 
$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC$crtver.CRT" >&5
diff --git a/external/breakpad/ExternalProject_breakpad.mk 
b/external/breakpad/ExternalProject_breakpad.mk
index 3b1f126c3d1e..a4f124a49f12 100644
--- a/external/breakpad/ExternalProject_breakpad.mk
+++ b/external/breakpad/ExternalProject_breakpad.mk
@@ -20,7 +20,7 @@ $(call gb_ExternalProject_get_state_target,breakpad,build) :
        $(call gb_Trace_StartRange,breakpad,EXTERNAL)
        $(call gb_ExternalProject_run,build,\
                MSBuild.exe src/tools/windows/dump_syms/dump_syms.sln 
-p:Configuration=Release \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
        )
        $(call gb_Trace_EndRange,breakpad,EXTERNAL)
 
diff --git a/external/coinmp/ExternalProject_coinmp.mk 
b/external/coinmp/ExternalProject_coinmp.mk
index a59e4045d169..4faa04138b8b 100644
--- a/external/coinmp/ExternalProject_coinmp.mk
+++ b/external/coinmp/ExternalProject_coinmp.mk
@@ -20,8 +20,7 @@ $(call gb_ExternalProject_get_state_target,coinmp,build) :
                MSBuild.exe CoinMP.sln /t:Build \
                        /p:Configuration=$(if 
$(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \
                        /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \
-                       $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 
/p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
                        $(if $(filter 
10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
        ,CoinMP/MSVisualStudio/v9)
        $(call gb_Trace_EndRange,coinmp,EXTERNAL)
diff --git a/external/cppunit/ExternalProject_cppunit.mk 
b/external/cppunit/ExternalProject_cppunit.mk
index 996bf41761ae..e32bdb30f0b9 100644
--- a/external/cppunit/ExternalProject_cppunit.mk
+++ b/external/cppunit/ExternalProject_cppunit.mk
@@ -19,8 +19,7 @@ $(call gb_ExternalProject_get_state_target,cppunit,build) :
        $(call gb_ExternalProject_run,build,\
            PROFILEFLAGS="$(gb_MSBUILD_CONFIG) \
                /p:Platform=$(gb_MSBUILD_PLATFORM) \
-                       $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 
/p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
                        $(if $(filter 
10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION))" \
                && msbuild.exe cppunit_dll.vcxproj 
/p:Configuration=$${PROFILEFLAGS}  \
                && cd ../DllPlugInTester \
diff --git a/external/lcms2/ExternalProject_lcms2.mk 
b/external/lcms2/ExternalProject_lcms2.mk
index 4f1ef72e5920..4288a804e217 100644
--- a/external/lcms2/ExternalProject_lcms2.mk
+++ b/external/lcms2/ExternalProject_lcms2.mk
@@ -19,8 +19,7 @@ $(call gb_ExternalProject_get_state_target,lcms2,build):
        $(call gb_ExternalProject_run,build,\
                MSBuild.exe lcms2_DLL.vcxproj \
                        $(gb_MSBUILD_CONFIG_AND_PLATFORM) /p:TargetName=lcms2 \
-                       $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 
/p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
                        $(if $(filter 
10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
        ,Projects/VC2019/lcms2_DLL)
        $(call gb_Trace_EndRange,lcms2,EXTERNAL)
diff --git a/external/postgresql/ExternalProject_postgresql.mk 
b/external/postgresql/ExternalProject_postgresql.mk
index eaca2ab23512..37824f303306 100644
--- a/external/postgresql/ExternalProject_postgresql.mk
+++ b/external/postgresql/ExternalProject_postgresql.mk
@@ -26,8 +26,7 @@ $(call gb_ExternalProject_get_state_target,postgresql,build) :
        $(call gb_Trace_StartRange,postgresql,EXTERNAL)
        $(call gb_ExternalProject_run,build,\
                MSBFLAGS="/p:Platform=$(gb_MSBUILD_PLATFORM) \
-                       $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 
/p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
                        $(if $(filter 
10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION))" \
                $(PERL) build.pl $(gb_MSBUILD_CONFIG) libpq \
        ,src/tools/msvc)
diff --git a/external/python3/ExternalProject_python3.mk 
b/external/python3/ExternalProject_python3.mk
index 46fbdad5ab14..3d287a7fde73 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -42,8 +42,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
                        /p:libffiOutDir=$(call 
gb_UnpackedTarball_get_dir,libffi)/$(HOST_PLATFORM)/.libs \
                        /p:libffiIncludeDir=$(call 
gb_UnpackedTarball_get_dir,libffi)/$(HOST_PLATFORM)/include \
                        /maxcpucount \
-                       $(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 
/p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
-                       $(if $(filter 170,$(VCVER)),/p:PlatformToolset=v143 
/p:VisualStudioVersion=17.0 /ToolsVersion:Current) \
+                       /p:PlatformToolset=$(VCTOOLSET) 
/p:VisualStudioVersion=$(VCVER) /ToolsVersion:Current \
                        $(if $(filter 
10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
        ,PCBuild)
        $(call gb_Trace_EndRange,python3,EXTERNAL)

Reply via email to