summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xoowintool20
1 files changed, 15 insertions, 5 deletions
diff --git a/oowintool b/oowintool
index 9e40a78102f7..e418ae410037 100755
--- a/oowintool
+++ b/oowintool
@@ -212,11 +212,21 @@ sub print_msvs_productdir()
sub print_csc_compiler_dir()
{
- my $csc_exe =
- reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v4/Client/InstallPath") ||
- reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v3.5/InstallPath") ||
- reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/InstallRoot") . "v2.0.50727";
- print cygpath ($csc_exe, 'w', $output_format);
+ my $csc_exe;
+ my $ver = find_msvc();
+ if ($ver->{'ver'} == "9.0") {
+ # We need to compile C# with the 3.5 or 2.0 compiler in order
+ # for the assemblies to be loadable by managed C++ code
+ # compiled with MSVC 2008.
+ $csc_exe =
+ reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v3.5/InstallPath") ||
+ reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/InstallRoot") . "v2.0.50727";
+ } else {
+ # Is it enough to look for the 4.0 compiler?
+ $csc_exe =
+ reg_get_value ("HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v4/Client/InstallPath");
+ }
+ print cygpath ($csc_exe, 'w', $output_format);
}
sub print_dotnetsdk_dir()