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 <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
This commit is contained in:
@@ -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 \
|
||||
))
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
183
configure.ac
183
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"
|
||||
|
2
external/coinmp/ExternalProject_coinmp.mk
vendored
2
external/coinmp/ExternalProject_coinmp.mk
vendored
@@ -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
|
||||
|
4
external/cppunit/ExternalProject_cppunit.mk
vendored
4
external/cppunit/ExternalProject_cppunit.mk
vendored
@@ -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} \
|
||||
|
5
external/lcms2/ExternalProject_lcms2.mk
vendored
5
external/lcms2/ExternalProject_lcms2.mk
vendored
@@ -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)
|
||||
|
2
external/libgltf/ExternalProject_libgltf.mk
vendored
2
external/libgltf/ExternalProject_libgltf.mk
vendored
@@ -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)
|
||||
|
8
external/python3/ExternalProject_python3.mk
vendored
8
external/python3/ExternalProject_python3.mk
vendored
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user