summaryrefslogtreecommitdiff
path: root/tools/scaninc
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-09-26 15:02:38 -0400
committerGitHub <noreply@github.com>2019-09-26 15:02:38 -0400
commit1016b239186097361ea20f2f91adf3932026f40c (patch)
tree840a0f28046d3c66fcaf1c2bb8ab3228386a3a8a /tools/scaninc
parentbb236b490d99fef02ed172e7ca86f6c70ef09527 (diff)
parent208e1c968959c781562f0b94c03368385ce7012c (diff)
Merge branch 'master' into rename-tablecmds
Diffstat (limited to 'tools/scaninc')
-rw-r--r--tools/scaninc/scaninc.cpp19
-rw-r--r--tools/scaninc/source_file.cpp5
-rw-r--r--tools/scaninc/source_file.h1
3 files changed, 19 insertions, 6 deletions
diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp
index b95cbd033..a3e40c5d9 100644
--- a/tools/scaninc/scaninc.cpp
+++ b/tools/scaninc/scaninc.cpp
@@ -97,19 +97,26 @@ int main(int argc, char **argv)
}
for (auto include : file.GetIncludes())
{
+ bool exists = false;
+ std::string path("");
for (auto includeDir : includeDirs)
{
- std::string path(includeDir + include);
+ path = includeDir + include;
if (CanOpenFile(path))
{
- bool inserted = dependencies.insert(path).second;
- if (inserted)
- {
- filesToProcess.push(path);
- }
+ exists = true;
break;
}
}
+ if (!exists && file.FileType() == SourceFileType::Asm)
+ {
+ path = include;
+ }
+ bool inserted = dependencies.insert(path).second;
+ if (inserted && exists)
+ {
+ filesToProcess.push(path);
+ }
}
includeDirs.pop_back();
}
diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp
index f23ff6db6..df31282f8 100644
--- a/tools/scaninc/source_file.cpp
+++ b/tools/scaninc/source_file.cpp
@@ -89,6 +89,11 @@ SourceFile::SourceFile(std::string path)
}
}
+SourceFileType SourceFile::FileType()
+{
+ return m_file_type;
+}
+
SourceFile::~SourceFile()
{
if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header)
diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h
index f7b6412bd..854b3f116 100644
--- a/tools/scaninc/source_file.h
+++ b/tools/scaninc/source_file.h
@@ -50,6 +50,7 @@ public:
const std::set<std::string>& GetIncbins();
const std::set<std::string>& GetIncludes();
std::string& GetSrcDir();
+ SourceFileType FileType();
private:
union InnerUnion {