diff options
author | Peter Foley <pefoley2@verizon.net> | 2012-08-31 13:24:00 -0400 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2012-10-07 10:42:17 +0200 |
commit | 59bf5321fa4c49b0d140700e2c56de7e1b637926 (patch) | |
tree | 44a58b2b28860fe36eac97b9f4bf23cff542f771 | |
parent | e994a91060c145ad08ef75dcf9862043202ac6ce (diff) |
fix msm suport for VS2012
Change-Id: Ibc816de83eb48163671948ecc84e7653f2b4ec13
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.in | 10 | ||||
-rwxr-xr-x | external/msm100/README_msm100.txt | 6 | ||||
-rwxr-xr-x | external/msm110/README_msm110.txt | 6 | ||||
-rw-r--r-- | external/prj/d.lst | 2 | ||||
-rw-r--r-- | instsetoo_native/inc_openoffice/windows/msi_templates/_Validat.idt | 1 | ||||
-rwxr-xr-x | oowintool | 32 | ||||
-rw-r--r-- | post_download.in | 4 | ||||
-rw-r--r-- | scp2/source/ooo/vc_redist.scp | 45 |
9 files changed, 90 insertions, 17 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index 97f6ec6ca4fb..251847ee4ee3 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -622,6 +622,7 @@ export USE_XINERAMA=@USE_XINERAMA@ export UUIDGEN=@UUIDGEN@ export VALGRIND_CFLAGS=@VALGRIND_CFLAGS@ export VALIDATOR_EXTENSION_PACK=@VALIDATOR_EXTENSION_PACK@ +export VCVER=@VCVER@ export VERBOSE=@VERBOSE@ export VIGRA_TARBALL=@VIGRA_TARBALL@ export VISIO_CFLAGS=@VISIO_CFLAGS@ diff --git a/configure.in b/configure.in index 2d3115f04313..63103aefab87 100644 --- a/configure.in +++ b/configure.in @@ -3185,12 +3185,15 @@ if test "$_os" = "WINNT"; then if test "$CCNUMVER" -ge "001700000000"; then COMEX=14 MSVSVER=2012 + VCVER=110 elif test "$CCNUMVER" -ge "001600000000"; then COMEX=13 MSVSVER=2010 + VCVER=100 elif test "$CCNUMVER" -ge "001500000000"; then COMEX=12 MSVSVER=2008 + VCVER=90 else AC_MSG_ERROR([Compiler too old. Use Microsoft Visual Studio 2008 or 2010.]) fi @@ -3270,6 +3273,7 @@ if test "$_os" = "WINNT"; then fi fi AC_SUBST(COMEX) +AC_SUBST(VCVER) PathFormat "$MSPDB_PATH" MSPDB_PATH="$formatted_path" AC_SUBST(SHOWINCLUDES_PREFIX) @@ -5675,10 +5679,10 @@ fi AC_SUBST([JITC_PROCESSOR_TYPE]) if test $_os = "WINNT"; then - AC_MSG_CHECKING([for Microsoft_VC100_CRT_x86.msm]) - if ./oowintool --msvc-find-msms-vc100; then + AC_MSG_CHECKING([for Microsoft_VC"$VCVER"_CRT_x86.msm]) + if ./oowintool --msvc-find-msms; then AC_MSG_RESULT([yes]) - SCPDEFS="$SCPDEFS -DWITH_VC100_REDIST" + SCPDEFS="$SCPDEFS -DWITH_VC"$VCVER"_REDIST" else AC_MSG_RESULT([no]) fi diff --git a/external/msm100/README_msm100.txt b/external/msm100/README_msm100.txt new file mode 100755 index 000000000000..a40bbdbc8321 --- /dev/null +++ b/external/msm100/README_msm100.txt @@ -0,0 +1,6 @@ +Put +Microsoft_VC100_CRT_x86.msm +into this directory for Windows builds using a VS 2010 / VC 10.0 compiler. +For builds with --enable-dbgutil also put +Microsoft_VC100_DebugCRT_x86.msm +here. diff --git a/external/msm110/README_msm110.txt b/external/msm110/README_msm110.txt new file mode 100755 index 000000000000..b9af5778c21e --- /dev/null +++ b/external/msm110/README_msm110.txt @@ -0,0 +1,6 @@ +Put +Microsoft_VC110_CRT_x86.msm +into this directory for Windows builds using a VS 2012 / VC 11.0 compiler. +For builds with --enable-dbgutil also put +Microsoft_VC110_DebugCRT_x86.msm +here. diff --git a/external/prj/d.lst b/external/prj/d.lst index 6d15049aa3a3..0577f7faeb57 100644 --- a/external/prj/d.lst +++ b/external/prj/d.lst @@ -44,6 +44,8 @@ mkdir: %_DEST%\inc\external\wine ..\msvcp90\Microsoft.VC90.CRT.manifest %_DEST%\bin\Microsoft.VC90.CRT.manifest ..\msvcp90\Microsoft.VC90.DebugCRT.manifest %_DEST%\bin\Microsoft.VC90.DebugCRT.manifest ..\msm90\*.msm %_DEST%\bin +..\msm100\*.msm %_DEST%\bin +..\msm110\*.msm %_DEST%\bin ..\unowinreg\unowinreg.dll %_DEST%\bin\unowinreg.dll diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/_Validat.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/_Validat.idt index 0759d336f290..e716732c5d7a 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/_Validat.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/_Validat.idt @@ -1,7 +1,6 @@ Table Column Nullable MinValue MaxValue KeyTable KeyColumn Category Set Description s32 s32 s4 I4 I4 S255 I2 S32 S255 S255 _Validation Table Column -_Validation Category Y Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URL String category _Validation Column N Identifier Name of column _Validation Description Y Text Description of column _Validation KeyColumn Y 1 32 Column to which foreign key connects diff --git a/oowintool b/oowintool index 5f7d60321dbe..e8f0b3b17e7a 100755 --- a/oowintool +++ b/oowintool @@ -310,11 +310,12 @@ sub msvc_copy_dlls($) } } -sub msvc_find_msms_vc100() +sub msvc_find_msms() { - my $msm_path = (cygpath reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/9.0/Setup/VS/MSMDir"), 'w', $output_format); + my $ver = find_msvc(); + my $msm_path = (cygpath reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver->{'ver'}/Setup/VS/MSMDir"), 'w', $output_format); defined $msm_path || die "MSMDir not found"; - return -e "$msm_path/Microsoft_VC100_CRT_x86.msm" ? 0 : 1; + return -e "$msm_path/Microsoft_VC".$ver->{'dll_suffix'}."_CRT_x86.msm" ? 0 : 1; } sub msvc_copy_msms($$) @@ -323,18 +324,31 @@ sub msvc_copy_msms($$) my ($dest, $postfix) = @_; my $ver = find_msvc(); - (defined $ver && ($ver->{'ver'} eq '9.0')) || return; + defined $ver || return; - my $msm_path = (cygpath reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/9.0/Setup/VS/MSMDir"), 'w', $output_format); + my $msm_path = (cygpath reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/$ver->{'ver'}/Setup/VS/MSMDir"), 'w', $output_format); defined $msm_path || die "MSMDir not found"; + if ($ver->{'dll_suffix'} == 90) { + if ( $postfix eq "_x86" ) { + $postfix = "" + } 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: $!"; } - foreach $fname ("Microsoft_VC100_CRT_x86$postfix.msm") { + } + elsif ($ver->{'dll_suffix'} == 100) { + foreach $fname ("Microsoft_VC100_CRT$postfix.msm") { + print STDERR "Copying $msm_path/$fname to $dest\n"; + copy ("$msm_path/$fname", $dest) || print "copy failed: $!\n"; + } + } + else { + foreach $fname ("Microsoft_VC110_CRT$postfix.msm") { print STDERR "Copying $msm_path/$fname to $dest\n"; copy ("$msm_path/$fname", $dest) || print "copy failed: $!\n"; } + } } if (!@ARGV) { @@ -364,12 +378,12 @@ while (@commands) { my $dest = shift @commands; defined $dest || die "copy-dlls requires a destination directory"; msvc_copy_dlls( $dest ); - } elsif ($opt eq '--msvc-find-msms-vc100') { - exit msvc_find_msms_vc100(); + } elsif ($opt eq '--msvc-find-msms') { + exit msvc_find_msms(); } 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, '_x86' ); } elsif ($opt eq '--msvc-copy-msms-64') { my $dest = shift @commands; defined $dest || die "copy-msms-64 requires a destination directory"; diff --git a/post_download.in b/post_download.in index 0161233dd40c..7685f56e1466 100644 --- a/post_download.in +++ b/post_download.in @@ -47,10 +47,10 @@ 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 + if ! ./oowintool --msvc-copy-msms ./external/msm"$VCVER" ; then AC_MSG_ERROR([oowintool failed to copy merge modules]) fi - if ! ./oowintool --msvc-copy-msms-64 ./external/msm90 ; then + if ! ./oowintool --msvc-copy-msms-64 ./external/msm"$VCVER" ; then AC_MSG_WARN([oowintool failed to copy x64 merge modules, installation will lack the 64-bit Explorer extension]) fi diff --git a/scp2/source/ooo/vc_redist.scp b/scp2/source/ooo/vc_redist.scp index c0e53020d1f9..fa7d1c268737 100644 --- a/scp2/source/ooo/vc_redist.scp +++ b/scp2/source/ooo/vc_redist.scp @@ -27,6 +27,8 @@ #include "macros.inc" +#if defined(WITH_VC90_REDIST) + MergeModule gid_MergeModule_Microsoft_VC90_CRT_x86 Feature = gm_Root; Name = "Microsoft_VC90_CRT_x86.msm"; @@ -34,6 +36,15 @@ MergeModule gid_MergeModule_Microsoft_VC90_CRT_x86 ComponentCondition = "VC_REDIST=1"; End +MergeModule gid_MergeModule_policy_9_0_Microsoft_VC90_CRT_x86 + Feature = gm_Root; + Name = "policy_9_0_Microsoft_VC90_CRT_x86.msm"; + RootDir = "TARGETDIR"; + ComponentCondition = "VC_REDIST=1"; +End + +#endif + #if defined(WITH_VC100_REDIST) MergeModule gid_MergeModule_Microsoft_VC100_CRT_x86 @@ -45,15 +56,21 @@ End #endif -MergeModule gid_MergeModule_policy_9_0_Microsoft_VC90_CRT_x86 +#if defined(WITH_VC110_REDIST) + +MergeModule gid_MergeModule_Microsoft_VC110_CRT_x86 Feature = gm_Root; - Name = "policy_9_0_Microsoft_VC90_CRT_x86.msm"; + Name = "Microsoft_VC110_CRT_x86.msm"; RootDir = "TARGETDIR"; ComponentCondition = "VC_REDIST=1"; End +#endif + #if defined(BUILD_X64) +#if defined(WITH_VC90_REDIST) + MergeModule gid_MergeModule_Microsoft_VC90_CRT_x86_x64 Feature = gm_Root; Name = "Microsoft_VC90_CRT_x86_x64.msm"; @@ -69,3 +86,27 @@ MergeModule gid_MergeModule_policy_9_0_Microsoft_VC90_CRT_x86_x64 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"; +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"; +End + +#endif + +#endif |