summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorTomoyuki Kubota <himajin100000@gmail.com>2019-02-22 15:35:39 +0900
committerMichael Stahl <Michael.Stahl@cib.de>2019-04-16 13:01:03 +0200
commitf61d6474205793b0838d90b09037cef52408a4b9 (patch)
treec2cfcb7cbd32eb7930bf259c3f0f3107a5718360 /configure.ac
parentfix usage of successful/successfully in comments (diff)
downloadcore-f61d6474205793b0838d90b09037cef52408a4b9.tar.gz
core-f61d6474205793b0838d90b09037cef52408a4b9.zip
Initial VS 2019 Support
Change-Id: I8e08efb549ebd52c37183a1185d6de73f2b00601 Reviewed-on: https://gerrit.libreoffice.org/64630 Reviewed-by: himajin100000 <himajin100000@gmail.com> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac85
1 files changed, 48 insertions, 37 deletions
diff --git a/configure.ac b/configure.ac
index 2d62af9981a9..71e75103d38f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3199,7 +3199,9 @@ map_vs_year_to_version()
case $1 in
2017)
- vsversion=15.0;;
+ vsversion=15;;
+ 2019)
+ vsversion=16;;
*)
AC_MSG_ERROR([Assertion failure - invalid argument "$1" to map_vs_year_to_version()]);;
esac
@@ -3217,7 +3219,7 @@ vs_versions_to_check()
vsversions=$vsversion
else
# We accept only 2017
- vsversions="15.0"
+ vsversions="15"
fi
}
@@ -3269,37 +3271,40 @@ find_ucrt()
find_msvc()
{
- # Find Visual C++ 2017
+ # Find Visual C++ 2017/2019
# Args: $1 (optional) : The VS version year
# Return values: $vctest, $vcyear, $vcnum, $vcnumwithdot, $vcbuildnumber
unset vctest vcnum vcnumwithdot vcbuildnumber
vs_versions_to_check "$1"
-
+ vswhere="$(perl -e 'print $ENV{"ProgramFiles(x86)"}')"
+ vswhere+="\\Microsoft Visual Studio\\Installer\\vswhere.exe"
+ PathFormat "$vswhere"
+ vswhere=$formatted_path
for ver in $vsversions; do
- reg_get_value_32 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver/Setup/VC/ProductDir
- if test -n "$regvalue"; then
- vctest=$regvalue
- break
- fi
- 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"
+ vswhereoutput=`$vswhere -version "@<:@ $ver , $(expr $ver + 1) @:}@" -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath | head -1`
+ if test -n "$vswhereoutput"; then
+ PathFormat "$vswhereoutput"
vctest=$formatted_path
break
fi
done
+
if test -n "$vctest"; then
- vcnumwithdot=$ver
+ vcnumwithdot="$ver.0"
case "$vcnumwithdot" in
15.0)
vcyear=2017
vcnum=150
- vcbuildnumber=`ls $vctest/VC/Tools/MSVC -A1r | head -1`
+ ;;
+ 16.0)
+ vcyear=2019
+ vcnum=160
;;
esac
+ vcbuildnumber=`ls $vctest/VC/Tools/MSVC -A1r | head -1`
+
fi
}
@@ -3308,7 +3313,6 @@ MSBUILD_PATH=
DEVENV=
if test "$_os" = "WINNT"; then
AC_MSG_CHECKING([Visual C++])
-
find_msvc "$with_visual_studio"
if test -z "$vctest"; then
if test -n "$with_visual_studio"; then
@@ -3367,13 +3371,21 @@ if test "$_os" = "WINNT"; then
AC_MSG_RESULT([found: $regvalue])
MSBUILD_PATH=`win_short_path_for_make "$regvalue"`
else
- if test "$BITNESS_OVERRIDE" = ""; then
- regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin"
+ if test "$vcnumwithdot" = "16.0"; then
+ if test "$BITNESS_OVERRIDE" = ""; then
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin"
+ else
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin/amd64"
+ fi
else
- regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin/amd64"
+ if test "$BITNESS_OVERRIDE" = ""; then
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin"
+ else
+ regvalue="$VC_PRODUCT_DIR/../MSBuild/$vcnumwithdot/Bin/amd64"
+ fi
fi
MSBUILD_PATH=`win_short_path_for_make "$regvalue"`
- AC_MSG_RESULT([$regvalue])
+ AC_MSG_RESULT([$regvalue])
fi
# Find the version of devenv.exe
@@ -3466,9 +3478,8 @@ if test "$_os" = "WINNT"; then
# 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
- 150)
- COMEX=19
+ case "$vcnum" in
+ 150|160)
WINDOWS_SDK_ACCEPTABLE_VERSIONS="10.0 8.1A 8.1 8.0 7.1A"
;;
esac
@@ -5422,9 +5433,11 @@ find_winsdk()
find_msms()
{
my_msm_files=Microsoft_VC${VCVER}_CRT_x86.msm
- if test $VCVER = 150; then
+ case "$VCVER" in
+ 150|160)
my_msm_files="Microsoft_VC141_CRT_x86.msm ${my_msm_files}"
- fi
+ ;;
+ esac
AC_MSG_CHECKING([for ${my_msm_files}])
msmdir=
for ver in 14.0 15.0; do
@@ -5457,7 +5470,8 @@ find_msms()
fi
dnl Starting from MSVC 15.0, merge modules are located in different directory
- if test $VCVER = 150; then
+ case "$VCVER" in
+ 150|160)
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/"
@@ -5468,7 +5482,8 @@ find_msms()
fi
done
done
- fi
+ ;;
+ esac
if test -n "$msmdir"; then
msmdir=`cygpath -m "$msmdir"`
@@ -5486,7 +5501,8 @@ find_msms()
find_msvc_x64_dlls()
{
msvcdllpath="$VC_PRODUCT_DIR/redist/x64/Microsoft.VC${VCVER}.CRT"
- if test "$VCVER" = 150; then
+ case "$VCVER" in
+ 150|160)
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
@@ -5498,7 +5514,8 @@ find_msvc_x64_dlls()
break
fi
done
- fi
+ ;;
+ esac
msvcdlls="msvcp140.dll vcruntime140.dll"
for dll in $msvcdlls; do
if ! test -f "$msvcdllpath/$dll"; then
@@ -12617,15 +12634,9 @@ if test "$build_os" = "cygwin"; then
ATL_INCLUDE="$WINDOWS_SDK_HOME/include/atl"
fi
if test "$BITNESS_OVERRIDE" = 64; then
- if test $VCVER = "150"; then
- ATL_LIB="$ATL_LIB/x64"
- else
- ATL_LIB="$ATL_LIB/amd64"
- fi
+ ATL_LIB="$ATL_LIB/x64"
else
- if test $VCVER = "150"; then
- ATL_LIB="$ATL_LIB/x86"
- fi
+ ATL_LIB="$ATL_LIB/x86"
fi
# sort.exe and find.exe also exist in C:/Windows/system32 so need /usr/bin/
PathFormat "/usr/bin/find.exe"