Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <m.j.hutchinson@gmail.com>2013-12-22 10:08:47 +0400
committerMichael Hutchinson <m.j.hutchinson@gmail.com>2014-01-08 03:39:31 +0400
commit76d9d6a4583025641a2457b970c6e0e81d3aa744 (patch)
tree663e0245374353c5d83ab8be669fe64b15f727bf /mcs/class/Microsoft.Build.Utilities
parent92ac9868a3a4db9a2d7837590cd493118e99d89d (diff)
[xbuild] Fix 12.0 toolset location and public API
Diffstat (limited to 'mcs/class/Microsoft.Build.Utilities')
-rw-r--r--mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs7
-rw-r--r--mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs45
2 files changed, 37 insertions, 15 deletions
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
index 0906ef3ebf5..04940d5e8ba 100644
--- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
+++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TargetDotNetFrameworkVersion.cs
@@ -48,8 +48,13 @@ namespace Microsoft.Build.Utilities
#if NET_4_5
Version45,
#endif
+#if XBUILD_12
+ Version451,
+#endif
-#if NET_4_5
+#if XBUILD_12
+ VersionLatest = Version451
+#elif NET_4_5
VersionLatest = Version45
#elif NET_4_0
VersionLatest = Version40
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs
index e61094bc867..35226c1a8b1 100644
--- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs
+++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs
@@ -39,6 +39,7 @@ namespace Microsoft.Build.Utilities
{
static string lib_mono_dir;
static string [] mono_dir;
+ static bool runningOnDotNet;
static ToolLocationHelper ()
{
@@ -53,9 +54,12 @@ namespace Microsoft.Build.Utilities
t2 = t1.Parent;
lib_mono_dir = t2.FullName;
+
#if NET_4_0
var windowsPath = Environment.GetFolderPath (Environment.SpecialFolder.Windows);
+ runningOnDotNet = !string.IsNullOrEmpty (windowsPath) && lib_mono_dir.StartsWith (windowsPath);
#endif
+
if (Environment.GetEnvironmentVariable ("TESTING_MONO") != null) {
mono_dir = new string [] {
Path.Combine (lib_mono_dir, "net_1_0"),
@@ -63,20 +67,19 @@ namespace Microsoft.Build.Utilities
Path.Combine (lib_mono_dir, "net_2_0"),
Path.Combine (lib_mono_dir, "net_3_5"),
Path.Combine (lib_mono_dir, "net_4_0"),
+ Path.Combine (lib_mono_dir, "net_4_5"),
Path.Combine (lib_mono_dir, "net_4_5")
};
-#if NET_4_0
- } else if (!string.IsNullOrEmpty (windowsPath) && lib_mono_dir.StartsWith (windowsPath)) {
- //running in .NET, not Mono
+ } else if (runningOnDotNet) {
mono_dir = new string [] {
Path.Combine (lib_mono_dir, "v1.0.3705"),
Path.Combine (lib_mono_dir, "v2.0.50727"),
Path.Combine (lib_mono_dir, "v2.0.50727"),
Path.Combine (lib_mono_dir, "v3.5"),
Path.Combine (lib_mono_dir, "v4.0.30319"),
+ Path.Combine (lib_mono_dir, "v4.0.30319"),
Path.Combine (lib_mono_dir, "v4.0.30319")
};
-#endif
} else {
mono_dir = new string [] {
Path.Combine (lib_mono_dir, "1.0"),
@@ -84,7 +87,8 @@ namespace Microsoft.Build.Utilities
Path.Combine (lib_mono_dir, "2.0"),
Path.Combine (lib_mono_dir, "3.5"),
Path.Combine (lib_mono_dir, "4.0"),
- Path.Combine (lib_mono_dir, "4.5")
+ Path.Combine (lib_mono_dir, "4.5"),
+ Path.Combine (lib_mono_dir, "4.5"),
};
}
@@ -113,15 +117,6 @@ namespace Microsoft.Build.Utilities
return mono_dir [(int)version];
}
-#if NET_4_0
- public static string GetMSBuildInstallPath (string version)
- {
- //see http://msdn.microsoft.com/en-us/library/vstudio/bb397428(v=vs.120).aspx
- var programFiles = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86);
- return Path.Combine (programFiles, "MSBuild", version, "bin");
- }
-#endif
-
[MonoTODO]
public static string GetPathToDotNetFrameworkFile (string fileName,
TargetDotNetFrameworkVersion version)
@@ -153,5 +148,27 @@ namespace Microsoft.Build.Utilities
throw new NotImplementedException ();
}
}
+
+#if XBUILD_12
+ public static string CurrentToolsVersion {
+ get {
+ return XBuildConsts.Version;
+ }
+ }
+
+ public static string GetPathToBuildTools (string toolsVersion)
+ {
+ if (toolsVersion != "12.0")
+ return null;
+
+ if (runningOnDotNet) {
+ //see http://msdn.microsoft.com/en-us/library/vstudio/bb397428(v=vs.120).aspx
+ var programFiles = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86);
+ return Path.Combine (programFiles, "MSBuild", toolsVersion, "bin");
+ }
+
+ return Path.Combine (lib_mono_dir, "xbuild", toolsVersion, "bin");
+ }
+#endif
}
}