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 */