basic/CppunitTest_basic_macros.mk | 2 bridges/inc/except.hxx | 2 bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx | 2 configure.ac | 183 ++++++++++++++++---- external/coinmp/ExternalProject_coinmp.mk | 2 external/cppunit/ExternalProject_cppunit.mk | 4 external/lcms2/ExternalProject_lcms2.mk | 5 external/libgltf/ExternalProject_libgltf.mk | 2 external/python3/ExternalProject_python3.mk | 8 scp2/source/ooo/vc_redist.scp | 19 ++ 10 files changed, 192 insertions(+), 37 deletions(-)
New commits: commit b862cbdd345ec57c2595629ded6a3969e1e65d56 Author: David Ostrovsky <da...@ostrovsky.org> Date: Wed Nov 23 23:53:55 2016 +0100 Support MSVC 15.0 New compiler changes quite some stuff: * Compiler detection done based on different registry key * .NET SDK detection done based on different registry key * Msbuild installation directory changed * Merge modules installation directory changed * SDK number in registry doesn't match the directory name: (registry key: 10.0.14393, directory name: 10.0.14393.0) * Compiler, include and library location directories changed * Architecture specific directory changed: x64 instead of amd64 * Compiler own include directory must be added with -I option * To force usage of SDK 10 (8.1 is selected per default) new switch WindowsTargetPlatformVersion is passed to msbuild, to avoid patching VC project files with this line: <WindowsTargetPlatformVersion><SDK>/WindowsTargetPlatformVersion> Known issues: * Firebird is broken: http://paste.openstack.org/show/594333 Change-Id: I148d7932aff43bbbd07bd493504df974726234c2 Reviewed-on: https://gerrit.libreoffice.org/31279 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: David Ostrovsky <da...@ostrovsky.org> diff --git a/basic/CppunitTest_basic_macros.mk b/basic/CppunitTest_basic_macros.mk index 8d64f40..3435224 100644 --- a/basic/CppunitTest_basic_macros.mk +++ b/basic/CppunitTest_basic_macros.mk @@ -42,7 +42,7 @@ $(eval $(call gb_CppunitTest_use_libraries,basic_macros, \ ifeq ($(OS),WNT) $(eval $(call gb_CppunitTest_use_system_win32_libs,basic_macros, \ oleaut32 \ - $(if $(filter 140,$(VCVER)),legacy_stdio_definitions) \ + $(if $(filter 140 150,$(VCVER)),legacy_stdio_definitions) \ odbc32 \ odbccp32 \ )) diff --git a/bridges/inc/except.hxx b/bridges/inc/except.hxx index 32e9113..f1437f3 100644 --- a/bridges/inc/except.hxx +++ b/bridges/inc/except.hxx @@ -20,7 +20,7 @@ #ifndef INCLUDED_BRIDGES_INC_EXCEPT_HXX #define INCLUDED_BRIDGES_INC_EXCEPT_HXX -#if _MSC_VER >= 1900 // VC 2015 (and later?) +#if _MSC_VER >= 1900 // VC 2015/2017 (and later?) // extern "C" void** __cdecl __current_exception() // is defined in MSVS14.0/VC/crt/src/vcruntime/frame.cpp: // return &__vcrt_getptd()->_curexception; diff --git a/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx b/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx index 8348014..5687c0d 100644 --- a/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx +++ b/bridges/source/cpp_uno/msvc_win32_x86-64/except.cxx @@ -803,7 +803,7 @@ int mscx_filterCppException( if (rethrow && pRecord == pPointers->ExceptionRecord) { pRecord = *reinterpret_cast< EXCEPTION_RECORD ** >( -#if _MSC_VER >= 1900 // VC 2015 (and later?) +#if _MSC_VER >= 1900 // VC 2015/2017 (and later?) __current_exception() #else // Hack to get msvcrt internal _curexception field diff --git a/configure.ac b/configure.ac index 244ea87..5982240 100644 --- a/configure.ac +++ b/configure.ac @@ -2112,10 +2112,10 @@ libo_FUZZ_ARG_WITH(doxygen, ,with_doxygen=yes) AC_ARG_WITH(visual-studio, - AS_HELP_STRING([--with-visual-studio=<2013/2015>], + AS_HELP_STRING([--with-visual-studio=<2013/2015/2017>], [Specify which Visual Studio version to use in case several are installed. If not specified, only 2013 is detected automatically - because 2015 support is currently experimental.]), + because 2015 and 2017 support is currently experimental.]), ,) AC_ARG_WITH(windows-sdk, @@ -3288,6 +3288,8 @@ map_vs_year_to_version() vsversion=12.0;; 2015) vsversion=14.0;; + 2017) + vsversion=15.0;; *) AC_MSG_ERROR([Assertion failure - invalid argument "$1" to map_vs_year_to_version()]);; esac @@ -3304,16 +3306,22 @@ vs_versions_to_check() map_vs_year_to_version "$1" vsversions=$vsversion else - # By default we prefer 2013/2015, in this order - vsversions="12.0 14.0" + # By default we prefer 2013/2015/2017, in this order + vsversions="12.0 14.0 15.0" fi } win_get_env_from_vsvars32bat() { WRAPPERBATCHFILEPATH="`mktemp -t wrpXXXXXX.bat`" + if test $vcnum = "150"; then + # Also seems to be located in another directory under the same name: vsvars32.bat + # https://github.com/bazelbuild/bazel/blob/master/src/main/native/build_windows_jni.sh#L56-L57 + echo -e "@call \"`cygpath -w $VC_PRODUCT_DIR`/../Common7/Tools/VsDevCmd.bat\" /no_logo\r\n" >> $WRAPPERBATCHFILEPATH + else + echo -e "@call \"`cygpath -w $VC_PRODUCT_DIR`/../Common7/Tools/vsvars32.bat\"\r\n" >> $WRAPPERBATCHFILEPATH + fi echo -e "@setlocal\r\n" >> $WRAPPERBATCHFILEPATH - echo -e "@call \"`cygpath -w $VC_PRODUCT_DIR`/../Common7/Tools/vsvars32.bat\"\r\n" >> $WRAPPERBATCHFILEPATH echo -e "@echo %$1%\r\n" >> $WRAPPERBATCHFILEPATH echo -e "@endlocal\r\n" >> $WRAPPERBATCHFILEPATH chmod +x $WRAPPERBATCHFILEPATH @@ -3330,27 +3338,43 @@ find_ucrt() UCRTSDKDIR=$formatted_path reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v10.0/ProductVersion" UCRTVERSION=$regvalue + # Rest if not exist + if ! test -d "${UCRTSDKDIR}Include/$UCRTVERSION/ucrt"; then + UCRTSDKDIR= + AC_MSG_RESULT([UCRT: give up registry detection and retrieve from IDE env file]) + fi fi if test -z "$UCRTSDKDIR"; then - if test -f "$VC_PRODUCT_DIR/../Common7/Tools/vsvars32.bat"; then + ide_env_dir="$VC_PRODUCT_DIR/../Common7/Tools/" + if test "$vcnum" = "150"; then + ide_env_file="${ide_env_dir}VsDevCmd.bat" + else + ide_env_file="${ide_env_dir}/vsvars32.bat" + fi + if test -f "$ide_env_file"; then PathFormat "`win_get_env_from_vsvars32bat "UniversalCRTSdkDir"`" UCRTSDKDIR=$formatted_path UCRTVERSION=`win_get_env_from_vsvars32bat "UCRTVersion"` + else + AC_MSG_ERROR([No UCRT found]) fi fi } find_msvc() { - # Find Visual C++ 2013/2015 + # Find Visual C++ 2013/2015/2017 # Args: $1 (optional) : The VS version year - # Return values: $vctest, $vcyear, $vcnum, $vcnumwithdot + # Return values: $vctest, $vcyear, $vcnum, $vcnumwithdot, $vcbuildnumber - unset vctest vcnum vcnumwithdot vcexpress + unset vctest vcnum vcnumwithdot vcexpress vcbuildnumber vs_versions_to_check "$1" + AC_MSG_CHECKING([whether vs inst is $vsversions]) + for ver in $vsversions; do + AC_MSG_CHECKING([ver is now: $ver]) reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VC/ProductDir if test -n "$regvalue"; then vctest=$regvalue @@ -3361,6 +3385,14 @@ find_msvc() vctest=$regvalue break fi + # As always MSVC 15.0 is special here + reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/SxS/VS7/$ver + if test -n "$regvalue"; then + AC_MSG_RESULT([found: $regvalue]) + PathFormat "$regvalue" + vctest=$formatted_path + break + fi done if test -n "$vctest"; then vcnumwithdot=$ver @@ -3373,6 +3405,11 @@ find_msvc() vcyear=2015 vcnum=140 ;; + 15.0) + vcyear=2017 + vcnum=150 + vcbuildnumber=`ls $vctest/VC/Tools/MSVC -A1r | head -1` + ;; esac reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VCExpress/$vcnumwithdot/Setup/VC/ProductDir if test -n "$regvalue" -a "$regvalue" = "$vctest" ; then @@ -3393,24 +3430,28 @@ if test "$_os" = "WINNT"; then if test -n "$with_visual_studio"; then AC_MSG_ERROR([No Visual Studio $with_visual_studio installation found]) else - AC_MSG_ERROR([No Visual Studio 2013/2015 installation found]) + AC_MSG_ERROR([No Visual Studio 2013/2015/2017 installation found]) fi fi if test "$BITNESS_OVERRIDE" = ""; then if test -f "$vctest/bin/cl.exe"; then VC_PRODUCT_DIR=$vctest + elif test -f "$vctest/VC/Tools/MSVC/$vcbuildnumber/bin/HostX86/x86/cl.exe"; then + VC_PRODUCT_DIR=$vctest/VC else AC_MSG_ERROR([No compiler (cl.exe) in $vctest/bin/cl.exe]) fi else if test -f "$vctest/bin/amd64/cl.exe"; then VC_PRODUCT_DIR=$vctest + elif test -f "$vctest/VC/Tools/MSVC/$vcbuildnumber/bin/HostX64/x64/cl.exe"; then + VC_PRODUCT_DIR=$vctest/VC else if test -f "$vctest/bin/x86_amd64/cl.exe" -a "$vcexpress" = "Express"; then VC_PRODUCT_DIR=$vctest else - AC_MSG_ERROR([No compiler (cl.exe) in $vctest/bin/amd64/cl.exe or $vctest/bin/x86_amd64/cl.exe]) + AC_MSG_ERROR([No compiler (cl.exe) in $vctest/VC/Tools/MSVC/$vcbuildnumber/bin/HostX64/x64/cl.exe or $vctest/bin/amd64/cl.exe or $vctest/bin/x86_amd64/cl.exe]) fi fi fi @@ -3453,10 +3494,23 @@ if test "$_os" = "WINNT"; then AC_SUBST(UCRTSDKDIR) AC_SUBST(UCRTVERSION) + 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 $vcnum = "150"; then + if test "$BITNESS_OVERRIDE" = ""; then + regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin" + else + regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin/amd64" + fi + MSBUILD_PATH=`win_short_path_for_make "$regvalue"` + else + AC_MSG_ERROR([No msbuild found, Visual Studio installation broken?]) + fi fi # Find the version of devenv.exe @@ -3474,22 +3528,38 @@ if test "$_os" = "WINNT"; then dnl =========================================================== MSPDB_PATH= + CL_DIR= + CL_LIB= if test "$BITNESS_OVERRIDE" = ""; then if test "$vcnum" = "120"; then MSPDB_PATH="$VC_PRODUCT_DIR/../VC/bin" + CL_DIR=bin else MSPDB_PATH="$VC_PRODUCT_DIR/../Common7/IDE" + CL_DIR=bin fi else if test "$vcexpress" = "Express"; then MSPDB_PATH="$VC_PRODUCT_DIR/bin" + CL_DIR=bin else - MSPDB_PATH="$VC_PRODUCT_DIR/bin/amd64" + if test "$vcnum" = "150"; then + MSPDB_PATH="$VC_PRODUCT_DIR/Tools/MSVC/$vcbuildnumber/bin/HostX64/x64" + CL_DIR=Tools/MSVC/$vcbuildnumber/bin/HostX64/x64 + else + MSPDB_PATH="$VC_PRODUCT_DIR/bin/amd64" + CL_DIR=bin/amd64 + fi fi fi - mspdbnum=$vcnum + # MSVC 15.0 has libraries from 14.0? + if test "$vcnum" = "150"; then + mspdbnum="140" + else + mspdbnum=$vcnum + fi if test ! -e "$MSPDB_PATH/mspdb${mspdbnum}.dll"; then AC_MSG_ERROR([No mspdb${mspdbnum}.dll in $MSPDB_PATH, Visual Studio installation broken?]) @@ -3511,7 +3581,7 @@ if test "$_os" = "WINNT"; then if test -z "$CC"; then if test "$BITNESS_OVERRIDE" = ""; then if test -f "$VC_PRODUCT_DIR/bin/cl.exe"; then - CC="$VC_PRODUCT_DIR/bin/cl.exe" + CC="$VC_PRODUCT_DIR/$CL_DIR/cl.exe" fi else if test "$vcexpress" = "Express"; then @@ -3519,8 +3589,8 @@ if test "$_os" = "WINNT"; then CC="$VC_PRODUCT_DIR/bin/x86_amd64/cl.exe" fi else - if test -f "$VC_PRODUCT_DIR/bin/amd64/cl.exe"; then - CC="$VC_PRODUCT_DIR/bin/amd64/cl.exe" + if test -f "$VC_PRODUCT_DIR/$CL_DIR/cl.exe"; then + CC="$VC_PRODUCT_DIR/$CL_DIR/cl.exe" fi fi fi @@ -3543,7 +3613,13 @@ if test "$_os" = "WINNT"; then dnl since MSVC 2012, default for x86 is -arch:SSE2: CC="$CC -arch:SSE" fi - export INCLUDE=`cygpath -d "$COMPATH/Include"` + + if test "$vcnum" = "150"; then + COMPATH="$COMPATH/Tools/MSVC/$vcbuildnumber" + fi + + export INCLUDE=`cygpath -d "$COMPATH\Include"` + AC_MSG_RESULT([INCLUDE is: ($INCLUDE)]) PathFormat "$COMPATH" COMPATH="$formatted_path" @@ -3563,6 +3639,10 @@ if test "$_os" = "WINNT"; then COMEX=19 WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0A 10.0 8.1A 8.1 8.0 7.1A" ;; + 150) + COMEX=19 + WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0A 10.0 8.1A 8.1 8.0 7.1A" + ;; esac # The expectation is that --with-windows-sdk should not need to be used @@ -3622,6 +3702,7 @@ if test "$_os" = "WINNT"; then LINK_X64_BINARY= if test "$BITNESS_OVERRIDE" = ""; then + # TODO(davido): This is probably broken for MSVC 15.0 AC_MSG_CHECKING([for a x64 compiler and libraries for 64-bit Explorer extensions]) if test -f "$VC_PRODUCT_DIR/atlmfc/lib/amd64/atls.lib"; then # Prefer native x64 compiler to cross-compiler, in case we are running @@ -3642,6 +3723,12 @@ if test "$_os" = "WINNT"; then AC_MSG_RESULT([not found]) AC_MSG_WARN([Installation set will not contain 64-bit Explorer extensions]) fi + if test "$BUILD_X64" = TRUE; then + AC_MSG_RESULT([found]) + else + AC_MSG_RESULT([not found]) + AC_MSG_WARN([Installation set will not contain 64-bit Explorer extensions]) + fi fi AC_SUBST(BUILD_X64) @@ -5140,6 +5227,14 @@ find_al() return fi done + + # TODO(davido): We need this additional check to detect 4.6.2 + # This should be made generic, though + reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/NETFXSDK/4.6.2\WinSDK-NetFx40Tools/InstallationFolder" + if test -n "$regvalue" -a \( -f "$regvalue/al.exe" -o -f "$regvalue/bin/al.exe" \); then + altest=$regvalue + return + fi } find_dotnetsdk() @@ -5161,7 +5256,7 @@ find_dotnetsdk46() { unset frametest - for ver in 4.6.1 4.6; do + for ver in 4.6.2 4.6.1 4.6; do reg_get_value_64 "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Microsoft SDKs/NETFXSDK/$ver/KitsInstallationFolder" if test -n "$regvalue"; then frametest=$regvalue @@ -5214,6 +5309,9 @@ find_winsdk_version() winsdktest=$regvalue reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v${1}/ProductVersion" winsdklibsubdir=$regvalue + if test "$regvalue" = "10.0.14393"; then + winsdklibsubdir="10.0.14393.0" + fi return fi ;; @@ -5240,7 +5338,7 @@ find_msms() my_msm_file=Microsoft_VC${VCVER}_CRT_x86.msm AC_MSG_CHECKING([for $my_msm_file]) msmdir= - for ver in 12.0 14.0; do + for ver in 12.0 14.0 15.0; do reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VS/MSMDir if test -n "$regvalue"; then if test -e "$regvalue/$my_msm_file"; then @@ -5264,6 +5362,15 @@ find_msms() msmdir=$my_msm_dir fi fi + + dnl Starting from MSVC 15.0, merge modules are located in different directory + if test $VCVER = 150; then + my_msm_dir="$VC_PRODUCT_DIR/redist/MSVC/$vcbuildnumber/MergeModules/" + if test -e "$my_msm_dir/$my_msm_file"; then + msmdir=$my_msm_dir + fi + fi + if test -n "$msmdir"; then msmdir=`cygpath -m "$msmdir"` AC_MSG_RESULT([$msmdir]) @@ -5279,11 +5386,17 @@ find_msms() find_msvc_x64_dlls() { msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT" + if test "$VCVER" = 150; then + msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$vcbuildnumber/x64/Microsoft.VC${VCVER}.CRT" + fi # http://blogs.msdn.com/b/vcblog/archive/2014/06/03/visual-studio-14-ctp.aspx # Refactored C Runtime (CRT): This CTP contains the first preview of the substantially refactored CRT. # msvcr140.dll no longer exists. It is replaced by a trio of DLLs: vcruntime140.dll, appcrt140.dll, # and desktopcrt140.dll. - if test "$VCVER" = 140; then + + if test "$VCVER" = 150; then + msvcdlls="msvcp140.dll vcruntime140.dll" + elif test "$VCVER" = 140; then msvcdlls="msvcp${VCVER}.dll vcruntime${VCVER}.dll" else msvcdlls="msvcp${VCVER}.dll msvcr${VCVER}.dll" @@ -9533,7 +9646,7 @@ the Windows SDK are installed.]) PathFormat "$WINDOWS_SDK_HOME" WINDOWS_SDK_HOME="$formatted_path" if test "$build_os" = "cygwin"; then - SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include" + SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/Include" if test -d "$WINDOWS_SDK_HOME/include/um"; then SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include/um -I$WINDOWS_SDK_HOME/include/shared" elif test -d "$WINDOWS_SDK_HOME/Include/$winsdklibsubdir/um"; then @@ -9705,7 +9818,7 @@ if test "$_os" = "WINNT"; then assembler_bin=bin/x86_amd64 else assembler=ml64.exe - assembler_bin=bin/amd64 + assembler_bin=$CL_DIR fi fi @@ -12205,23 +12318,33 @@ if test "$build_os" = "cygwin"; then fi ILIB1=-link if test "$BITNESS_OVERRIDE" = 64; then - ILIB="$ILIB;$COMPATH/lib/amd64" - ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib/amd64" + if test $vcnum = "150"; then + ILIB="$ILIB;$COMPATH/lib/x64" + ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib/x64" + else + ILIB="$ILIB;$COMPATH/lib/amd64" + ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib/amd64" + fi ILIB="$ILIB;$WINDOWS_SDK_HOME/lib/x64" ILIB1="$ILIB1 -LIBPATH:$WINDOWS_SDK_HOME/lib/x64" if test $WINDOWS_SDK_VERSION = 80 -o $WINDOWS_SDK_VERSION = 81 -o $WINDOWS_SDK_VERSION = 10; then ILIB="$ILIB;$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/x64" ILIB1="$ILIB1 -LIBPATH:$WINDOWS_SDK_HOME/lib/$winsdklibsubdir/um/x64" fi - if test $VCVER = 140; then + if test $VCVER = 140 -o $VCVER = 150; then PathFormat "${UCRTSDKDIR}lib/$UCRTVERSION/ucrt/x64" ucrtlibpath_formatted=$formatted_path ILIB="$ILIB;$ucrtlibpath_formatted" ILIB1="$ILIB1 -LIBPATH:$ucrtlibpath_formatted" fi else - ILIB="$ILIB;$COMPATH/lib" - ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib" + if test $vcnum = "150"; then + ILIB="$ILIB;$COMPATH/lib/x86" + ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib/x86" + else + ILIB="$ILIB;$COMPATH/lib" + ILIB1="$ILIB1 -LIBPATH:$COMPATH/lib" + fi ILIB="$ILIB;$WINDOWS_SDK_HOME/lib" ILIB1="$ILIB1 -LIBPATH:$WINDOWS_SDK_HOME/lib" if test $WINDOWS_SDK_VERSION = 80 -o $WINDOWS_SDK_VERSION = 81 -o $WINDOWS_SDK_VERSION = 10; then @@ -12437,7 +12560,11 @@ if test "$build_os" = "cygwin"; then ATL_INCLUDE="$WINDOWS_SDK_HOME/include/atl" fi if test "$BITNESS_OVERRIDE" = 64; then - ATL_LIB="$ATL_LIB/amd64" + if test $VCVER = "150"; then + ATL_LIB="$ATL_LIB/x64" + else + ATL_LIB="$ATL_LIB/amd64" + fi fi # sort.exe and find.exe also exist in C:/Windows/system32 so need /usr/bin/ PathFormat "/usr/bin/find.exe" diff --git a/external/coinmp/ExternalProject_coinmp.mk b/external/coinmp/ExternalProject_coinmp.mk index c2090d7..a09f266 100644 --- a/external/coinmp/ExternalProject_coinmp.mk +++ b/external/coinmp/ExternalProject_coinmp.mk @@ -21,6 +21,8 @@ $(call gb_ExternalProject_get_state_target,coinmp,build) : /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \ $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 150,$(VCVER)),/p:PlatformToolset=v141 /p:VisualStudioVersion=15.0 /ToolsVersion:15.0) \ + $(if $(filter $(UCRTVERSION),),,/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \ ,CoinMP/MSVisualStudio/v9) else diff --git a/external/cppunit/ExternalProject_cppunit.mk b/external/cppunit/ExternalProject_cppunit.mk index a11cc27..6722a27 100644 --- a/external/cppunit/ExternalProject_cppunit.mk +++ b/external/cppunit/ExternalProject_cppunit.mk @@ -19,7 +19,9 @@ $(call gb_ExternalProject_get_state_target,cppunit,build) : PROFILEFLAGS="$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \ $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ - $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0)" \ + $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 150,$(VCVER)),/p:PlatformToolset=v141 /p:VisualStudioVersion=15.0 /ToolsVersion:15.0) \ + $(if $(filter $(UCRTVERSION),),,/p:WindowsTargetPlatformVersion=$(UCRTVERSION))" \ && msbuild.exe cppunit_dll.vcxproj /p:Configuration=$${PROFILEFLAGS} \ && cd ../DllPlugInTester \ && msbuild.exe DllPlugInTester.vcxproj /p:Configuration=$${PROFILEFLAGS} \ diff --git a/external/lcms2/ExternalProject_lcms2.mk b/external/lcms2/ExternalProject_lcms2.mk index e307a30..b54b368 100644 --- a/external/lcms2/ExternalProject_lcms2.mk +++ b/external/lcms2/ExternalProject_lcms2.mk @@ -19,7 +19,10 @@ $(call gb_ExternalProject_get_state_target,lcms2,build): $(call gb_ExternalProject_run,build,\ $(if $(filter 140,$(VCVER)),$(DEVENV) /Upgrade lcms2_DLL.vcxproj,echo up-to-date) && \ MSBuild.exe lcms2_DLL.vcxproj \ - $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140,/p:PlatformToolset=v120) \ + $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ + $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 150,$(VCVER)),/p:PlatformToolset=v141 /p:VisualStudioVersion=15.0 /ToolsVersion:15.0) \ + $(if $(filter $(UCRTVERSION),),,/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \ /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) /p:TargetName=lcms2 \ ,Projects/VC2013/lcms2_DLL) diff --git a/external/libgltf/ExternalProject_libgltf.mk b/external/libgltf/ExternalProject_libgltf.mk index 90a1d96..94e20b6 100644 --- a/external/libgltf/ExternalProject_libgltf.mk +++ b/external/libgltf/ExternalProject_libgltf.mk @@ -44,6 +44,8 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) : /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 150,$(VCVER)),/p:PlatformToolset=v141 /p:VisualStudioVersion=15.0 /ToolsVersion:15.0) \ + $(if $(filter $(UCRTVERSION),),,/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \ '/p:AdditionalIncludeDirectories=$(subst $(WHITESPACE),;,$(subst /,\,$(strip $(libgltf_AdditionalIncludes))))' \ /p:AdditionalLibraryDirectories=$(if $(SYSTEM_EPOXY),,"$(subst /,\,$(call gb_UnpackedTarball_get_dir,epoxy))\lib\$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release)\Win32") \ ,build/win32) diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index 2c97ef1..2f28cea 100644 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -35,10 +35,10 @@ $(call gb_ExternalProject_get_state_target,python3,build) : MAKEFLAGS= MSBuild.exe pcbuild.sln /t:Build \ /p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \ /p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \ - $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 \ - /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ - $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 \ - /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 120,$(VCVER)),/p:PlatformToolset=v120 /p:VisualStudioVersion=12.0 /ToolsVersion:12.0) \ + $(if $(filter 140,$(VCVER)),/p:PlatformToolset=v140 /p:VisualStudioVersion=14.0 /ToolsVersion:14.0) \ + $(if $(filter 150,$(VCVER)),/p:PlatformToolset=v141 /p:VisualStudioVersion=15.0 /ToolsVersion:15.0) \ + $(if $(filter $(UCRTVERSION),),,/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \ ,PCBuild) else diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp index 8f21124..160e73e 100644 --- a/scp2/source/ooo/vc_redist.scp +++ b/scp2/source/ooo/vc_redist.scp @@ -56,3 +56,22 @@ End #endif +#if defined(WITH_VC150_REDIST) + +#if defined WINDOWS_X64 +MergeModule gid_MergeModule_Microsoft_VC150_CRT_x64 +#else +MergeModule gid_MergeModule_Microsoft_VC150_CRT_x86 +#endif + Feature = gm_Root; +#if defined WINDOWS_X64 + Name = "Microsoft_VC150_CRT_x64.msm"; +#else + Name = "Microsoft_VC150_CRT_x86.msm"; +#endif + RootDir = "TARGETDIR"; + ComponentCondition = "VC_REDIST=1"; +End + +#endif + _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits