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)