Revert "Fix the libbcc SHA1 checksum dependency"

This reverts commit 89175b9e4c07df1302374421096d6e1355954ace.
diff --git a/lib/ExecutionEngine/CacheReader.cpp b/lib/ExecutionEngine/CacheReader.cpp
index 136cccd..408b1f7 100644
--- a/lib/ExecutionEngine/CacheReader.cpp
+++ b/lib/ExecutionEngine/CacheReader.cpp
@@ -148,6 +148,14 @@
          OBCC_VERSION, mpHeader->version);
     return false;
   }
+
+  if (memcmp(mpHeader->libbcc_build_checksum, libbcc_build_checksum, 41) != 0) {
+    mpHeader->libbcc_build_checksum[41 - 1] = '\0'; // ensure terminated
+    LOGW("Build checksum mismatch: lib %s cached %s\n", libbcc_build_checksum,
+         mpHeader->libbcc_build_checksum);
+    return false;
+  }
+
   return true;
 }
 
diff --git a/lib/ExecutionEngine/CacheWriter.cpp b/lib/ExecutionEngine/CacheWriter.cpp
index 86775a7..ab8dd03 100644
--- a/lib/ExecutionEngine/CacheWriter.cpp
+++ b/lib/ExecutionEngine/CacheWriter.cpp
@@ -93,6 +93,7 @@
   // Magic word and version
   memcpy(header->magic, OBCC_MAGIC, 4);
   memcpy(header->version, OBCC_VERSION, 4);
+  memcpy(header->libbcc_build_checksum, libbcc_build_checksum, 41);
 
   // Machine Integer Type
   uint32_t number = 0x00000001;
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index bccf571..78dbb47 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -152,6 +152,9 @@
 void Compiler::GlobalInitialization() {
   if (GlobalInitialized)
     return;
+
+  LOGI("LIBBCC BUILD CHECKSUM: %s\n", libbcc_build_checksum);
+
   // if (!llvm::llvm_is_multithreaded())
   //   llvm::llvm_start_multithreaded();
 
@@ -250,7 +253,10 @@
 
 #if USE_CACHE
   // Calculate the SHA1 checksum of libbcc and libRS.
-  calcFileSHA1(sha1LibBCC_SHA1, pathLibBCC_SHA1);
+#if USE_LIBBCC_SHA1SUM
+  calcFileSHA1(sha1LibBCC, pathLibBCC);
+#endif
+  calcFileSHA1(sha1LibRS, pathLibRS);
 #endif
 
   GlobalInitialized = true;
diff --git a/lib/ExecutionEngine/MCCacheReader.cpp b/lib/ExecutionEngine/MCCacheReader.cpp
index ba1f7fc..2034317 100644
--- a/lib/ExecutionEngine/MCCacheReader.cpp
+++ b/lib/ExecutionEngine/MCCacheReader.cpp
@@ -148,6 +148,14 @@
          OBCC_VERSION, mpHeader->version);
     return false;
   }
+
+  if (memcmp(mpHeader->libbcc_build_checksum, libbcc_build_checksum, 41) != 0) {
+    mpHeader->libbcc_build_checksum[41 - 1] = '\0'; // ensure terminated
+    LOGW("Build checksum mismatch: lib %s cached %s\n", libbcc_build_checksum,
+         mpHeader->libbcc_build_checksum);
+    return false;
+  }
+
   return true;
 }
 
diff --git a/lib/ExecutionEngine/MCCacheWriter.cpp b/lib/ExecutionEngine/MCCacheWriter.cpp
index 1250ab7..c2d0d04 100644
--- a/lib/ExecutionEngine/MCCacheWriter.cpp
+++ b/lib/ExecutionEngine/MCCacheWriter.cpp
@@ -90,6 +90,7 @@
   // Magic word and version
   memcpy(header->magic, OBCC_MAGIC, 4);
   memcpy(header->version, OBCC_VERSION, 4);
+  memcpy(header->libbcc_build_checksum, libbcc_build_checksum, 41);
 
   // Machine Integer Type
   uint32_t number = 0x00000001;
diff --git a/lib/ExecutionEngine/Script.cpp b/lib/ExecutionEngine/Script.cpp
index 7aa3748..67e59f6 100644
--- a/lib/ExecutionEngine/Script.cpp
+++ b/lib/ExecutionEngine/Script.cpp
@@ -272,7 +272,11 @@
 #endif
 
   // Dependencies
-  reader.addDependency(BCC_FILE_RESOURCE, pathLibBCC_SHA1, sha1LibBCC_SHA1);
+#if USE_LIBBCC_SHA1SUM
+  reader.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
+#endif
+
+  reader.addDependency(BCC_FILE_RESOURCE, pathLibRS, sha1LibRS);
 
   for (size_t i = 0; i < 2; ++i) {
     if (mSourceList[i]) {
@@ -406,10 +410,11 @@
       CacheWriter writer;
 #endif
 
-#ifdef TARGET_BUILD
       // Dependencies
-      writer.addDependency(BCC_FILE_RESOURCE, pathLibBCC_SHA1, sha1LibBCC_SHA1);
+#if USE_LIBBCC_SHA1SUM
+      writer.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
 #endif
+      writer.addDependency(BCC_FILE_RESOURCE, pathLibRS, sha1LibRS);
 
       for (size_t i = 0; i < 2; ++i) {
         if (mSourceList[i]) {
diff --git a/lib/ExecutionEngine/Sha1Helper.cpp b/lib/ExecutionEngine/Sha1Helper.cpp
index e7e7932..f4589c9 100644
--- a/lib/ExecutionEngine/Sha1Helper.cpp
+++ b/lib/ExecutionEngine/Sha1Helper.cpp
@@ -29,8 +29,14 @@
 
 namespace bcc {
 
-unsigned char sha1LibBCC_SHA1[20];
-char const *pathLibBCC_SHA1 = "/system/lib/libbcc_sha1.so";
+#if USE_LIBBCC_SHA1SUM
+unsigned char sha1LibBCC[20];
+char const *pathLibBCC = "/system/lib/libbcc.so";
+#endif
+
+unsigned char sha1LibRS[20];
+char const *pathLibRS = "/system/lib/libRS.so";
+
 
 void calcSHA1(unsigned char *result, char const *data, size_t size) {
   SHA1_CTX hashContext;
diff --git a/lib/ExecutionEngine/Sha1Helper.h b/lib/ExecutionEngine/Sha1Helper.h
index f53c0ce..5e98036 100644
--- a/lib/ExecutionEngine/Sha1Helper.h
+++ b/lib/ExecutionEngine/Sha1Helper.h
@@ -22,8 +22,13 @@
 #include <stddef.h>
 
 namespace bcc {
-  extern unsigned char sha1LibBCC_SHA1[20];
-  extern char const *pathLibBCC_SHA1;
+#if USE_LIBBCC_SHA1SUM
+  extern unsigned char sha1LibBCC[20];
+  extern char const *pathLibBCC;
+#endif
+
+  extern unsigned char sha1LibRS[20];
+  extern char const *pathLibRS;
 
   void calcSHA1(unsigned char *result, char const *data, size_t size);