summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-01-13 13:08:02 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2020-01-13 13:00:04 +0100
commita4681e8b74a59439110af42ff18cce021512056d (patch)
tree1086ba3fe220b55f1bce64e4410ed75a3aa70299
parent353d4528b8ad8abca9a13f3016632e42bab7afde (diff)
Merge both x64 and x86 CRT merge modules into x64 MSI
... because it contains x86 binaries in addition to x64: e.g., twain32shim, spsupp_x86. The opposite (inclusion of x64 MSM into x86 MSI) is not possible ( see https://stackoverflow.com/questions/58181986 ), so do it just for x64 MSI. And fix inclusion of CRT MSMs in VS2019, which were detected in configure.ac, but not used in scp2/source/ooo/vc_redist.scp. Change-Id: I3935fce751b1b6d04291fede6b82be25fe541582 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86667 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--configure.ac9
-rw-r--r--scp2/source/ooo/vc_redist.scp55
2 files changed, 19 insertions, 45 deletions
diff --git a/configure.ac b/configure.ac
index 55a32ad70734..04e110bc6133 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5660,11 +5660,6 @@ find_msvc_x64_dlls()
msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC142.CRT"
break
fi
- echo "$as_me:$LINENO: testing $VC_PRODUCT_DIR/redist/MSVC/$l/x64/Microsoft.VC150.CRT" >&5
- if test -d "$VC_PRODUCT_DIR/redist/MSVC/$l/onecore/x64/Microsoft.VC150.CRT"; then
- msvcdllpath="$VC_PRODUCT_DIR/redist/MSVC/$l/onecore/x64/Microsoft.VC150.CRT"
- break
- fi
done
;;
esac
@@ -7362,7 +7357,9 @@ if test $_os = "WINNT"; then
MSVC_DLLS="$msvcdlls"
MSM_PATH=`win_short_path_for_make "$msmdir"`
# MSVC 15.3 changed it to VC141
- if echo "$msvcdllpath" | grep -q "VC141.CRT$"; then
+ if echo "$msvcdllpath" | grep -q "VC142.CRT$"; then
+ SCPDEFS="$SCPDEFS -DWITH_VC142_REDIST"
+ elif echo "$msvcdllpath" | grep -q "VC141.CRT$"; then
SCPDEFS="$SCPDEFS -DWITH_VC141_REDIST"
else
SCPDEFS="$SCPDEFS -DWITH_VC${VCVER}_REDIST"
diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp
index 727c13b27615..d32758312766 100644
--- a/scp2/source/ooo/vc_redist.scp
+++ b/scp2/source/ooo/vc_redist.scp
@@ -18,57 +18,34 @@
#include "macros.inc"
-#if defined(WITH_VC140_REDIST)
-
-#if defined WINDOWS_X64
-MergeModule gid_MergeModule_Microsoft_VC140_CRT_x64
-#else
-MergeModule gid_MergeModule_Microsoft_VC140_CRT_x86
-#endif
- Feature = gm_Root;
-#if defined WINDOWS_X64
- Name = "Microsoft_VC140_CRT_x64.msm";
-#else
- Name = "Microsoft_VC140_CRT_x86.msm";
-#endif
- RootDir = "TARGETDIR";
- ComponentCondition = "VC_REDIST=1";
-End
-
+#if defined(WITH_VC142_REDIST)
+ #define WINDOWS_X64_MERGEMODULE gid_MergeModule_Microsoft_VC142_CRT_x64
+ #define WINDOWS_X64_MERGEMODULE_FILE "Microsoft_VC142_CRT_x64.msm"
+ #define WINDOWS_X86_MERGEMODULE gid_MergeModule_Microsoft_VC142_CRT_x86
+ #define WINDOWS_X86_MERGEMODULE_FILE "Microsoft_VC142_CRT_x86.msm"
+#elif defined(WITH_VC141_REDIST)
+ #define WINDOWS_X64_MERGEMODULE gid_MergeModule_Microsoft_VC141_CRT_x64
+ #define WINDOWS_X64_MERGEMODULE_FILE "Microsoft_VC141_CRT_x64.msm"
+ #define WINDOWS_X86_MERGEMODULE gid_MergeModule_Microsoft_VC141_CRT_x86
+ #define WINDOWS_X86_MERGEMODULE_FILE "Microsoft_VC141_CRT_x86.msm"
#endif
-#if defined(WITH_VC150_REDIST)
+#if defined(WINDOWS_X86_MERGEMODULE)
-#if defined WINDOWS_X64
-MergeModule gid_MergeModule_Microsoft_VC150_CRT_x64
-#else
-MergeModule gid_MergeModule_Microsoft_VC150_CRT_x86
-#endif
+MergeModule WINDOWS_X86_MERGEMODULE
Feature = gm_Root;
-#if defined WINDOWS_X64
- Name = "Microsoft_VC150_CRT_x64.msm";
-#else
- Name = "Microsoft_VC150_CRT_x86.msm";
-#endif
+ Name = WINDOWS_X86_MERGEMODULE_FILE;
RootDir = "TARGETDIR";
ComponentCondition = "VC_REDIST=1";
End
#endif
-#if defined(WITH_VC141_REDIST)
+#if defined(WINDOWS_X64) && defined(WINDOWS_X64_MERGEMODULE)
-#if defined WINDOWS_X64
-MergeModule gid_MergeModule_Microsoft_VC141_CRT_x64
-#else
-MergeModule gid_MergeModule_Microsoft_VC141_CRT_x86
-#endif
+MergeModule WINDOWS_X64_MERGEMODULE
Feature = gm_Root;
-#if defined WINDOWS_X64
- Name = "Microsoft_VC141_CRT_x64.msm";
-#else
- Name = "Microsoft_VC141_CRT_x86.msm";
-#endif
+ Name = WINDOWS_X64_MERGEMODULE_FILE;
RootDir = "TARGETDIR";
ComponentCondition = "VC_REDIST=1";
End