[Libreoffice-commits] core.git: configure.ac external/breakpad external/coinmp external/cppunit external/lcms2 external/postgresql external/python3
Hossein (via logerrit)
logerrit at kemper.freedesktop.org
Thu Sep 16 17:51:33 UTC 2021
configure.ac | 109 ++++++++--------------
external/breakpad/ExternalProject_breakpad.mk | 1
external/coinmp/ExternalProject_coinmp.mk | 1
external/cppunit/ExternalProject_cppunit.mk | 1
external/lcms2/ExternalProject_lcms2.mk | 1
external/postgresql/ExternalProject_postgresql.mk | 1
external/python3/ExternalProject_python3.mk | 1
7 files changed, 47 insertions(+), 68 deletions(-)
New commits:
commit c156a8c708f74dd31e1ef024edc578c3915619cb
Author: Hossein <hossein at libreoffice.org>
AuthorDate: Wed Sep 15 10:08:43 2021 +0200
Commit: Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Thu Sep 16 19:50:56 2021 +0200
Add preliminary VS 2022 support
This patch changes the configure.ac, so that LibreOffice compiles
with the latest VS 2022 preview.
The option --with-visual-studio=2022 should be added to the
autogen.input, in order to use VS 2022 preview.
Change-Id: Ia1d9bbeabbbd44ffe82af3624151b69d36c0a45c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122133
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/configure.ac b/configure.ac
index 4af48fc034d7..0a2d098b252c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3840,6 +3840,8 @@ map_vs_year_to_version()
case $1 in
2019)
vsversion=16;;
+ 2022)
+ vsversion=17;;
*)
AC_MSG_ERROR([Assertion failure - invalid argument "$1" to map_vs_year_to_version()]);;
esac
@@ -3931,7 +3933,7 @@ find_msvc()
PathFormat "$vswhere"
vswhere=$formatted_path_unix
for ver in $vsversions; do
- vswhereoutput=`$vswhere -version "@<:@ $ver , $(expr $ver + 1) @:}@" -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath | head -1`
+ vswhereoutput=`$vswhere -prerelease -version "@<:@ $ver , $(expr $ver + 1) @:}@" -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath | head -1`
# Fall back to all MS products (this includes VC++ Build Tools)
if ! test -n "$vswhereoutput"; then
AC_MSG_CHECKING([VC++ Build Tools and similar])
@@ -3951,6 +3953,10 @@ find_msvc()
vcyear=2019
vcnum=160
;;
+ 17.0)
+ vcyear=2022
+ vcnum=170
+ ;;
esac
vcbuildnumber=`ls $vctest/VC/Tools/MSVC -A1r | head -1`
@@ -4064,25 +4070,18 @@ if test "$_os" = "WINNT"; then
AC_MSG_CHECKING([for MSBuild.exe location for: $vcnumwithdot])
# Find the proper version of MSBuild.exe to use based on the VS version
reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/$vcnumwithdot/MSBuildOverrideTasksPath
- if test -n "$regvalue" ; then
- AC_MSG_RESULT([found: $regvalue])
- MSBUILD_PATH=`win_short_path_for_make "$regvalue"`
- else
- if test "$vcnumwithdot" = "16.0"; then
- if test "$WIN_BUILD_ARCH" != "x64"; then
- regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin"
- else
- regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin/amd64"
- fi
+ if test -z "$regvalue" ; then
+ if test "$WIN_BUILD_ARCH" != "x64"; then
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin"
else
- if test "$WIN_BUILD_ARCH" != "x64"; then
- regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin"
- else
- regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin/amd64"
- fi
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin/amd64"
fi
+ fi
+ if test -d "$regvalue" ; then
MSBUILD_PATH=`win_short_path_for_make "$regvalue"`
AC_MSG_RESULT([$regvalue])
+ else
+ AC_MSG_ERROR([MSBuild.exe location not found])
fi
# Find the version of devenv.exe
@@ -4125,7 +4124,7 @@ if test "$_os" = "WINNT"; then
# are always "better", we list them in reverse chronological order.
case "$vcnum" in
- 160)
+ 160 | 170)
WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0 8.1A 8.1 8.0"
;;
esac
@@ -6410,11 +6409,15 @@ find_msms()
# Return value: $msmdir
AC_MSG_CHECKING([for MSVC merge modules directory])
- local my_msm_files=Microsoft_VC${VCVER}_CRT_x86.msm
+ local my_msm_files
local my_msm_dir
+ dnl Order my_msm_files in increasing order. Then check the directories returned
+ dnl by ls in an inner loop; assuming they are also ordered in increasing order,
+ dnl the result will be the highest MSM version found in the highest directory.
+
case "$VCVER" in
- 160)
+ 160 | 170)
my_msm_files="Microsoft_VC141_CRT_x86.msm Microsoft_VC142_CRT_x86.msm ${my_msm_files}"
;;
esac
@@ -6423,45 +6426,14 @@ find_msms()
done
msmdir=
- for ver in 14.0 15.0; do
- reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VS/MSMDir
- if test -n "$regvalue"; then
- for f in ${my_msm_files}; do
- if test -e "$regvalue/${f}"; then
- msmdir=$regvalue
- break
- fi
- done
- fi
- done
- dnl Is the following fallback really necessary, or was it added in response
- dnl to never having started Visual Studio on a given machine, so the
- dnl registry keys checked above had presumably not yet been created?
- dnl Anyway, if it really is necessary, it might be worthwhile to extend it
- dnl to also check %CommonProgramFiles(X86)% (typically expanding to
- dnl "C:\Program Files (X86)\Common Files" compared to %CommonProgramFiles%
- dnl expanding to "C:\Program Files\Common Files"), which would need
- dnl something like $(perl -e 'print $ENV{"CommonProgramFiles(x86)"}') to
- dnl obtain its value from cygwin:
- if test -z "$msmdir"; then
- my_msm_dir="${COMMONPROGRAMFILES}/Merge Modules/"
- for f in ${my_msm_files}; do
- if test -e "$my_msm_dir/${f}"; then
- msmdir=$my_msm_dir
- fi
- done
- fi
-
- dnl Starting from MSVC 15.0, merge modules are located in different directory
case "$VCVER" in
- 160)
- for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
- echo "$as_me:$LINENO: looking in $VC_PRODUCT_DIR/redist/MSVC/$l/MergeModules])" >&5
- my_msm_dir="$VC_PRODUCT_DIR/redist/MSVC/$l/MergeModules/"
- for f in ${my_msm_files}; do
- if test -e "$my_msm_dir/${f}"; then
+ 160 | 170)
+ 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/"
+ echo "$as_me:$LINENO: looking for $my_msm_dir${f}])" >&5
+ if test -e "$my_msm_dir${f}"; then
msmdir=$my_msm_dir
- break
fi
done
done
@@ -6486,20 +6458,21 @@ find_msvc_x64_dlls()
# Return value: $msvcdllpath, $msvcdlls
AC_MSG_CHECKING([for MSVC x64 DLL path])
+
+ dnl Order crtver in increasing order. Then check the directories returned by
+ dnl ls in an inner loop; assuming they are also ordered in increasing order,
+ dnl the result will be the highest CRT version found in the highest directory.
+
msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT"
case "$VCVER" in
- 160)
- for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
- echo "$as_me:$LINENO: testing $VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC141.CRT" >&5
- if test -d "$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC141.CRT"; then
- msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC141.CRT"
- break
- fi
- echo "$as_me:$LINENO: testing $VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC142.CRT" >&5
- if test -d "$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC142.CRT"; then
- msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC142.CRT"
- break
- fi
+ 160 | 170)
+ 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
+ if test -d "$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC$crtver.CRT"; then
+ msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC$crtver.CRT"
+ fi
+ done
done
;;
esac
diff --git a/external/breakpad/ExternalProject_breakpad.mk b/external/breakpad/ExternalProject_breakpad.mk
index db1d1c9df83a..3b1f126c3d1e 100644
--- a/external/breakpad/ExternalProject_breakpad.mk
+++ b/external/breakpad/ExternalProject_breakpad.mk
@@ -20,6 +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) \
)
$(call gb_Trace_EndRange,breakpad,EXTERNAL)
diff --git a/external/coinmp/ExternalProject_coinmp.mk b/external/coinmp/ExternalProject_coinmp.mk
index 9bd5a4cd2685..a59e4045d169 100644
--- a/external/coinmp/ExternalProject_coinmp.mk
+++ b/external/coinmp/ExternalProject_coinmp.mk
@@ -21,6 +21,7 @@ $(call gb_ExternalProject_get_state_target,coinmp,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) \
$(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 92db8a1953f3..996bf41761ae 100644
--- a/external/cppunit/ExternalProject_cppunit.mk
+++ b/external/cppunit/ExternalProject_cppunit.mk
@@ -20,6 +20,7 @@ $(call gb_ExternalProject_get_state_target,cppunit,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) \
$(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 35dce1bcc03e..4f1ef72e5920 100644
--- a/external/lcms2/ExternalProject_lcms2.mk
+++ b/external/lcms2/ExternalProject_lcms2.mk
@@ -20,6 +20,7 @@ $(call gb_ExternalProject_get_state_target,lcms2,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) \
$(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 b491301c73b4..eaca2ab23512 100644
--- a/external/postgresql/ExternalProject_postgresql.mk
+++ b/external/postgresql/ExternalProject_postgresql.mk
@@ -27,6 +27,7 @@ $(call gb_ExternalProject_get_state_target,postgresql,build) :
$(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) \
$(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 dc268e8bb619..46fbdad5ab14 100644
--- a/external/python3/ExternalProject_python3.mk
+++ b/external/python3/ExternalProject_python3.mk
@@ -43,6 +43,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
/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) \
$(if $(filter 10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
,PCBuild)
$(call gb_Trace_EndRange,python3,EXTERNAL)
More information about the Libreoffice-commits
mailing list