Merge pull request #1652 from debuglevel/bugfix-crosscompile
[mono.git] / mcs / mcs / settings.cs
index 3c7f13bdb13b4b3922fc19d5f57593c2334418e1..42156d77ba9ab630a1abc513ac49c84cb28aee97 100644 (file)
@@ -29,9 +29,9 @@ namespace Mono.CSharp {
                V_4 = 4,
                V_5 = 5,
                V_6 = 6,
-               Future = 100,
+               Experimental = 100,
 
-               Default = LanguageVersion.Future,
+               Default = LanguageVersion.V_6,
        }
 
        public enum RuntimeVersion
@@ -150,6 +150,8 @@ namespace Mono.CSharp {
                public bool BreakOnInternalError;
                #endregion
 
+               public string GetResourceStrings;
+
                public bool ShowFullPaths;
 
                //
@@ -1159,9 +1161,12 @@ namespace Mono.CSharp {
                                case "6":
                                        settings.Version = LanguageVersion.V_6;
                                        return ParseResult.Success;
-                               case "future":
-                                       settings.Version = LanguageVersion.Future;
+                               case "experimental":
+                                       settings.Version = LanguageVersion.Experimental;
                                        return ParseResult.Success;
+                               case "future":
+                                       report.Warning (8000, 1, "Language version `future' is no longer supported");
+                                       goto case "6";
                                }
 
                                report.Error (1617, "Invalid -langversion option `{0}'. It must be `ISO-1', `ISO-2', Default or value in range 1 to 6", value);
@@ -1445,7 +1450,7 @@ namespace Mono.CSharp {
                                return ParseResult.Success;
 
                        default:
-                               if (arg.StartsWith ("--fatal", StringComparison.Ordinal)){
+                               if (arg.StartsWith ("--fatal", StringComparison.Ordinal)) {
                                        int fatal = 1;
                                        if (arg.StartsWith ("--fatal=", StringComparison.Ordinal))
                                                int.TryParse (arg.Substring (8), out fatal);
@@ -1473,6 +1478,17 @@ namespace Mono.CSharp {
                                        return ParseResult.Success;
                                }
 
+                               if (arg.StartsWith ("--getresourcestrings:", StringComparison.Ordinal)) {
+                                       string file = arg.Substring (21).Trim ();
+                                       if (file.Length < 1) {
+                                               Error_RequiresArgument (arg);
+                                               return ParseResult.Error;
+                                       }
+
+                                       settings.GetResourceStrings = file;
+                                       return ParseResult.Success;
+                               }
+
                                return ParseResult.UnknownOption;
                        }
                }