[Libreoffice-commits] core.git: Branch 'distro/suse/suse-4.0' - download external/msvcp100 external/prj oowintool scp2/source

Andras Timar atimar at suse.com
Tue May 21 03:52:06 PDT 2013


 download                                             |   14 -----
 external/msvcp100/README_msvcX100.dll                |    2 
 external/prj/d.lst                                   |    4 +
 oowintool                                            |    2 
 scp2/source/ooo/vc_redist.scp                        |   22 ---------
 scp2/source/winexplorerext/file_winexplorerext.scp   |   45 +++++++++++++++++++
 scp2/source/winexplorerext/module_winexplorerext.scp |    6 ++
 7 files changed, 58 insertions(+), 37 deletions(-)

New commits:
commit b0a3cb212a2b53b2a6551b9c7f23355de7157e7c
Author: Andras Timar <atimar at suse.com>
Date:   Tue May 21 03:43:52 2013 -0700

    make 64-bit shell extensions work, put 64-bit VC runtime in the same dir
    
    Unlike in case of msvcr90.dll, which went to WinSxS, msvcr100.dll is installed
    to the "system32" folder. Windows installer automatically replaces it to
    SysWOW64. The problem is that this way 64-bit dlls end up in the wrong directory.
    They conflict with the 32-bit dlls, and will not be installed. Therefore
    64-bit shell extensions will not work, unless the 64-bit VC runtime is
    installed from other source. It is not possible to install both 32-bit and
    64-bit VC Runtime with merge modules in case of VS 2010 and VS 2012.
    For the 64-bit shell extensions, we can install the runtime dlls next to the files.
    
    Change-Id: I47060f8ff764ca1156596139ecbec003f964bc60

diff --git a/download b/download
index 985443c..a04d1f4 100755
--- a/download
+++ b/download
@@ -50,14 +50,9 @@ if [ "$COM" = "MSC" -a "$CPUNAME" = "INTEL" ]; then
 fi
 
 if [ "$COM" = "MSC" ]; then
-    if [ "$CPUNAME" = "INTEL" ]; then
-        ver=""
-    else
-        ver="-64"
-    fi
     # use oowintool to copy CRT dlls and manifest
-    if ! ./oowintool --msvc-copy-dlls"$ver" ./external/msvcp ; then
-       echo "oowintool failed to copy CRT"
+    if ! ./oowintool --msvc-copy-dlls-64 ./external/msvcp ; then
+       echo "oowintool failed to copy 64-bit CRT"
        exit 1
     fi
 
@@ -66,11 +61,6 @@ if [ "$COM" = "MSC" ]; then
        echo "oowintool failed to copy merge modules"
        exit 1
     fi
-    if [ "$CPUNAME" = "INTEL" ]; then
-        if ! ./oowintool --msvc-copy-msms-64 ./external/msm"$VCVER" ; then
-           echo "WARNING: oowintool failed to copy x64 merge modules, installation will lack the 64-bit Explorer extension"
-        fi
-    fi
 fi
 
 # Local Variables:
diff --git a/external/msvcp100/README_msvcX100.dll b/external/msvcp100/README_msvcX100.dll
index a1b0e73..ada64ed 100644
--- a/external/msvcp100/README_msvcX100.dll
+++ b/external/msvcp100/README_msvcX100.dll
@@ -1,2 +1,2 @@
-Put msvcp100.dll, msvcr100.dll in this directory for Windows builds using a
+Put 64-bit msvcp100.dll, msvcr100.dll in this directory for Windows builds using a
 VS 2010 / VC 10.0 compiler.
diff --git a/external/prj/d.lst b/external/prj/d.lst
index a797a3e..479834f 100644
--- a/external/prj/d.lst
+++ b/external/prj/d.lst
@@ -40,6 +40,10 @@ mkdir: %_DEST%\inc\external\wine
 ..\msvcp90\msvcr90*.dll %_DEST%\bin
 ..\msvcp90\Microsoft.VC90.CRT.manifest %_DEST%\bin\Microsoft.VC90.CRT.manifest
 ..\msvcp90\Microsoft.VC90.DebugCRT.manifest %_DEST%\bin\Microsoft.VC90.DebugCRT.manifest
+..\msvcp100\msvcp100*.dll %_DEST%\bin
+..\msvcp100\msvcr100*.dll %_DEST%\bin
+..\msvcp110\msvcp110*.dll %_DEST%\bin
+..\msvcp110\msvcr110*.dll %_DEST%\bin
 ..\msm90\*.msm %_DEST%\bin
 ..\msm100\*.msm %_DEST%\bin
 ..\msm110\*.msm %_DEST%\bin
