Introduce Config.h.  So that libbcc will rebuild on config change.
diff --git a/Android.mk b/Android.mk
index 01ebe16..fa82ba3 100644
--- a/Android.mk
+++ b/Android.mk
@@ -17,19 +17,24 @@
 ifneq ($(TARGET_SIMULATOR),true)
 
 LOCAL_PATH := $(call my-dir)
+
 LLVM_ROOT_PATH := external/llvm
 
-USE_CACHE := true
-USE_LIBBCC_SHA1SUM := true
-USE_RELOCATE := false
+# Extract Configuration from Cache.h
 
-USE_DISASSEMBLER := true
-LLVM_ENABLE_ASSERTION := false
+libbcc_GET_CONFIG = $(shell cat "$(LOCAL_PATH)/Config.h" | \
+                            grep "^\#define $1 [01]$$" | \
+                            cut -d ' ' -f 3)
+
+libbcc_USE_CACHE := $(call libbcc_GET_CONFIG,USE_CACHE)
+libbcc_USE_DISASSEMBLER := $(call libbcc_GET_CONFIG,USE_DISASSEMBLER)
+libbcc_USE_DISASSEMBLER_FILE := $(call libbcc_GET_CONFIG,USE_DISASSEMBLER_FILE)
+libbcc_USE_LIBBCC_SHA1SUM := $(call libbcc_GET_CONFIG,USE_LIBBCC_SHA1SUM)
+
+# Source Files
 
 libbcc_SRC_FILES := \
   lib/bcc/bcc.cpp \
-  lib/bcc/CacheReader.cpp \
-  lib/bcc/CacheWriter.cpp \
   lib/bcc/CodeEmitter.cpp \
   lib/bcc/CodeMemoryManager.cpp \
   lib/bcc/Compiler.cpp \
@@ -37,10 +42,16 @@
   lib/bcc/FileHandle.cpp \
   lib/bcc/Runtime.c \
   lib/bcc/Script.cpp \
-  lib/bcc/ScriptCompiled.cpp \
+  lib/bcc/ScriptCompiled.cpp
+
+ifeq ($(libbcc_USE_CACHE),1)
+libbcc_SRC_FILES += \
+  lib/bcc/CacheReader.cpp \
+  lib/bcc/CacheWriter.cpp \
   lib/bcc/ScriptCached.cpp \
   lib/bcc/Sha1Helper.cpp \
   helper/sha1.c
+endif
 
 #
 # rslib.bc
@@ -124,8 +135,7 @@
   $(LOCAL_PATH)/include \
   $(LOCAL_PATH)
 
-ifeq ($(USE_DISASSEMBLER),true)
-LOCAL_CFLAGS += -DUSE_DISASSEMBLER
+ifeq ($(libbcc_USE_DISASSEMBLER),1)
 LOCAL_STATIC_LIBRARIES := \
   libLLVMARMDisassembler \
   libLLVMARMAsmPrinter \
@@ -133,10 +143,6 @@
   $(LOCAL_STATIC_LIBRARIES)
 endif
 
-ifeq ($(USE_LIBBCC_SHA1SUM),true)
-LOCAL_CFLAGS += -DUSE_LIBBCC_SHA1SUM
-endif
-
 # This makes rslib.bc get installed if and only if the target libbcc.so is installed.
 LOCAL_REQUIRED_MODULES := rslib.bc
 
@@ -192,10 +198,9 @@
   $(LOCAL_PATH)
 
 # definitions for LLVM
-LOCAL_CFLAGS += -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUSE_DISASSEMBLER=1 -DFORCE_ARM_CODEGEN=1 -DDEBUG_CODEGEN=1
+LOCAL_CFLAGS += -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DFORCE_ARM_CODEGEN=1 -DDEBUG_CODEGEN=1
 
-ifeq ($(USE_DISASSEMBLER),true)
-LOCAL_CFLAGS += -DUSE_DISASSEMBLER
+ifeq ($(libbcc_USE_DISASSEMBLER),1)
 LOCAL_STATIC_LIBRARIES := \
   libLLVMARMDisassembler \
   libLLVMARMAsmPrinter \
