[Libreoffice-commits] .: oowintool post_download.in

Jan Holesovsky kendy at kemper.freedesktop.org
Wed Nov 16 12:00:40 PST 2011


 oowintool        |   16 +++++++++++-----
 post_download.in |   12 ++++++------
 2 files changed, 17 insertions(+), 11 deletions(-)

New commits:
commit 41e995ec361cd466a3f287d3eb33c0080bdbb50c
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Wed Nov 16 20:59:16 2011 +0100

    x64 merge modules are not mandatory, only warn when they are missing.

diff --git a/oowintool b/oowintool
index bf5c5d9..6cb98a3 100755
--- a/oowintool
+++ b/oowintool
@@ -46,7 +46,8 @@ sub print_syntax()
     print " commands:\n";
     print "   --msvc-ver              - print version of MSVC eg. 6.0\n";
     print "   --msvc-copy-dlls <dest> - copy msvc[pr]??.dlls into <dest>/msvcp??/\n";
-    print "   --msvc-copy-msms <dest> - copy mscrt merge modules  <dest>/msm90/\n";
+    print "   --msvc-copy-msms <dest> - copy mscrt merge modules to <dest>/msm90/\n";
+    print "   --msvc-copy-msms-64 <ds>- copy the x64 mscrt merge modules to <ds>/msm90/\n";
     print "   --msvc-productdir       - print productdir\n";
     print "   --msvs-productdir       - print productdir\n";
     print "   --dotnetsdk-dir         - print .NET SDK path\n";
@@ -285,16 +286,17 @@ sub msvc_copy_dlls($)
     }
 }
 
-sub msvc_copy_msms($)
+sub msvc_copy_msms($$)
 {
-    my $dest = shift;
+    # $postfix is empty for x86, and '_x64' for x64
+    my ($dest, $postfix) = @_;
     my $common_files_path = $ENV{"CommonProgramFiles(x86)"};
     if (!defined $common_files_path) {
         $common_files_path = $ENV{CommonProgramFiles};
     }
     defined $common_files_path || return;
     my $msm_path = (cygpath $common_files_path . "\\Merge Modules", 'w', $output_format);
-    foreach $fname ('Microsoft_VC90_CRT_x86.msm', 'Microsoft_VC90_CRT_x86_x64.msm', 'policy_9_0_Microsoft_VC90_CRT_x86.msm', 'policy_9_0_Microsoft_VC90_CRT_x86_x64.msm') {
+    foreach $fname ("Microsoft_VC90_CRT_x86$postfix.msm", "policy_9_0_Microsoft_VC90_CRT_x86$postfix.msm") {
 	print STDERR "Copying $msm_path/$fname to $dest\n";
         copy ("$msm_path/$fname", $dest) || die "copy failed: $!";
     }
@@ -330,7 +332,11 @@ while (@commands) {
     } elsif ($opt eq '--msvc-copy-msms') {
 	my $dest = shift @commands;
 	defined $dest || die "copy-msms requires a destination directory";
-	msvc_copy_msms( $dest );
+	msvc_copy_msms( $dest, '' );
+    } elsif ($opt eq '--msvc-copy-msms-64') {
+	my $dest = shift @commands;
+	defined $dest || die "copy-msms-64 requires a destination directory";
+	msvc_copy_msms( $dest, '_x64' );
     } elsif ($opt eq '--msvs-productdir') {
 	print_msvs_productdir();
     } elsif ($opt eq '--msvc-productdir') {
diff --git a/post_download.in b/post_download.in
index c93cd27..ea6b943 100644
--- a/post_download.in
+++ b/post_download.in
@@ -38,9 +38,7 @@ dnl ===================================================================
 dnl Windows builds - use oowintool to copy CRT dlls and manifest
 dnl ===================================================================
 if test "$COM" = "MSC"; then
-   if ./oowintool --msvc-copy-dlls ./external/msvcp ; then
-       :
-    else
+    if ! ./oowintool --msvc-copy-dlls ./external/msvcp ; then
        AC_MSG_ERROR([oowintool failed to copy CRT])
     fi
 fi
@@ -49,11 +47,13 @@ dnl ===================================================================
 dnl Windows builds - use oowintool to copy VC redist merge modules
 dnl ===================================================================
 if test "$COM" = "MSC"; then
-   if ./oowintool --msvc-copy-msms ./external/msm90 ; then
-       :
-    else
+    if ! ./oowintool --msvc-copy-msms ./external/msm90 ; then
        AC_MSG_ERROR([oowintool failed to copy merge modules])
     fi
+    if ! ./oowintool --msvc-copy-msms-64 ./external/msm90 ; then
+       AC_MSG_WARN([oowintool failed to copy x64 merge modules, installation
+will lack the 64-bit Explorer extension])
+    fi
 fi
 
 dnl ===================================================================


More information about the Libreoffice-commits mailing list