MSVC 15.0: Fix configure to work with update 15.3
Update 15.3 renamed redist directory from 150 to 141 and introduced intermediate build number directories, that are different from the compiler build number directories. While the compiler is located under: [...]/MSVC/14.11.25503/bin/HostX64/x64/cl.exe the merge modules are located now under: VC/redist/MSVC/14.11.25325/MergeModules Change the hard coded detection approach, to the dynamic one: list all directories in suspected locations and check for existnace of the artifacts we are looking for. Change-Id: Ie040f290d1748ab4ec5c715b6636cc3733329e1c Reviewed-on: https://gerrit.libreoffice.org/41922 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This commit is contained in:
committed by
Thorsten Behrens
parent
89c25a02cc
commit
6dce5d167e
+15
-12
@@ -5207,6 +5207,9 @@ find_winsdk()
|
||||
find_msms()
|
||||
{
|
||||
my_msm_file=Microsoft_VC${VCVER}_CRT_x86.msm
|
||||
if test $VCVER = 150; then
|
||||
my_msm_file=Microsoft_VC141_CRT_x86.msm
|
||||
fi
|
||||
AC_MSG_CHECKING([for $my_msm_file])
|
||||
msmdir=
|
||||
for ver in 14.0 15.0; do
|
||||
@@ -5236,16 +5239,14 @@ find_msms()
|
||||
|
||||
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
|
||||
else
|
||||
# got everything in 14.10.15017 except the MSMS in 25008... huh?
|
||||
my_msm_dir="$VC_PRODUCT_DIR/redist/MSVC/14.10.25008/MergeModules/"
|
||||
for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
|
||||
AC_MSG_CHECKING([for $VC_PRODUCT_DIR/redist/MSVC/$l/MergeModules])
|
||||
my_msm_dir="$VC_PRODUCT_DIR/redist/MSVC/$l/MergeModules/"
|
||||
if test -e "$my_msm_dir/$my_msm_file"; then
|
||||
msmdir=$my_msm_dir
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if test -n "$msmdir"; then
|
||||
@@ -5265,11 +5266,13 @@ find_msvc_x64_dlls()
|
||||
{
|
||||
msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT"
|
||||
if test "$VCVER" = 150; then
|
||||
if test $vcbuildnumber = 14.10.25017; then
|
||||
msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$vcbuildnumber/onecore/x64/Microsoft.VC${VCVER}.CRT"
|
||||
else
|
||||
msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$vcbuildnumber/x64/Microsoft.VC${VCVER}.CRT"
|
||||
fi
|
||||
for l in `ls -1 $VC_PRODUCT_DIR/redist/MSVC/`; do
|
||||
AC_MSG_CHECKING([for $VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC141.CRT])
|
||||
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
|
||||
done
|
||||
fi
|
||||
msvcdlls="msvcp140.dll vcruntime140.dll"
|
||||
for dll in $msvcdlls; do
|
||||
|
||||
Reference in New Issue
Block a user