@@ -203,10 +208,6 @@
   $(LOCAL_STATIC_LIBRARIES)
 endif
 
-ifeq ($(USE_LIBBCC_SHA1SUM),true)
-LOCAL_CFLAGS += -DUSE_LIBBCC_SHA1SUM
-endif
-
 include $(LLVM_ROOT_PATH)/llvm-host-build.mk
 include $(BUILD_HOST_SHARED_LIBRARY)
 
diff --git a/Config.h b/Config.h
new file mode 100644
index 0000000..7dd5023
--- /dev/null
+++ b/Config.h
@@ -0,0 +1,64 @@
+#ifndef BCC_CONFIG_H
+#define BCC_CONFIG_H
+
+//---------------------------------------------------------------------------
+
+#define USE_CACHE 1
+
+#define USE_DISASSEMBLER 1
+
+#define USE_DISASSEMBLER_FILE 0
+
+#define USE_LIBBCC_SHA1SUM 1
+
+//---------------------------------------------------------------------------
+
+#if defined(__arm__)
+  #define DEFAULT_ARM_CODEGEN
+  #define PROVIDE_ARM_CODEGEN
+#elif defined(__i386__)
+  #define DEFAULT_X86_CODEGEN
+  #define PROVIDE_X86_CODEGEN
+#elif defined(__x86_64__)
+  #define DEFAULT_X64_CODEGEN
+  #define PROVIDE_X64_CODEGEN
+#endif
+
+#if defined(FORCE_ARM_CODEGEN)
+  #define DEFAULT_ARM_CODEGEN
+  #undef DEFAULT_X86_CODEGEN
+  #undef DEFAULT_X64_CODEGEN
+  #define PROVIDE_ARM_CODEGEN
+  #undef PROVIDE_X86_CODEGEN
+  #undef PROVIDE_X64_CODEGEN
+#elif defined(FORCE_X86_CODEGEN)
+  #undef DEFAULT_ARM_CODEGEN
+  #define DEFAULT_X86_CODEGEN
+  #undef DEFAULT_X64_CODEGEN
+  #undef PROVIDE_ARM_CODEGEN
+  #define PROVIDE_X86_CODEGEN
+  #undef PROVIDE_X64_CODEGEN
+#elif defined(FORCE_X64_CODEGEN)
+  #undef DEFAULT_ARM_CODEGEN
+  #undef DEFAULT_X86_CODEGEN
+  #define DEFAULT_X64_CODEGEN
+  #undef PROVIDE_ARM_CODEGEN
+  #undef PROVIDE_X86_CODEGEN
+  #define PROVIDE_X64_CODEGEN
+#endif
+
+#if defined(DEFAULT_ARM_CODEGEN)
+  #define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi"
+#elif defined(DEFAULT_X86_CODEGEN)
+  #define TARGET_TRIPLE_STRING "i686-unknown-linux"
+#elif defined(DEFAULT_X64_CODEGEN)
+  #define TARGET_TRIPLE_STRING "x86_64-unknown-linux"
+#endif
+
+#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
+  #define ARM_USE_VFP
+#endif
+
+//---------------------------------------------------------------------------
+
+#endif // BCC_CONFIG_H
diff --git a/lib/bcc/CodeEmitter.cpp b/lib/bcc/CodeEmitter.cpp
index 29e0934..f475abd 100644
--- a/lib/bcc/CodeEmitter.cpp
+++ b/lib/bcc/CodeEmitter.cpp
@@ -16,6 +16,8 @@
 
 #include "CodeEmitter.h"
 
+#include "Config.h"
+
 #include "CodeMemoryManager.h"
 #include "Runtime.h"
 #include "ScriptCompiled.h"
@@ -48,7 +50,7 @@
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
 
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
 #include "llvm/Support/MemoryObject.h"
 #endif
 
