Browse Source

Organize driver options.

pull/1/head
triton 12 years ago
parent
commit
4e0b6f5d7a
  1. 73
      src/Generator/Driver.cs
  2. 4
      src/Generator/Parser.cs

73
src/Generator/Driver.cs

@ -207,61 +207,58 @@ namespace CppSharp
IncludeDirs = new List<string>(); IncludeDirs = new List<string>();
SystemIncludeDirs = new List<string>(); SystemIncludeDirs = new List<string>();
Headers = new List<string>(); Headers = new List<string>();
Assembly = string.Empty;
NoStandardIncludes = false;
NoBuiltinIncludes = false;
GeneratorKind = LanguageGeneratorKind.CSharp;
GenerateLibraryNamespace = true;
GenerateFunctionTemplates = false;
WriteOnlyWhenChanged = false;
GeneratePartialClasses = true;
MicrosoftMode = (Environment.OSVersion.Platform != PlatformID.MacOSX)
&& (Environment.OSVersion.Platform != PlatformID.Unix);
// Library options var platform = Environment.OSVersion.Platform;
var isUnix = platform == PlatformID.Unix || platform == PlatformID.MacOSX;
MicrosoftMode = !isUnix;
Abi = isUnix ? CppAbi.Itanium : CppAbi.Microsoft;
LibraryDirs = new List<string>(); LibraryDirs = new List<string>();
Libraries = new List<string>(); Libraries = new List<string>();
var platform = Environment.OSVersion.Platform; GeneratorKind = LanguageGeneratorKind.CSharp;
Abi = (platform == PlatformID.Unix || platform == PlatformID.MacOSX) ? GenerateLibraryNamespace = true;
CppAbi.Itanium : CppAbi.Microsoft; GeneratePartialClasses = true;
OutputInteropIncludes = true;
} }
public bool Verbose = false; // General options
public bool ShowHelpText = false; public bool Verbose;
public bool OutputDebug = false; public bool ShowHelpText;
// When set to true - compiler errors are ignored and intermediate public bool OutputDebug;
// parsing results still can be used.
public bool IgnoreErrors = false; // Parser options
public bool OutputInteropIncludes = true; public List<string> Defines;
public bool GenerateLibraryNamespace; public List<string> IncludeDirs;
public bool GenerateFunctionTemplates; public List<string> SystemIncludeDirs;
public bool GeneratePartialClasses; public List<string> Headers;
public bool NoStandardIncludes; public bool NoStandardIncludes;
public bool NoBuiltinIncludes; public bool NoBuiltinIncludes;
public bool MicrosoftMode; public bool MicrosoftMode;
public string TargetTriple; public string TargetTriple;
public int ToolsetToUse;
public bool IgnoreParseErrors;
public CppAbi Abi;
public bool IsItaniumAbi { get { return Abi == CppAbi.Itanium; } }
public bool IsMicrosoftAbi { get { return Abi == CppAbi.Microsoft; } }
// Library options
public List<string> LibraryDirs;
public List<string> Libraries;
// Generator options
public LanguageGeneratorKind GeneratorKind;
public string OutputNamespace; public string OutputNamespace;
public string OutputDir; public string OutputDir;
public string LibraryName; public string LibraryName;
public CppAbi Abi; public bool OutputInteropIncludes;
public List<string> Defines; public bool GenerateLibraryNamespace;
public List<string> IncludeDirs; public bool GenerateFunctionTemplates;
public List<string> SystemIncludeDirs; public bool GeneratePartialClasses;
public List<string> Headers;
public string Template; public string Template;
public string Assembly; public string Assembly;
public int ToolsetToUse;
public string IncludePrefix; public string IncludePrefix;
public string WrapperSuffix;
public LanguageGeneratorKind GeneratorKind;
public bool WriteOnlyWhenChanged; public bool WriteOnlyWhenChanged;
// Library options
public List<string> LibraryDirs;
public List<string> Libraries;
public bool IsItaniumAbi { get { return Abi == CppAbi.Itanium; } }
public bool IsMicrosoftAbi { get { return Abi == CppAbi.Microsoft; } }
} }
} }

4
src/Generator/Parser.cs

@ -23,7 +23,7 @@ namespace CppSharp
var result = ParseHeader(header); var result = ParseHeader(header);
// If we have some error, report to end-user. // If we have some error, report to end-user.
if (!options.IgnoreErrors) if (!options.IgnoreParseErrors)
{ {
foreach (var diag in result.Diagnostics) foreach (var diag in result.Diagnostics)
{ {
@ -69,7 +69,7 @@ namespace CppSharp
var result = ParseLibrary(lib); var result = ParseLibrary(lib);
// If we have some error, report to end-user. // If we have some error, report to end-user.
if (!options.IgnoreErrors) if (!options.IgnoreParseErrors)
{ {
foreach (var diag in result.Diagnostics) foreach (var diag in result.Diagnostics)
{ {

Loading…
Cancel
Save