diff --git a/oowintool b/oowintool
index 26221f0..6f5ab7c 100755
--- a/oowintool
+++ b/oowintool
@@ -313,7 +313,7 @@ sub msvc_copy_dlls($$)
     my $srcdir = (cygpath ($ver->{'product_dir'}, 'w', 'u') . '/' .
           $ver->{'dll_path'});
 
-    $srcdir =~ s/x86/amd64/ if ($arch eq 'amd64');
+    $srcdir =~ s|/x86/|/x64/| if ($arch eq 'amd64');
 
     copy_dll ($srcdir, "msvcp" . $ver->{'dll_suffix'} . ".dll",
           $dest . $ver->{'dll_suffix'});
diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp
index 283ba9c..82cd0d0 100644
--- a/scp2/source/ooo/vc_redist.scp
+++ b/scp2/source/ooo/vc_redist.scp
@@ -87,26 +87,4 @@ End
 
 #endif
 
-#if defined(WITH_VC100_REDIST)
-
-MergeModule gid_MergeModule_Microsoft_VC100_CRT_x64
-    Feature = gm_Root;
-    Name = "Microsoft_VC100_CRT_x64.msm";
-    RootDir = "TARGETDIR";
-    ComponentCondition = "(VC_REDIST=1) AND VersionNT64";
-End
-
-#endif
-
-#if defined(WITH_VC110_REDIST)
-
-MergeModule gid_MergeModule_Microsoft_VC110_CRT_x64
-    Feature = gm_Root;
-    Name = "Microsoft_VC110_CRT_x64.msm";
-    RootDir = "TARGETDIR";
-    ComponentCondition = "(VC_REDIST=1) AND VersionNT64";
-End
-
-#endif
-
 #endif
diff --git a/scp2/source/winexplorerext/file_winexplorerext.scp b/scp2/source/winexplorerext/file_winexplorerext.scp
index f2a2a89..1aadacf 100644
--- a/scp2/source/winexplorerext/file_winexplorerext.scp
+++ b/scp2/source/winexplorerext/file_winexplorerext.scp
@@ -95,3 +95,48 @@ File gid_File_Lib_Shlxtmsi
     Dir = SCP2_OOO_BIN_DIR;
     Name = "shlxtmsi.dll";
 End
+
+#ifdef BUILD_X64
+
+#if defined(WITH_VC100_REDIST)
+
+File gid_File_Lib_Msvcr100
+    LIB_FILE_BODY;
+    Styles = (PACKED);
+    Dir = gid_Dir_Shlxthdl;
+    Name = "msvcr100.dll";
+    ComponentCondition = "VersionNT64";
+End
+
+File gid_File_Lib_Msvcp100
+    LIB_FILE_BODY;
+    Styles = (PACKED);
+    Dir = gid_Dir_Shlxthdl;
+    Name = "msvcp100.dll";
+    ComponentCondition = "VersionNT64";
+End
+
+#endif
+
+#if defined(WITH_VC110_REDIST)
+
+File gid_File_Lib_Msvcr110
+    LIB_FILE_BODY;
+    Styles = (PACKED);
+    Dir = gid_Dir_Shlxthdl;
+    Name = "msvcr110.dll";
+    ComponentCondition = "VersionNT64";
+End
+
+File gid_File_Lib_Msvcp110
+    LIB_FILE_BODY;
+    Styles = (PACKED);
+    Dir = gid_Dir_Shlxthdl;
+    Name = "msvcp110.dll";
+    ComponentCondition = "VersionNT64";
+End
+
+#endif
+
+#endif
+
diff --git a/scp2/source/winexplorerext/module_winexplorerext.scp b/scp2/source/winexplorerext/module_winexplorerext.scp
index 3932e4f..6756a30 100644
--- a/scp2/source/winexplorerext/module_winexplorerext.scp
+++ b/scp2/source/winexplorerext/module_winexplorerext.scp
@@ -51,5 +51,9 @@ Module gid_Module_Optional_Winexplorerext_x64
     Dirs = (gid_Dir_Shlxthdl);
     Files = (gid_File_Lib_Shlxthdl64,
              gid_File_Lib_OOoFilt64,
-             gid_File_Lib_PropertyHdl64);
+             gid_File_Lib_PropertyHdl64,
+             gid_File_Lib_Msvcp100,
+             gid_File_Lib_Msvcr100,
+             gid_File_Lib_Msvcp110,
+             gid_File_Lib_Msvcr110);
 End


More information about the Libreoffice-commits mailing list