@@ -79,7 +81,7 @@
 
 namespace {
 
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
 class BufferMemoryObject : public llvm::MemoryObject {
 private:
   const uint8_t *mBytes;
@@ -118,7 +120,7 @@
       mpConstantPool(NULL),
       mpJumpTable(NULL),
       mpMMI(NULL),
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
       mpAsmInfo(NULL),
       mpDisassmbler(NULL),
       mpIP(NULL),
@@ -129,7 +131,7 @@
 
 
 CodeEmitter::~CodeEmitter() {
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   delete mpAsmInfo;
   delete mpDisassmbler;
   delete mpIP;
@@ -1167,10 +1169,10 @@
 void CodeEmitter::Disassemble(const llvm::StringRef &Name,
                               uint8_t *Start, size_t Length, bool IsStub) {
 
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   llvm::raw_ostream *OS;
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
   std::string ErrorInfo;
   OS = new llvm::raw_fd_ostream("/data/local/tmp/out.S",
                                 ErrorInfo,
@@ -1221,13 +1223,13 @@
   *OS << "\n";
   delete BufferMObj;
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
   // If you want the disassemble results write to file, uncomment this.
   ((llvm::raw_fd_ostream*)OS)->close();
   delete OS;
 #endif
 
-#endif // defined(USE_DISASSEMBLER)
+#endif // USE_DISASSEMBLER
 }
 
 
diff --git a/lib/bcc/CodeEmitter.h b/lib/bcc/CodeEmitter.h
index 289c954..8d34159 100644
--- a/lib/bcc/CodeEmitter.h
+++ b/lib/bcc/CodeEmitter.h
@@ -18,6 +18,8 @@
 #include <bcc/bcc_cache.h>
 #include "bcc_internal.h"
 
+#include "Config.h"
+
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"
@@ -43,7 +45,7 @@
   class MachineFunction;
   class MachineJumpTableInfo;
   class MachineModuleInfo;
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   class MCAsmInfo;
   class MCDisassembler;
   class MCInstPrinter;
@@ -138,7 +140,7 @@
 
     std::map<void*, void*> ExternalFnToStubMap;
 
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
     const llvm::MCAsmInfo *mpAsmInfo;
     const llvm::MCDisassembler *mpDisassmbler;
     llvm::MCInstPrinter *mpIP;
diff --git a/lib/bcc/Compiler.cpp b/lib/bcc/Compiler.cpp
index 188a0ff..ccbfb5d 100644
--- a/lib/bcc/Compiler.cpp
+++ b/lib/bcc/Compiler.cpp
@@ -17,54 +17,10 @@
 #define LOG_TAG "bcc"
 #include <cutils/log.h>
 
-#if defined(__arm__)
-#   define DEFAULT_ARM_CODEGEN
-#   define PROVIDE_ARM_CODEGEN
-#elif defined(__i386__)
-#   define DEFAULT_X86_CODEGEN
-#   define PROVIDE_X86_CODEGEN
-#elif defined(__x86_64__)
-#   define DEFAULT_X64_CODEGEN
-#   define PROVIDE_X64_CODEGEN
-#endif
-
-#if defined(FORCE_ARM_CODEGEN)
-#   define DEFAULT_ARM_CODEGEN
-#   undef DEFAULT_X86_CODEGEN
-#   undef DEFAULT_X64_CODEGEN
-#   define PROVIDE_ARM_CODEGEN
-#   undef PROVIDE_X86_CODEGEN
-#   undef PROVIDE_X64_CODEGEN
-#elif defined(FORCE_X86_CODEGEN)
-#   undef DEFAULT_ARM_CODEGEN
-#   define DEFAULT_X86_CODEGEN
-#   undef DEFAULT_X64_CODEGEN
-#   undef PROVIDE_ARM_CODEGEN
-#   define PROVIDE_X86_CODEGEN
-#   undef PROVIDE_X64_CODEGEN
-#elif defined(FORCE_X64_CODEGEN)
-#   undef DEFAULT_ARM_CODEGEN
-#   undef DEFAULT_X86_CODEGEN
-#   define DEFAULT_X64_CODEGEN
-#   undef PROVIDE_ARM_CODEGEN
-#   undef PROVIDE_X86_CODEGEN
-#   define PROVIDE_X64_CODEGEN
-#endif
-
-#if defined(DEFAULT_ARM_CODEGEN)
-#   define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi"
-#elif defined(DEFAULT_X86_CODEGEN)
-#   define TARGET_TRIPLE_STRING "i686-unknown-linux"
-#elif defined(DEFAULT_X64_CODEGEN)
-#   define TARGET_TRIPLE_STRING "x86_64-unknown-linux"
-#endif
-
-#if (defined(__VFP_FP__) && !defined(__SOFTFP__))
-#   define ARM_USE_VFP
-#endif
-
 #include "Compiler.h"
 
+#include "Config.h"
+
 #include "ContextManager.h"
 #include "ScriptCompiled.h"
 #include "Sha1Helper.h"
@@ -167,7 +123,7 @@
 #if defined(DEFAULT_ARM_CODEGEN) || defined(PROVIDE_ARM_CODEGEN)
   LLVMInitializeARMTargetInfo();
   LLVMInitializeARMTarget();
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   LLVMInitializeARMDisassembler();
   LLVMInitializeARMAsmPrinter();
 #endif
@@ -176,7 +132,7 @@
 #if defined(DEFAULT_X86_CODEGEN) || defined(PROVIDE_X86_CODEGEN)
   LLVMInitializeX86TargetInfo();
   LLVMInitializeX86Target();
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   LLVMInitializeX86Disassembler();
   LLVMInitializeX86AsmPrinter();
 #endif
@@ -185,7 +141,7 @@
 #if defined(DEFAULT_X64_CODEGEN) || defined(PROVIDE_X64_CODEGEN)
   LLVMInitializeX86TargetInfo();
   LLVMInitializeX86Target();
-#if defined(USE_DISASSEMBLER)
+#if USE_DISASSEMBLER
   LLVMInitializeX86Disassembler();
   LLVMInitializeX86AsmPrinter();
 #endif
@@ -237,11 +193,13 @@
      llvm::createFastRegisterAllocator :
      llvm::createLinearScanRegisterAllocator);
 
+#if USE_CACHE
   // Calculate the SHA1 checksum of libbcc and libRS.
-#if defined(USE_LIBBCC_SHA1SUM)
+#if USE_LIBBCC_SHA1SUM
   calcFileSHA1(sha1LibBCC, pathLibBCC);
 #endif
   calcFileSHA1(sha1LibRS, pathLibRS);
+#endif
 
   GlobalInitialized = true;
 }
diff --git a/lib/bcc/Runtime.c b/lib/bcc/Runtime.c
index 3f690aa..86f8615 100644
--- a/lib/bcc/Runtime.c
+++ b/lib/bcc/Runtime.c
@@ -83,8 +83,6 @@
   void *mPtr;
 } RuntimeFunction;
 
-#define USE_VFP_RUNTIME 1
-
 #if defined(__arm__)
   #define DEF_GENERIC_RUNTIME(func)   \
     extern void *func;
diff --git a/lib/bcc/Script.cpp b/lib/bcc/Script.cpp
index 23ec7fc..89d6115 100644
--- a/lib/bcc/Script.cpp
+++ b/lib/bcc/Script.cpp
@@ -19,6 +19,8 @@
 
 #include "Script.h"
 
+#include "Config.h"
+
 #include "CacheReader.h"
 #include "CacheWriter.h"
 #include "FileHandle.h"
@@ -46,10 +48,19 @@
 namespace bcc {
 
 Script::~Script() {
-  if (mStatus == ScriptStatus::Compiled) {
+  switch (mStatus) {
+  case ScriptStatus::Compiled:
     delete mCompiled;
-  } else if (mStatus == ScriptStatus::Cached) {
+    break;
+
+#if USE_CACHE
+  case ScriptStatus::Cached:
     delete mCached;
+    break;
+#endif
+
+  default:
+    break;
   }
 }
 
@@ -108,16 +119,19 @@
     return 1;
   }
 
+#if USE_CACHE
   // Load Cache File
   mCachePath = cachePath;
   if (cachePath && internalLoadCache() == 0) {
     return 0;
   }
+#endif
 
   return internalCompile();
 }
 
 
+#if USE_CACHE
 int Script::internalLoadCache() {
   if (getBooleanProp("debug.bcc.nocache")) {
     // Android system environment property disable the cache mechanism by
@@ -152,7 +166,7 @@
   CacheReader reader;
 
   // Dependencies
-#if defined(USE_LIBBCC_SHA1SUM)
+#if USE_LIBBCC_SHA1SUM
   reader.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
 #endif
 
@@ -183,6 +197,7 @@
 
   return 0;
 }
+#endif
 
 
 int Script::internalCompile() {
@@ -233,6 +248,7 @@
     return 1;
   }
 
+#if USE_CACHE
   // TODO(logan): Write the cache out
   if (mCachePath && !getBooleanProp("debug.bcc.nocache")) {
     FileHandle file;
@@ -241,7 +257,7 @@
       CacheWriter writer;
 
       // Dependencies
-#if defined(USE_LIBBCC_SHA1SUM)
+#if USE_LIBBCC_SHA1SUM
       writer.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
 #endif
       writer.addDependency(BCC_FILE_RESOURCE, pathLibRS, sha1LibRS);
@@ -270,6 +286,7 @@
       }
     }
   }
