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

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main/src
diff options
context:
space:
mode:
authormhutch <m.j.hutchinson@gmail.com>2016-03-18 21:04:44 +0300
committermhutch <m.j.hutchinson@gmail.com>2016-03-18 21:04:44 +0300
commit60fe3276e27c537e02d87faa97cdc090d724c212 (patch)
treebb7cd6ba84d9592f293d725b688b2f5bd8076a6f /main/src
parentc4c3139a3c350cd8a320ccf2bb941b9f67c68715 (diff)
Revert "Added support for different architectures of MonoRuntime so user can pick 32bit or 64bit version to start debugging"
This reverts commit db0fa9870df5245b4d7189e3ee36157e68a30572.
Diffstat (limited to 'main/src')
-rw-r--r--main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs6
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs21
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs2
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntimeFactory.cs59
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs35
5 files changed, 36 insertions, 87 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs
index 32b3bf898b..98d5f6edab 100644
--- a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs
+++ b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs
@@ -92,11 +92,7 @@ namespace MonoDevelop.Debugger.Soft
ExternalConsoleFactory.Instance.CreateConsole (dsi.CloseExternalConsoleOnExit), varsCopy);
return new ProcessAdapter (oper, Path.GetFileName (info.FileName));
};
- if (runtime.MonoRuntimeInfo.Force64or32bit.HasValue)
- startArgs.MonoExecutableFileName = runtime.MonoRuntimeInfo.Force64or32bit.Value ? "mono64" : "mono32";
- else {
- startArgs.MonoExecutableFileName = SystemAssemblyService.GetAssemblyArchitecture (cmd.Command) == AssemblyArchitecture.x86_64 ? "mono64" : "mono";
- }
+
return dsi;
}
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs
index afb2374bed..164ed5c2e3 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs
@@ -39,9 +39,6 @@ namespace MonoDevelop.Core.Assemblies
{
[ItemProperty]
string prefix;
-
- [ItemProperty]
- bool? force64or32bit;
string monoVersion = "Unknown";
Dictionary<string,string> envVars = new Dictionary<string, string> ();
@@ -51,21 +48,16 @@ namespace MonoDevelop.Core.Assemblies
internal MonoRuntimeInfo ()
{
}
-
- public MonoRuntimeInfo (string prefix, bool? force64or32bit = null)
+
+ public MonoRuntimeInfo (string prefix)
{
- this.force64or32bit = force64or32bit;
this.prefix = prefix;
Initialize ();
}
-
+
public string Prefix {
get { return prefix; }
}
-
- public bool? Force64or32bit {
- get { return force64or32bit; }
- }
/// <summary>
/// This string is strictly for displaying to the user or logging. It should never be used for version checks.
@@ -78,10 +70,7 @@ namespace MonoDevelop.Core.Assemblies
}
public string DisplayName {
- get {
- return "Mono " + MonoVersion + " (" + prefix + ")" +
- (force64or32bit.HasValue ? (force64or32bit.Value ? " (64 bit)" : " (32 bit)") : "");
- }
+ get { return "Mono " + MonoVersion + " (" + prefix + ")"; }
}
public bool IsValidRuntime {
@@ -114,7 +103,7 @@ namespace MonoDevelop.Core.Assemblies
StringWriter output = new StringWriter ();
try {
string monoPath = Path.Combine (prefix, "bin");
- monoPath = Path.Combine (monoPath, force64or32bit.HasValue ? (force64or32bit.Value ? "mono64" : "mono32") : "mono");
+ monoPath = Path.Combine (monoPath, "mono");
ProcessStartInfo pi = new ProcessStartInfo (monoPath, "--version");
pi.UseShellExecute = false;
pi.RedirectStandardOutput = true;
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs
index 59305a034f..eb4822958e 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs
@@ -99,7 +99,7 @@ namespace MonoDevelop.Core.Assemblies
public override string DisplayName {
get {
if (!IsRunning)
- return base.DisplayName + " (" + Prefix + ")" + (monoRuntimeInfo.Force64or32bit.HasValue ? monoRuntimeInfo.Force64or32bit.Value ? " (64bit)" : " (32bit)" : "");
+ return base.DisplayName + " (" + Prefix + ")";
else
return base.DisplayName;
}
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntimeFactory.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntimeFactory.cs
index 3a8cd189d9..777f3e5399 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntimeFactory.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntimeFactory.cs
@@ -32,38 +32,19 @@ using MonoDevelop.Core.Serialization;
namespace MonoDevelop.Core.Assemblies
{
- class MonoTargetRuntimeFactory : ITargetRuntimeFactory
+ class MonoTargetRuntimeFactory: ITargetRuntimeFactory
{
static RuntimeCollection customRuntimes = new RuntimeCollection ();
static string configFile = UserProfile.Current.ConfigDir.Combine ("mono-runtimes.xml");
- static string [] commonLinuxPrefixes = new string [] { "/usr", "/usr/local" };
-
+ static string[] commonLinuxPrefixes = new string[] { "/usr", "/usr/local" };
+
static MonoTargetRuntimeFactory ()
{
LoadRuntimes ();
}
-
+
const string MAC_FRAMEWORK_DIR = "/Library/Frameworks/Mono.framework/Versions";
- static IEnumerable<MonoRuntimeInfo> GetAllArchitecturesOfRuntimes (string dir)
- {
- var rinfo64 = new MonoRuntimeInfo (dir, true);
- var rinfo32 = new MonoRuntimeInfo (dir, false);
- if (rinfo64.IsValidRuntime && rinfo32.IsValidRuntime) {
- yield return rinfo64;
- yield return rinfo32;
- } else if (rinfo64.IsValidRuntime) {
- yield return rinfo64;
- } else if (rinfo32.IsValidRuntime) {
- yield return rinfo32;
- } else {
- var rinfo = new MonoRuntimeInfo (dir, null);
- if (rinfo.IsValidRuntime) {
- yield return rinfo;
- }
- }
- }
-
public IEnumerable<TargetRuntime> CreateRuntimes ()
{
MonoRuntimeInfo currentRuntime = MonoRuntimeInfo.FromCurrentRuntime ();
@@ -73,36 +54,34 @@ namespace MonoDevelop.Core.Assemblies
if (Platform.IsWindows) {
string progs = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFiles);
foreach (string dir in Directory.GetDirectories (progs, "Mono*")) {
- foreach(var info in GetAllArchitecturesOfRuntimes(dir))
+ MonoRuntimeInfo info = new MonoRuntimeInfo (dir);
+ if (info.IsValidRuntime)
yield return new MonoTargetRuntime (info);
}
} else if (Platform.IsMac) {
if (!Directory.Exists (MAC_FRAMEWORK_DIR))
yield break;
foreach (string dir in Directory.GetDirectories (MAC_FRAMEWORK_DIR)) {
- if (dir.EndsWith ("/Current", StringComparison.Ordinal))
+ if (dir.EndsWith ("/Current", StringComparison.Ordinal) || currentRuntime.Prefix == dir)
continue;
- foreach (var info in GetAllArchitecturesOfRuntimes (dir)) {
- if (info.Prefix == currentRuntime.Prefix && info.Force64or32bit == currentRuntime.Force64or32bit)
- continue;
+ MonoRuntimeInfo info = new MonoRuntimeInfo (dir);
+ if (info.IsValidRuntime)
yield return new MonoTargetRuntime (info);
- }
}
} else {
foreach (string pref in commonLinuxPrefixes) {
- foreach (var info in GetAllArchitecturesOfRuntimes (pref)) {
- if (info.IsValidRuntime) {
- if (currentRuntime != null && currentRuntime.Prefix == pref && currentRuntime.Force64or32bit == info.Force64or32bit)
- continue;
- // Clean up old registered runtimes
- foreach (MonoRuntimeInfo ei in customRuntimes) {
- if (ei.Prefix == info.Prefix) {
- customRuntimes.Remove (ei);
- break;
- }
+ if (currentRuntime != null && currentRuntime.Prefix == pref)
+ continue;
+ MonoRuntimeInfo info = new MonoRuntimeInfo (pref);
+ if (info.IsValidRuntime) {
+ // Clean up old registered runtimes
+ foreach (MonoRuntimeInfo ei in customRuntimes) {
+ if (ei.Prefix == info.Prefix) {
+ customRuntimes.Remove (ei);
+ break;
}
- yield return new MonoTargetRuntime (info);
}
+ yield return new MonoTargetRuntime (info);
}
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs
index 511320179f..fd70f5f9b0 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs
@@ -122,13 +122,13 @@ namespace MonoDevelop.Ide.Gui.OptionPanels
return Environment.GetFolderPath (IntPtr.Size == 8?
Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles);
}
-
+
protected virtual void OnButtonAddClicked (object sender, System.EventArgs e)
{
var dlg = new SelectFolderDialog (GettextCatalog.GetString ("Select the mono installation prefix")) {
TransientFor = this.Toplevel as Gtk.Window,
};
-
+
//set a platform-dependent default folder for the dialog if possible
if (Platform.IsWindows) {
// ProgramFilesX86 is broken on 32-bit WinXP
@@ -139,32 +139,17 @@ namespace MonoDevelop.Ide.Gui.OptionPanels
if (System.IO.Directory.Exists ("/usr"))
dlg.CurrentFolder = "/usr";
}
-
+
if (!dlg.Run ())
return;
-
- var rinfo64 = new MonoRuntimeInfo (dlg.SelectedFile, true);
- var rinfo32 = new MonoRuntimeInfo (dlg.SelectedFile, false);
- if (rinfo64.IsValidRuntime && rinfo32.IsValidRuntime) {
- newInfos.Add (rinfo64);
- store.AppendValues (rinfo64.DisplayName, rinfo64);
- newInfos.Add (rinfo32);
- store.AppendValues (rinfo32.DisplayName, rinfo32);
- } else if (rinfo64.IsValidRuntime) {
- newInfos.Add (rinfo64);
- store.AppendValues (rinfo64.DisplayName, rinfo64);
- } else if (rinfo32.IsValidRuntime) {
- newInfos.Add (rinfo32);
- store.AppendValues (rinfo32.DisplayName, rinfo32);
- } else {
- var rinfo = new MonoRuntimeInfo (dlg.SelectedFile, null);
- if (rinfo.IsValidRuntime) {
- newInfos.Add (rinfo);
- store.AppendValues (rinfo.DisplayName, rinfo);
- } else {
- MessageService.ShowError (GettextCatalog.GetString ("Mono runtime not found"), GettextCatalog.GetString ("Please provide a valid directory prefix where mono is installed (for example, /usr)"));
- }
+
+ var rinfo = new MonoRuntimeInfo (dlg.SelectedFile);
+ if (!rinfo.IsValidRuntime) {
+ MessageService.ShowError (GettextCatalog.GetString ("Mono runtime not found"), GettextCatalog.GetString ("Please provide a valid directory prefix where mono is installed (for example, /usr)"));
+ return;
}
+ newInfos.Add (rinfo);
+ store.AppendValues (rinfo.DisplayName, rinfo);
}
protected virtual void OnButtonRemoveClicked (object sender, System.EventArgs e)