Browse Source

Call the parser setup code in CLI and get rid of specific Mac parser setup code.

pull/1139/head
Joao Matos 8 years ago
parent
commit
b2b5567c7f
  1. 21
      src/CLI/Generator.cs

21
src/CLI/Generator.cs

@ -162,8 +162,7 @@ namespace CppSharp
if (abi == CppAbi.Microsoft) if (abi == CppAbi.Microsoft)
parserOptions.MicrosoftMode = true; parserOptions.MicrosoftMode = true;
if (triple.Contains("apple")) parserOptions.Setup();
SetupMacOptions(parserOptions);
if (triple.Contains("linux")) if (triple.Contains("linux"))
SetupLinuxOptions(parserOptions); SetupLinuxOptions(parserOptions);
@ -204,24 +203,6 @@ namespace CppSharp
parserOptions.AddDefines("_GLIBCXX_USE_CXX11_ABI=" + (options.Cpp11ABI ? "1" : "0")); parserOptions.AddDefines("_GLIBCXX_USE_CXX11_ABI=" + (options.Cpp11ABI ? "1" : "0"));
} }
private static void SetupMacOptions(ParserOptions options)
{
options.MicrosoftMode = false;
options.NoBuiltinIncludes = true;
if (Platform.IsMacOS)
{
var headersPaths = new List<string> {
"/usr/include"
};
foreach (var header in headersPaths)
options.AddSystemIncludeDirs(header);
}
options.AddArguments("-stdlib=libc++");
}
public void SetupPasses(Driver driver) public void SetupPasses(Driver driver)
{ {
driver.Context.TranslationUnitPasses.AddPass(new FunctionToInstanceMethodPass()); driver.Context.TranslationUnitPasses.AddPass(new FunctionToInstanceMethodPass());

Loading…
Cancel
Save