Pass additional dep target to slang
By "slang -a out/foo/bar/RenderScript.stamp ...", additional dep target will be added to the .d file,
something like:
out/target/common/obj/APPS/Fountain_intermediates/src/RenderScript.stamp ./fountain.bc: \
frameworks/base/libs/rs/java/Fountain/src/com/android/fountain/fountain.rs \
...
Currently the .bc file is not used in the build system dependency graph, but the stamp file.
Change-Id: I1251dba0a4b003e4b6bc689f1064bddd4ffbccc1
diff --git a/slang.cpp b/slang.cpp
index d4a4e8c..cffe2cf 100644
--- a/slang.cpp
+++ b/slang.cpp
@@ -341,6 +341,10 @@
return true;
}
+bool Slang::setAdditionalDepTarget(const char* AdditionalDepTargetFileName) {
+ mAdditionalDepTargetFileName = AdditionalDepTargetFileName;
+}
+
int Slang::generateDepFile() {
if(mDiagnostics->getNumErrors() > 0)
return mDiagnostics->getNumErrors();
@@ -351,6 +355,9 @@
clang::DependencyOutputOptions DepOpts;
DepOpts.IncludeSystemHeaders = 1;
DepOpts.OutputFile = mDepOutputFileName;
+ if (!mAdditionalDepTargetFileName.empty()) {
+ DepOpts.Targets.push_back(mAdditionalDepTargetFileName);
+ }
DepOpts.Targets.push_back(mDepTargetBCFileName);
/* Per-compilation needed initialization */