+#endif // USE_CACHE
 
   return 0;
 }
@@ -288,7 +305,9 @@
 void *Script::lookup(const char *name) {
   switch (mStatus) {
   case ScriptStatus::Compiled:  return mCompiled->lookup(name);
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->lookup(name);
+#endif
 
   default:
     mErrorCode = BCC_INVALID_OPERATION;
@@ -300,7 +319,9 @@
 size_t Script::getExportVarCount() const {
   switch (mStatus) {
   case ScriptStatus::Compiled:  return mCompiled->getExportVarCount();
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->getExportVarCount();
+#endif
   default:                      return 0;
   }
 }
@@ -309,7 +330,9 @@
 size_t Script::getExportFuncCount() const {
   switch (mStatus) {
   case ScriptStatus::Compiled:  return mCompiled->getExportFuncCount();
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->getExportFuncCount();
+#endif
   default:                      return 0;
   }
 }
@@ -318,7 +341,9 @@
 size_t Script::getPragmaCount() const {
   switch (mStatus) {
   case ScriptStatus::Compiled:  return mCompiled->getPragmaCount();
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->getPragmaCount();
+#endif
   default:                      return 0;
   }
 }
@@ -327,7 +352,9 @@
 size_t Script::getFuncCount() const {
   switch (mStatus) {
   case ScriptStatus::Compiled:  return mCompiled->getFuncCount();
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->getFuncCount();
+#endif
   default:                      return 0;
   }
 }
@@ -340,7 +367,10 @@
     m##STATUS->getExportVarList(varListSize, varList); \
     break;
 
+#if USE_CACHE
   DELEGATE(Cached);
+#endif
+
   DELEGATE(Compiled);
 #undef DELEGATE
 
@@ -357,7 +387,10 @@
     m##STATUS->getExportFuncList(funcListSize, funcList); \
     break;
 
+#if USE_CACHE
   DELEGATE(Cached);
+#endif
+
   DELEGATE(Compiled);
 #undef DELEGATE
 
@@ -376,7 +409,10 @@
     m##STATUS->getPragmaList(pragmaListSize, keyList, valueList); \
     break;
 
+#if USE_CACHE
   DELEGATE(Cached);
+#endif
+
   DELEGATE(Compiled);
 #undef DELEGATE
 
@@ -394,7 +430,10 @@
     m##STATUS->getFuncInfoList(funcInfoListSize, funcInfoList);
     break;
 
+#if USE_CACHE
   DELEGATE(Cached);
+#endif
+
   DELEGATE(Compiled);
 #undef DELEGATE
 
@@ -405,7 +444,9 @@
 
 char *Script::getContext() {
   switch (mStatus) {
+#if USE_CACHE
   case ScriptStatus::Cached:    return mCached->getContext();
+#endif
   case ScriptStatus::Compiled:  return mCompiled->getContext();
 
   default:
diff --git a/lib/bcc/Script.h b/lib/bcc/Script.h
index 1965828..b996a32 100644
--- a/lib/bcc/Script.h
+++ b/lib/bcc/Script.h
@@ -36,7 +36,9 @@
     enum StatusType {
       Unknown,
       Compiled,
+#if USE_CACHE
       Cached,
+#endif
     };
   }
 
@@ -48,7 +50,9 @@
 
     union {
       ScriptCompiled *mCompiled;
+#if USE_CACHE
       ScriptCached *mCached;
+#endif
     };
 
     char const *mCachePath;
@@ -140,7 +144,9 @@
     }
 
   private:
+#if USE_CACHE
     int internalLoadCache();
+#endif
     int internalCompile();
 
   };
diff --git a/lib/bcc/Sha1Helper.cpp b/lib/bcc/Sha1Helper.cpp
index da1565d..90d5ac6 100644
--- a/lib/bcc/Sha1Helper.cpp
+++ b/lib/bcc/Sha1Helper.cpp
@@ -19,6 +19,8 @@
 
 #include "Sha1Helper.h"
 
+#include "Config.h"
+
 #include "FileHandle.h"
 
 #include <string.h>
@@ -29,7 +31,7 @@
 
 namespace bcc {
 
-#if defined(USE_LIBBCC_SHA1SUM)
+#if USE_LIBBCC_SHA1SUM
 unsigned char sha1LibBCC[20];
 char const *pathLibBCC = "/system/lib/libbcc.so";
 #endif
diff --git a/lib/bcc/Sha1Helper.h b/lib/bcc/Sha1Helper.h
index b78c3c4..4a1a148 100644
--- a/lib/bcc/Sha1Helper.h
+++ b/lib/bcc/Sha1Helper.h
@@ -17,10 +17,12 @@
 #ifndef BCC_SHA1HELPER_H
 #define BCC_SHA1HELPER_H
 
+#include "Config.h"
+
 #include <stdint.h>
 
 namespace bcc {
-#if defined(USE_LIBBCC_SHA1SUM)
+#if USE_LIBBCC_SHA1SUM
   extern unsigned char sha1LibBCC[20];
   extern char const *pathLibBCC;
 #endif
diff --git a/lib/bcc/bcc.cpp b/lib/bcc/bcc.cpp
index bc7f16d..696b20b 100644
--- a/lib/bcc/bcc.cpp
+++ b/lib/bcc/bcc.cpp
@@ -23,6 +23,8 @@
 #include <bcc/bcc.h>
 #include "bcc_internal.h"
 
+#include "Config.h"
+
 #include "Compiler.h"
 #include "Script.h"
 
@@ -126,7 +128,7 @@
 
   void *addr = unwrap(script)->lookup(funcname);
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
   LOGD("Function Address: %s --> 0x%p\n", funcname, addr);
 #endif
 
@@ -148,7 +150,7 @@
   if (varList) {
     unwrap(script)->getExportVarList(varListSize, varList);
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
     size_t count = unwrap(script)->getExportVarCount();
     LOGD("ExportVarCount = %lu\n", (unsigned long)count);
 
@@ -178,7 +180,7 @@
   if (funcList) {
     unwrap(script)->getExportFuncList(funcListSize, funcList);
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
     size_t count = unwrap(script)->getExportFuncCount();
     LOGD("ExportFuncCount = %lu\n", (unsigned long)count);
 
@@ -207,10 +209,10 @@
   BCC_FUNC_LOGGER();
   unwrap(script)->getPragmaList(pragmaListSize, keyList, valueList);
 
-#if defined(USE_DISASSEMBLER_FILE)
+#if USE_DISASSEMBLER_FILE
   if (keyList && valueList) {
-    size_t count = script->getPragmaCount();
-    LOGD("PragmaCount = %lu\n", count);
+    size_t count = unwrap(script)->getPragmaCount();
+    LOGD("PragmaCount = %lu\n", (unsigned long)count);
 
     if (count > pragmaListSize) {
       count = pragmaListSize;