|
|
|
@ -242,6 +242,7 @@ namespace CppSharp.Parser
@@ -242,6 +242,7 @@ namespace CppSharp.Parser
|
|
|
|
|
NoBuiltinIncludes = true; |
|
|
|
|
NoStandardIncludes = true; |
|
|
|
|
|
|
|
|
|
AddArguments("-fgnuc-version=4.2.1"); |
|
|
|
|
AddArguments("-stdlib=libc++"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -297,6 +298,7 @@ namespace CppSharp.Parser
@@ -297,6 +298,7 @@ namespace CppSharp.Parser
|
|
|
|
|
GetUnixCompilerInfo(headersPath, out compiler, out longVersion, out shortVersion); |
|
|
|
|
|
|
|
|
|
AddSystemIncludeDirs(BuiltinsDir); |
|
|
|
|
AddArguments($"-fgnuc-version={longVersion}"); |
|
|
|
|
|
|
|
|
|
string[] versions = { longVersion, shortVersion }; |
|
|
|
|
string[] triples = { "x86_64-linux-gnu", "x86_64-pc-linux-gnu" }; |
|
|
|
@ -345,6 +347,23 @@ namespace CppSharp.Parser
@@ -345,6 +347,23 @@ namespace CppSharp.Parser
|
|
|
|
|
if (!LanguageVersion.HasValue) |
|
|
|
|
LanguageVersion = CppSharp.Parser.LanguageVersion.CPP14_GNU; |
|
|
|
|
|
|
|
|
|
// As of Clang revision 5e866e411caa we are required to pass "-fgnuc-version="
|
|
|
|
|
// to get the __GNUC__ symbol defined. macOS and Linux system headers require
|
|
|
|
|
// this define, so we need explicitly pass it to Clang.
|
|
|
|
|
|
|
|
|
|
// Note that this setup is more accurately done in the platform-specific
|
|
|
|
|
// setup methods, below is generic fallback in case that logic was disabled.
|
|
|
|
|
if (NoBuiltinIncludes) |
|
|
|
|
{ |
|
|
|
|
switch (Platform.Host) |
|
|
|
|
{ |
|
|
|
|
case TargetPlatform.MacOS: |
|
|
|
|
case TargetPlatform.Linux: |
|
|
|
|
AddArguments("-fgnuc-version=4.2.1"); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch (LanguageVersion) |
|
|
|
|
{ |
|
|
|
|
case CppSharp.Parser.LanguageVersion.C99: |
|
|
|
|