Sync scaninc with pokeemerald

This commit is contained in:
GriffinR
2021-01-18 23:39:05 -05:00
parent ac62e8e563
commit cd67c5e240
3 changed files with 19 additions and 6 deletions
+13 -6
View File
@@ -97,19 +97,26 @@ int main(int argc, char **argv)
} }
for (auto include : file.GetIncludes()) for (auto include : file.GetIncludes())
{ {
bool exists = false;
std::string path("");
for (auto includeDir : includeDirs) for (auto includeDir : includeDirs)
{ {
std::string path(includeDir + include); path = includeDir + include;
if (CanOpenFile(path)) if (CanOpenFile(path))
{ {
bool inserted = dependencies.insert(path).second; exists = true;
if (inserted)
{
filesToProcess.push(path);
}
break; break;
} }
} }
if (!exists && (file.FileType() == SourceFileType::Asm || file.FileType() == SourceFileType::Inc))
{
path = include;
}
bool inserted = dependencies.insert(path).second;
if (inserted && exists)
{
filesToProcess.push(path);
}
} }
includeDirs.pop_back(); includeDirs.pop_back();
} }
+5
View File
@@ -89,6 +89,11 @@ SourceFile::SourceFile(std::string path)
} }
} }
SourceFileType SourceFile::FileType()
{
return m_file_type;
}
SourceFile::~SourceFile() SourceFile::~SourceFile()
{ {
if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header)
+1
View File
@@ -50,6 +50,7 @@ public:
const std::set<std::string>& GetIncbins(); const std::set<std::string>& GetIncbins();
const std::set<std::string>& GetIncludes(); const std::set<std::string>& GetIncludes();
std::string& GetSrcDir(); std::string& GetSrcDir();
SourceFileType FileType();
private: private:
union InnerUnion { union InnerUnion {