diff --git a/Android.mk b/Android.mk
index 5d568e5..84d2e89 100644
--- a/Android.mk
+++ b/Android.mk
@@ -27,8 +27,10 @@
 endif
 
 libbcc_WHOLE_STATIC_LIBRARIES += \
+  libbccRenderScript \
   libbccExecutionEngine \
-  libbccHelper
+  libbccCore \
+  libbccSupport
 
 
 #=====================================================================
diff --git a/helper/Android.mk b/helper/Android.mk
deleted file mode 100644
index 3e606e6..0000000
--- a/helper/Android.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright (C) 2011-2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
-
-LOCAL_PATH := $(call my-dir)
-
-#=====================================================================
-# Device Static Library: libbccHelper
-#=====================================================================
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libbccHelper
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := sha1.c
-
-include $(LIBBCC_DEVICE_BUILD_MK)
-include $(LIBBCC_GEN_CONFIG_MK)
-include $(LLVM_DEVICE_BUILD_MK)
-include $(BUILD_STATIC_LIBRARY)
-
-
-#=====================================================================
-# Host Static Library: libbccHelper
-#=====================================================================
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libbccHelper
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-LOCAL_SRC_FILES := \
-  sha1.c
-
-include $(LIBBCC_HOST_BUILD_MK)
-include $(LIBBCC_GEN_CONFIG_MK)
-include $(LLVM_HOST_BUILD_MK)
-include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/ExecutionEngine/BCCContext.h b/include/bcc/BCCContext.h
similarity index 90%
rename from lib/ExecutionEngine/BCCContext.h
rename to include/bcc/BCCContext.h
index 56962fe..be24d31 100644
--- a/lib/ExecutionEngine/BCCContext.h
+++ b/include/bcc/BCCContext.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_CONTEXT_H
-#define BCC_EXECUTION_ENGINE_CONTEXT_H
+#ifndef BCC_CONTEXT_H
+#define BCC_CONTEXT_H
 
 namespace llvm {
   class LLVMContext;
@@ -49,4 +49,4 @@
 
 } // namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_CONTEXT_H
+#endif  // BCC_CONTEXT_H
diff --git a/lib/ExecutionEngine/Compiler.h b/include/bcc/Compiler.h
similarity index 96%
rename from lib/ExecutionEngine/Compiler.h
rename to include/bcc/Compiler.h
index 5e37925..881ef5c 100644
--- a/lib/ExecutionEngine/Compiler.h
+++ b/include/bcc/Compiler.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_COMPILER_H
-#define BCC_EXECUTION_ENGINE_COMPILER_H
+#ifndef BCC_COMPILER_H
+#define BCC_COMPILER_H
 
 namespace llvm {
 
@@ -140,4 +140,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_COMPILER_H
+#endif // BCC_COMPILER_H
diff --git a/Config.h b/include/bcc/Config/Config.h
similarity index 95%
rename from Config.h
rename to include/bcc/Config/Config.h
index 52fa0ba..e13f504 100644
--- a/Config.h
+++ b/include/bcc/Config/Config.h
@@ -1,5 +1,5 @@
-#ifndef BCC_CONFIG_H
-#define BCC_CONFIG_H
+#ifndef BCC_CONFIG_CONFIG_H
+#define BCC_CONFIG_CONFIG_H
 
 #include "ConfigFromMk.h"
 
@@ -77,4 +77,4 @@
 
 //---------------------------------------------------------------------------
 
-#endif // BCC_CONFIG_H
+#endif // BCC_CONFIG_CONFIG_H
diff --git a/lib/ExecutionEngine/BCCRuntimeSymbolResolver.h b/include/bcc/ExecutionEngine/BCCRuntimeSymbolResolver.h
similarity index 95%
rename from lib/ExecutionEngine/BCCRuntimeSymbolResolver.h
rename to include/bcc/ExecutionEngine/BCCRuntimeSymbolResolver.h
index e48a4d8..4210489 100644
--- a/lib/ExecutionEngine/BCCRuntimeSymbolResolver.h
+++ b/include/bcc/ExecutionEngine/BCCRuntimeSymbolResolver.h
@@ -17,7 +17,7 @@
 #ifndef BCC_EXECUTION_ENGINE_BCC_RUNTIME_SYMBOL_RESOLVERS_H
 #define BCC_EXECUTION_ENGINE_BCC_RUNTIME_SYMBOL_RESOLVERS_H
 
-#include "SymbolResolvers.h"
+#include "bcc/ExecutionEngine/SymbolResolvers.h"
 
 namespace bcc {
 
diff --git a/lib/ExecutionEngine/GDBJIT.h b/include/bcc/ExecutionEngine/GDBJIT.h
similarity index 96%
rename from lib/ExecutionEngine/GDBJIT.h
rename to include/bcc/ExecutionEngine/GDBJIT.h
index 442b666..4567813 100644
--- a/lib/ExecutionEngine/GDBJIT.h
+++ b/include/bcc/ExecutionEngine/GDBJIT.h
@@ -33,8 +33,8 @@
 #ifndef BCC_EXECUTION_ENGINE_GDB_JIT_H
 #define BCC_EXECUTION_ENGINE_GDB_JIT_H
 
-#include "llvm/Support/DataTypes.h"
-#include "llvm/Support/Compiler.h"
+#include <llvm/Support/DataTypes.h>
+#include <llvm/Support/Compiler.h>
 
 // This must be kept in sync with gdb/gdb/jit.h .
 extern "C" {
diff --git a/lib/ExecutionEngine/GDBJITRegistrar.h b/include/bcc/ExecutionEngine/GDBJITRegistrar.h
similarity index 90%
rename from lib/ExecutionEngine/GDBJITRegistrar.h
rename to include/bcc/ExecutionEngine/GDBJITRegistrar.h
index debf503..868dafa 100644
--- a/lib/ExecutionEngine/GDBJITRegistrar.h
+++ b/include/bcc/ExecutionEngine/GDBJITRegistrar.h
@@ -30,8 +30,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef BCC_GDBJITREGISTRAR_H
-#define BCC_GDBJITREGISTRAR_H
+#ifndef BCC_EXECUTION_ENGINE_GDB_JIT_REGISTRAR_H
+#define BCC_EXECUTION_ENGINE_GDB_JIT_REGISTRAR_H
 
 #include <cstddef>
 
@@ -41,4 +41,4 @@
 void registerObjectWithGDB(const ObjectBuffer* Object, std::size_t Size);
 void deregisterObjectWithGDB(const ObjectBuffer* Object);
 
-#endif // BCC_GDBJITREGISTRAR_H
+#endif // BCC_EXECUTION_ENGINE_GDB_JIT_REGISTRAR_H
diff --git a/lib/ExecutionEngine/ObjectLoader.h b/include/bcc/ExecutionEngine/ObjectLoader.h
similarity index 100%
rename from lib/ExecutionEngine/ObjectLoader.h
rename to include/bcc/ExecutionEngine/ObjectLoader.h
diff --git a/lib/ExecutionEngine/SymbolResolverInterface.h b/include/bcc/ExecutionEngine/SymbolResolverInterface.h
similarity index 100%
rename from lib/ExecutionEngine/SymbolResolverInterface.h
rename to include/bcc/ExecutionEngine/SymbolResolverInterface.h
diff --git a/lib/ExecutionEngine/SymbolResolverProxy.h b/include/bcc/ExecutionEngine/SymbolResolverProxy.h
similarity index 91%
rename from lib/ExecutionEngine/SymbolResolverProxy.h
rename to include/bcc/ExecutionEngine/SymbolResolverProxy.h
index 7bbdac5..bf489d1 100644
--- a/lib/ExecutionEngine/SymbolResolverProxy.h
+++ b/include/bcc/ExecutionEngine/SymbolResolverProxy.h
@@ -17,8 +17,8 @@
 #ifndef BCC_EXECUTION_ENGINE_SYMBOL_RESOLVER_PROXY_H
 #define BCC_EXECUTION_ENGINE_SYMBOL_RESOLVER_PROXY_H
 
-#include "DebugHelper.h"
-#include "SymbolResolverInterface.h"
+#include "bcc/ExecutionEngine/SymbolResolverInterface.h"
+#include "bcc/Support/DebugHelper.h"
 
 #include <utils/Vector.h>
 
diff --git a/lib/ExecutionEngine/SymbolResolvers.h b/include/bcc/ExecutionEngine/SymbolResolvers.h
similarity index 100%
rename from lib/ExecutionEngine/SymbolResolvers.h
rename to include/bcc/ExecutionEngine/SymbolResolvers.h
diff --git a/lib/ExecutionEngine/RSCompiler.h b/include/bcc/RenderScript/RSCompiler.h
similarity index 84%
rename from lib/ExecutionEngine/RSCompiler.h
rename to include/bcc/RenderScript/RSCompiler.h
index 227727b..537e749 100644
--- a/lib/ExecutionEngine/RSCompiler.h
+++ b/include/bcc/RenderScript/RSCompiler.h
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_COMPILER_H
-#define BCC_EXECUTION_ENGINE_RS_COMPILER_H
+#ifndef BCC_RS_COMPILER_H
+#define BCC_RS_COMPILER_H
 
-#include "Compiler.h"
+#include "bcc/Compiler.h"
 
 namespace bcc {
 
@@ -29,4 +29,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_RS_COMPILER_H
+#endif // BCC_RS_COMPILER_H
diff --git a/lib/ExecutionEngine/RSCompilerDriver.h b/include/bcc/RenderScript/RSCompilerDriver.h
similarity index 86%
rename from lib/ExecutionEngine/RSCompilerDriver.h
rename to include/bcc/RenderScript/RSCompilerDriver.h
index 8bc9298..60810c2 100644
--- a/lib/ExecutionEngine/RSCompilerDriver.h
+++ b/include/bcc/RenderScript/RSCompilerDriver.h
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_COMPILER_DRIVER_H
-#define BCC_EXECUTION_ENGINE_RS_COMPILER_DRIVER_H
+#ifndef BCC_RS_COMPILER_DRIVER_H
+#define BCC_RS_COMPILER_DRIVER_H
 
 #include <string>
 
-#include "BCCRuntimeSymbolResolver.h"
-#include "RSCompiler.h"
-#include "SymbolResolvers.h"
-#include "SymbolResolverProxy.h"
+#include "bcc/ExecutionEngine/BCCRuntimeSymbolResolver.h"
+#include "bcc/ExecutionEngine/SymbolResolvers.h"
+#include "bcc/ExecutionEngine/SymbolResolverProxy.h"
+#include "bcc/RenderScript/RSCompiler.h"
 
 namespace bcc {
 
@@ -68,4 +68,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_RS_COMPILER_DRIVER_H
+#endif // BCC_RS_COMPILER_DRIVER_H
diff --git a/lib/ExecutionEngine/RSExecutable.h b/include/bcc/RenderScript/RSExecutable.h
similarity index 93%
rename from lib/ExecutionEngine/RSExecutable.h
rename to include/bcc/RenderScript/RSExecutable.h
index 12e0f0a..24e7f1f 100644
--- a/lib/ExecutionEngine/RSExecutable.h
+++ b/include/bcc/RenderScript/RSExecutable.h
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_EXECUTABLE_H
-#define BCC_EXECUTION_ENGINE_RS_EXECUTABLE_H
+#ifndef BCC_RS_EXECUTABLE_H
+#define BCC_RS_EXECUTABLE_H
 
 #include <cstddef>
 
-#include "DebugHelper.h"
-#include "ObjectLoader.h"
-#include "RSInfo.h"
+
+#include "bcc/ExecutionEngine/ObjectLoader.h"
+#include "bcc/RenderScript/RSInfo.h"
+#include "bcc/Support/DebugHelper.h"
 
 #include <utils/Vector.h>
 
@@ -106,4 +107,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_RS_EXECUTABLE_H
+#endif // BCC_RS_EXECUTABLE_H
diff --git a/lib/ExecutionEngine/RSInfo.h b/include/bcc/RenderScript/RSInfo.h
similarity index 97%
rename from lib/ExecutionEngine/RSInfo.h
rename to include/bcc/RenderScript/RSInfo.h
index d69d15e..d621a72 100644
--- a/lib/ExecutionEngine/RSInfo.h
+++ b/include/bcc/RenderScript/RSInfo.h
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_INFO_FILE_H
-#define BCC_EXECUTION_ENGINE_RS_INFO_FILE_H
+#ifndef BCC_RS_INFO_H
+#define BCC_RS_INFO_H
 
 #include <stdint.h>
 
 #include <utility>
 
-#include "RSScript.h"
-#include "DebugHelper.h"
+#include "bcc/RenderScript/RSScript.h"
+#include "bcc/Support/DebugHelper.h"
 
 #include <utils/String8.h>
 #include <utils/Vector.h>
@@ -248,4 +248,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_RS_INFO_FILE_H
+#endif  // BCC_RS_INFO_H
diff --git a/lib/ExecutionEngine/RSScript.h b/include/bcc/RenderScript/RSScript.h
similarity index 94%
rename from lib/ExecutionEngine/RSScript.h
rename to include/bcc/RenderScript/RSScript.h
index 1ae9c9d..d8dd8b4 100644
--- a/lib/ExecutionEngine/RSScript.h
+++ b/include/bcc/RenderScript/RSScript.h
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_SCRIPT_H
-#define BCC_EXECUTION_ENGINE_RS_SCRIPT_H
+#ifndef BCC_RS_SCRIPT_H
+#define BCC_RS_SCRIPT_H
 
 #include <string>
 
 #include <llvm/ADT/SmallVector.h>
 #include <llvm/Support/CodeGen.h>
 
-#include "Script.h"
+#include "bcc/Script.h"
 
 namespace bcc {
 
@@ -107,4 +107,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_RS_SCRIPT_H
+#endif // BCC_RS_SCRIPT_H
diff --git a/lib/ExecutionEngine/RSTransforms.h b/include/bcc/RenderScript/RSTransforms.h
similarity index 83%
rename from lib/ExecutionEngine/RSTransforms.h
rename to include/bcc/RenderScript/RSTransforms.h
index ec5f690..77c2611 100644
--- a/lib/ExecutionEngine/RSTransforms.h
+++ b/include/bcc/RenderScript/RSTransforms.h
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_RS_TRANSFORMS_H
-#define BCC_EXECUTION_ENGINE_RS_TRANSFORMS_H
+#ifndef BCC_RS_TRANSFORMS_H
+#define BCC_RS_TRANSFORMS_H
 
-#include "RSInfo.h"
+#include "bcc/RenderScript/RSInfo.h"
 
 namespace llvm {
   class ModulePass;
@@ -30,4 +30,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_RS_TRANSFORMS_H
+#endif // BCC_RS_TRANSFORMS_H
diff --git a/lib/ExecutionEngine/Script.h b/include/bcc/Script.h
similarity index 93%
rename from lib/ExecutionEngine/Script.h
rename to include/bcc/Script.h
index a2b9639..226fcf9 100644
--- a/lib/ExecutionEngine/Script.h
+++ b/include/bcc/Script.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_SCRIPT_H
-#define BCC_EXECUTION_ENGINE_SCRIPT_H
+#ifndef BCC_SCRIPT_H
+#define BCC_SCRIPT_H
 
 namespace bcc {
 
@@ -58,4 +58,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_SCRIPT_H
+#endif  // BCC_SCRIPT_H
diff --git a/lib/ExecutionEngine/Source.h b/include/bcc/Source.h
similarity index 94%
rename from lib/ExecutionEngine/Source.h
rename to include/bcc/Source.h
index 577865f..82060ea 100644
--- a/lib/ExecutionEngine/Source.h
+++ b/include/bcc/Source.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_SOURCE_H
-#define BCC_EXECUTION_ENGINE_SOURCE_H
+#ifndef BCC_SOURCE_H
+#define BCC_SOURCE_H
 
 #include <string>
 
@@ -78,4 +78,4 @@
 
 } // namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_SOURCE_H
+#endif // BCC_SOURCE_H
diff --git a/lib/ExecutionEngine/CompilerConfig.h b/include/bcc/Support/CompilerConfig.h
similarity index 95%
rename from lib/ExecutionEngine/CompilerConfig.h
rename to include/bcc/Support/CompilerConfig.h
index d83086a..fec645b 100644
--- a/lib/ExecutionEngine/CompilerConfig.h
+++ b/include/bcc/Support/CompilerConfig.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_COMPILER_CONFIG_H
-#define BCC_EXECUTION_ENGINE_COMPILER_CONFIG_H
+#ifndef BCC_SUPPORT_COMPILER_CONFIG_H
+#define BCC_SUPPORT_COMPILER_CONFIG_H
 
 #include <string>
 #include <vector>
@@ -114,4 +114,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_COMPILER_CONFIG_H
+#endif  // BCC_SUPPORT_COMPILER_CONFIG_H
diff --git a/helper/DebugHelper.h b/include/bcc/Support/DebugHelper.h
similarity index 84%
rename from helper/DebugHelper.h
rename to include/bcc/Support/DebugHelper.h
index ae1d4af..2d5d019 100644
--- a/helper/DebugHelper.h
+++ b/include/bcc/Support/DebugHelper.h
@@ -1,5 +1,5 @@
 /*
- * Copyright 2010, The Android Open Source Project
+ * Copyright 2010-2012, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-#ifndef BCC_DEBUGHELPER_H
-#define BCC_DEBUGHELPER_H
+#ifndef BCC_SUPPORT_DEBUG_HELPER_H
+#define BCC_SUPPORT_DEBUG_HELPER_H
 
-#include "Config.h"
+#include "bcc/Config/Config.h"
 
 #define LOG_TAG "bcc"
 #include <cutils/log.h>
@@ -50,4 +50,4 @@
 
 #endif
 
-#endif // BCC_DEBUGHELPER_H
+#endif // BCC_SUPPORT_DEBUG_HELPER_H
diff --git a/include/bcc/Support/Disassembler.h b/include/bcc/Support/Disassembler.h
new file mode 100644
index 0000000..799a562
--- /dev/null
+++ b/include/bcc/Support/Disassembler.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2011-2012, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef BCC_SUPPORT_DISASSEMBLER_H
+#define BCC_SUPPORT_DISASSEMBLER_H
+
+#include "bcc/Config/Config.h"
+
+#if USE_DISASSEMBLER
+
+#include <string>
+
+namespace llvm {
+  class Target;
+  class TargetMachine;
+}
+
+namespace bcc {
+
+void InitializeDisassembler();
+
+void Disassemble(char const *OutputFileName,
+                 llvm::Target const *Target,
+                 llvm::TargetMachine *TM,
+                 std::string const &Name,
+                 unsigned char const *Func,
+                 size_t FuncSize);
+
+} // end namespace bcc
+
+#endif // USE_DISASSEMBLER
+
+#endif // BCC_SUPPORT_DISASSEMBLER_H
diff --git a/lib/ExecutionEngine/File.h b/include/bcc/Support/File.h
similarity index 93%
rename from lib/ExecutionEngine/File.h
rename to include/bcc/Support/File.h
index 4b7ad4d..69b7201 100644
--- a/lib/ExecutionEngine/File.h
+++ b/include/bcc/Support/File.h
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_FILE_H
-#define BCC_EXECUTION_ENGINE_FILE_H
+#ifndef BCC_SUPPORT_FILE_H
+#define BCC_SUPPORT_FILE_H
 
-#include "FileBase.h"
+#include "bcc/Support/FileBase.h"
 
 namespace bcc {
 
@@ -69,4 +69,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_FILE_H
+#endif  // BCC_SUPPORT_FILE_H
diff --git a/lib/ExecutionEngine/FileBase.h b/include/bcc/Support/FileBase.h
similarity index 96%
rename from lib/ExecutionEngine/FileBase.h
rename to include/bcc/Support/FileBase.h
index 47b3ee4..afe6768 100644
--- a/lib/ExecutionEngine/FileBase.h
+++ b/include/bcc/Support/FileBase.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_FILE_BASE_H
-#define BCC_EXECUTION_ENGINE_FILE_BASE_H
+#ifndef BCC_SUPPORT_FILE_BASE_H
+#define BCC_SUPPORT_FILE_BASE_H
 
 #include <fcntl.h>
 
@@ -148,4 +148,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_FILE_BASE_H
+#endif  // BCC_SUPPORT_FILE_BASE_H
diff --git a/lib/ExecutionEngine/FileMutex.h b/include/bcc/Support/FileMutex.h
similarity index 88%
rename from lib/ExecutionEngine/FileMutex.h
rename to include/bcc/Support/FileMutex.h
index 85c0e84..15c9f01 100644
--- a/lib/ExecutionEngine/FileMutex.h
+++ b/include/bcc/Support/FileMutex.h
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_FILE_MUTEX_H
-#define BCC_EXECUTION_ENGINE_FILE_MUTEX_H
+#ifndef BCC_SUPPORT_FILE_MUTEX_H
+#define BCC_SUPPORT_FILE_MUTEX_H
 
 #include <string>
 
-#include "FileBase.h"
+#include "bcc/Support/FileBase.h"
 
 namespace bcc {
 
@@ -40,4 +40,4 @@
 
 } // namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_FILE_MUTEX_H
+#endif  // BCC_SUPPORT_FILE_MUTEX_H
diff --git a/lib/ExecutionEngine/Initialization.h b/include/bcc/Support/Initialization.h
similarity index 83%
rename from lib/ExecutionEngine/Initialization.h
rename to include/bcc/Support/Initialization.h
index 9a357bc..521f082 100644
--- a/lib/ExecutionEngine/Initialization.h
+++ b/include/bcc/Support/Initialization.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_INITIALIZATION_H
-#define BCC_EXECUTION_ENGINE_INITIALIZATION_H
+#ifndef BCC_SUPPORT_INITIALIZATION_H
+#define BCC_SUPPORT_INITIALIZATION_H
 
 namespace bcc {
 
@@ -27,4 +27,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_INITIALIZATION_H
+#endif // BCC_SUPPORT_INITIALIZATION_H
diff --git a/lib/ExecutionEngine/InputFile.h b/include/bcc/Support/InputFile.h
similarity index 83%
rename from lib/ExecutionEngine/InputFile.h
rename to include/bcc/Support/InputFile.h
index a7c22d2..72abfd2 100644
--- a/lib/ExecutionEngine/InputFile.h
+++ b/include/bcc/Support/InputFile.h
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_INPUT_FILE_H
-#define BCC_EXECUTION_ENGINE_INPUT_FILE_H
+#ifndef BCC_SUPPORT_INPUT_FILE_H
+#define BCC_SUPPORT_INPUT_FILE_H
 
-#include "File.h"
-#include "FileBase.h"
+#include "bcc/Support/File.h"
+#include "bcc/Support/FileBase.h"
 
 namespace bcc {
 
@@ -32,4 +32,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_INPUT_FILE_H
+#endif  // BCC_SUPPORT_INPUT_FILE_H
diff --git a/lib/ExecutionEngine/OutputFile.h b/include/bcc/Support/OutputFile.h
similarity index 89%
rename from lib/ExecutionEngine/OutputFile.h
rename to include/bcc/Support/OutputFile.h
index 4de8863..5e5c868 100644
--- a/lib/ExecutionEngine/OutputFile.h
+++ b/include/bcc/Support/OutputFile.h
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_OUTPUT_FILE_H
-#define BCC_EXECUTION_ENGINE_OUTPUT_FILE_H
+#ifndef BCC_SUPPORT_OUTPUT_FILE_H
+#define BCC_SUPPORT_OUTPUT_FILE_H
 
-#include "File.h"
-#include "FileBase.h"
+#include "bcc/Support/File.h"
+#include "bcc/Support/FileBase.h"
 
 namespace llvm {
   class raw_fd_ostream;
@@ -50,4 +50,4 @@
 
 } // end namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_OUTPUT_FILE_H
+#endif  // BCC_SUPPORT_OUTPUT_FILE_H
diff --git a/include/bcc/Support/Sha1Helper.h b/include/bcc/Support/Sha1Helper.h
new file mode 100644
index 0000000..da98a36
--- /dev/null
+++ b/include/bcc/Support/Sha1Helper.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2010-2012, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef BCC_SUPPORT_SHA1_HELPER_H
+#define BCC_SUPPORT_SHA1_HELPER_H
+
+#include <stddef.h>
+
+namespace bcc {
+
+extern unsigned char sha1LibBCC_SHA1[20];
+extern char const *pathLibBCC_SHA1;
+
+extern unsigned char sha1LibRS[20];
+extern char const *pathLibRS;
+
+void calcSHA1(unsigned char *result, char const *data, size_t size);
+
+void calcFileSHA1(unsigned char *result, char const *filename);
+
+// Read binary representation of sha1 from filename.
+void readSHA1(unsigned char *result, int resultsize, char const *filename);
+
+} // end namespace bcc
+
+#endif // BCC_SUPPORT_SHA1_HELPER_H
diff --git a/lib/ExecutionEngine/TargetCompilerConfigs.h b/include/bcc/Support/TargetCompilerConfigs.h
similarity index 93%
rename from lib/ExecutionEngine/TargetCompilerConfigs.h
rename to include/bcc/Support/TargetCompilerConfigs.h
index bf10a7a..766765e 100644
--- a/lib/ExecutionEngine/TargetCompilerConfigs.h
+++ b/include/bcc/Support/TargetCompilerConfigs.h
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_TARGET_COMPILER_CONFIGS_H
-#define BCC_EXECUTION_ENGINE_TARGET_COMPILER_CONFIGS_H
+#ifndef BCC_SUPPORT_TARGET_COMPILER_CONFIGS_H
+#define BCC_SUPPORT_TARGET_COMPILER_CONFIGS_H
 
-#include "CompilerConfig.h"
-#include "Config.h"
+#include "bcc/Config/Config.h"
+#include "bcc/Support/CompilerConfig.h"
 
 namespace bcc {
 
@@ -99,4 +99,4 @@
 
 } // end namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_TARGET_COMPILER_CONFIGS_H
+#endif // BCC_SUPPORT_TARGET_COMPILER_CONFIGS_H
diff --git a/lib/Disassembler/Android.mk b/lib/Core/Android.mk
similarity index 74%
rename from lib/Disassembler/Android.mk
rename to lib/Core/Android.mk
index 3886b33..4448364 100644
--- a/lib/Disassembler/Android.mk
+++ b/lib/Core/Android.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011 The Android Open Source Project
+# Copyright (C) 2012 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,27 +17,29 @@
 
 LOCAL_PATH := $(call my-dir)
 
-ifeq ($(libbcc_USE_DISASSEMBLER),1)
-
 #=====================================================================
-# Common: libbccDisassembler
+# Common: libbccCore
 #=====================================================================
 
-libbcc_disassembler_SRC_FILES := \
-  Disassembler.cpp
-
+libbcc_core_SRC_FILES := \
+  BCCContext.cpp \
+  BCCContextImpl.cpp \
+  Compiler.cpp \
+  Script.cpp \
+  Source.cpp \
+  bcc.cpp
 
 #=====================================================================
-# Device Static Library: libbccDisassembler
+# Device Static Library: libbccCore
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccCore
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_core_SRC_FILES)
 
 include $(LIBBCC_DEVICE_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
@@ -46,21 +48,18 @@
 
 
 #=====================================================================
-# Host Static Library: libbccDisassembler
+# Host Static Library: libbccCore
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccCore
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_IS_HOST_MODULE := true
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_core_SRC_FILES)
 
 include $(LIBBCC_HOST_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
 include $(LLVM_HOST_BUILD_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
-
-endif # $(libbcc_USE_DISASSEMBLER)
diff --git a/lib/ExecutionEngine/BCCContext.cpp b/lib/Core/BCCContext.cpp
similarity index 94%
rename from lib/ExecutionEngine/BCCContext.cpp
rename to lib/Core/BCCContext.cpp
index 2c119b7..7eb7277 100644
--- a/lib/ExecutionEngine/BCCContext.cpp
+++ b/lib/Core/BCCContext.cpp
@@ -14,13 +14,14 @@
  * limitations under the License.
  */
 
-#include "BCCContext.h"
+#include "bcc/BCCContext.h"
 
 #include <new>
 
+#include "bcc/Source.h"
+#include "bcc/Support/DebugHelper.h"
+
 #include "BCCContextImpl.h"
-#include "DebugHelper.h"
-#include "Source.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/BCCContextImpl.cpp b/lib/Core/BCCContextImpl.cpp
similarity index 97%
rename from lib/ExecutionEngine/BCCContextImpl.cpp
rename to lib/Core/BCCContextImpl.cpp
index 5558e17..1278d97 100644
--- a/lib/ExecutionEngine/BCCContextImpl.cpp
+++ b/lib/Core/BCCContextImpl.cpp
@@ -20,7 +20,7 @@
 
 #include <llvm/ADT/STLExtras.h>
 
-#include "Source.h"
+#include "bcc/Source.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/BCCContextImpl.h b/lib/Core/BCCContextImpl.h
similarity index 89%
rename from lib/ExecutionEngine/BCCContextImpl.h
rename to lib/Core/BCCContextImpl.h
index e60997a..a63af49 100644
--- a/lib/ExecutionEngine/BCCContextImpl.h
+++ b/lib/Core/BCCContextImpl.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_CONTEXT_IMPL_H
-#define BCC_EXECUTION_ENGINE_CONTEXT_IMPL_H
+#ifndef BCC_CORE_CONTEXT_IMPL_H
+#define BCC_CORE_CONTEXT_IMPL_H
 
 #include <llvm/ADT/SmallPtrSet.h>
 #include <llvm/LLVMContext.h>
@@ -42,4 +42,4 @@
 
 } // namespace bcc
 
-#endif  // BCC_EXECUTION_ENGINE_CONTEXT_IMPL_H
+#endif  // BCC_CORE_CONTEXT_IMPL_H
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/Core/Compiler.cpp
similarity index 98%
rename from lib/ExecutionEngine/Compiler.cpp
rename to lib/Core/Compiler.cpp
index 2348d56..97b18bc 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/Core/Compiler.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "Compiler.h"
+#include "bcc/Compiler.h"
 
 #include <llvm/Analysis/Passes.h>
 #include <llvm/CodeGen/RegAllocRegistry.h>
@@ -27,11 +27,11 @@
 #include <llvm/Transforms/IPO.h>
 #include <llvm/Transforms/Scalar.h>
 
-#include "CompilerConfig.h"
-#include "DebugHelper.h"
-#include "OutputFile.h"
-#include "Script.h"
-#include "Source.h"
+#include "bcc/Script.h"
+#include "bcc/Source.h"
+#include "bcc/Support/CompilerConfig.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/OutputFile.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/Script.cpp b/lib/Core/Script.cpp
similarity index 94%
rename from lib/ExecutionEngine/Script.cpp
rename to lib/Core/Script.cpp
index 785915c..8e8a274 100644
--- a/lib/ExecutionEngine/Script.cpp
+++ b/lib/Core/Script.cpp
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-#include "Script.h"
+#include "bcc/Script.h"
 
-#include "Source.h"
+#include "bcc/Source.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/Source.cpp b/lib/Core/Source.cpp
similarity index 97%
rename from lib/ExecutionEngine/Source.cpp
rename to lib/Core/Source.cpp
index 90aaf2b..eb35306 100644
--- a/lib/ExecutionEngine/Source.cpp
+++ b/lib/Core/Source.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "Source.h"
+#include "bcc/Source.h"
 
 #include <new>
 
@@ -25,9 +25,10 @@
 #include <llvm/Support/MemoryBuffer.h>
 #include <llvm/Support/system_error.h>
 
-#include "BCCContext.h"
+#include "bcc/BCCContext.h"
+#include "bcc/Support/DebugHelper.h"
+
 #include "BCCContextImpl.h"
-#include "DebugHelper.h"
 
 namespace {
 
diff --git a/lib/ExecutionEngine/bcc.cpp b/lib/Core/bcc.cpp
similarity index 97%
rename from lib/ExecutionEngine/bcc.cpp
rename to lib/Core/bcc.cpp
index 6a3b8d3..ec8df64 100644
--- a/lib/ExecutionEngine/bcc.cpp
+++ b/lib/Core/bcc.cpp
@@ -17,21 +17,22 @@
 // Bitcode compiler (bcc) for Android:
 //    This is an eager-compilation JIT running on Android.
 
-#include <bcc/bcc.h>
+#include "bcc/bcc.h"
 
 #include <llvm/Support/CodeGen.h>
 
 #include <utils/StopWatch.h>
 
-#include "DebugHelper.h"
-#include "Initialization.h"
-#include "RSExecutable.h"
-#include "RSScript.h"
-#include "Sha1Helper.h"
-#include "Source.h"
+#include <bcinfo/BitcodeWrapper.h>
+
+#include "bcc/RenderScript/RSExecutable.h"
+#include "bcc/RenderScript/RSScript.h"
+#include "bcc/Source.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/Initialization.h"
+#include "bcc/Support/Sha1Helper.h"
 
 #include "bcc_internal.h"
-#include <bcinfo/BitcodeWrapper.h>
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/bcc_internal.h b/lib/Core/bcc_internal.h
similarity index 94%
rename from lib/ExecutionEngine/bcc_internal.h
rename to lib/Core/bcc_internal.h
index c003d6c..d7cc2cf 100644
--- a/lib/ExecutionEngine/bcc_internal.h
+++ b/lib/Core/bcc_internal.h
@@ -17,10 +17,10 @@
 #ifndef BCC_INTERNAL_H
 #define BCC_INTERNAL_H
 
-#include <bcc/bcc.h>
+#include "bcc/bcc.h"
 
-#include "BCCContext.h"
-#include "RSCompilerDriver.h"
+#include "bcc/BCCContext.h"
+#include "bcc/RenderScript/RSCompilerDriver.h"
 
 #if defined(__cplusplus)
 
diff --git a/lib/Disassembler/Disassembler.h b/lib/Disassembler/Disassembler.h
deleted file mode 100644
index d0d924c..0000000
--- a/lib/Disassembler/Disassembler.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef BCC_DISASSEMBLER_H
-#define BCC_DISASSEMBLER_H
-
-#include "Config.h"
-
-#if USE_DISASSEMBLER
-
-#include <string>
-
-namespace llvm {
-  class Target;
-  class TargetMachine;
-}
-
-namespace bcc {
-
-  void InitializeDisassembler();
-
-  void Disassemble(char const *OutputFileName,
-                   llvm::Target const *Target,
-                   llvm::TargetMachine *TM,
-                   std::string const &Name,
-                   unsigned char const *Func,
-                   size_t FuncSize);
-
-} // namespace bcc
-
-#endif // USE_DISASSEMBLER
-
-#endif // BCC_DISASSEMBLER_H
diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk
index f3b2c3d..d5a4573 100644
--- a/lib/ExecutionEngine/Android.mk
+++ b/lib/ExecutionEngine/Android.mk
@@ -22,36 +22,14 @@
 #=====================================================================
 
 libbcc_executionengine_SRC_FILES := \
-  BCCContext.cpp \
-  BCCContextImpl.cpp \
+  BCCRuntimeStub.c \
   BCCRuntimeSymbolResolver.cpp \
-  Compiler.cpp \
-  CompilerConfig.cpp \
   ELFObjectLoaderImpl.cpp \
-  FileBase.cpp \
   GDBJIT.cpp \
   GDBJITRegistrar.cpp \
-  Initialization.cpp \
-  InputFile.cpp \
   ObjectLoader.cpp \
-  OutputFile.cpp \
-  RSCompiler.cpp \
-  RSCompilerDriver.cpp \
-  RSExecutable.cpp \
-  RSForEachExpand.cpp \
-  RSInfo.cpp \
-  RSInfoExtractor.cpp \
-  RSInfoReader.cpp \
-  RSInfoWriter.cpp \
-  RSScript.cpp \
-  BCCRuntimeStub.c \
-  Script.cpp \
-  Sha1Helper.cpp \
-  Source.cpp \
   SymbolResolverProxy.cpp \
-  SymbolResolvers.cpp \
-  TargetCompilerConfigs.cpp \
-  bcc.cpp
+  SymbolResolvers.cpp
 
 #=====================================================================
 # Device Static Library: libbccExecutionEngine
@@ -64,11 +42,11 @@
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
 LOCAL_C_INCLUDES := \
+  $(LIBBCC_ROOT_PATH) \
   $(RSLOADER_ROOT_PATH) \
   $(RSLOADER_ROOT_PATH)/include
 
 LOCAL_SRC_FILES := $(libbcc_executionengine_SRC_FILES)
-LOCAL_SHARED_LIBRARIES := libbcinfo
 
 include $(LIBBCC_DEVICE_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
@@ -87,11 +65,11 @@
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
 LOCAL_C_INCLUDES := \
+  $(LIBBCC_ROOT_PATH) \
   $(RSLOADER_ROOT_PATH) \
   $(RSLOADER_ROOT_PATH)/include
 
 LOCAL_SRC_FILES := $(libbcc_executionengine_SRC_FILES)
-LOCAL_SHARED_LIBRARIES := libbcinfo
 
 include $(LIBBCC_HOST_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
diff --git a/lib/ExecutionEngine/BCCRuntimeSymbolResolver.cpp b/lib/ExecutionEngine/BCCRuntimeSymbolResolver.cpp
index 1059d85..ddc06fc 100644
--- a/lib/ExecutionEngine/BCCRuntimeSymbolResolver.cpp
+++ b/lib/ExecutionEngine/BCCRuntimeSymbolResolver.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "BCCRuntimeSymbolResolver.h"
+#include "bcc/ExecutionEngine/BCCRuntimeSymbolResolver.h"
 
 // int_lib.h included by BCCRuntimeStub.h has the following line:
 //
diff --git a/lib/ExecutionEngine/ELFObjectLoaderImpl.cpp b/lib/ExecutionEngine/ELFObjectLoaderImpl.cpp
index 01f613e..82eac5f 100644
--- a/lib/ExecutionEngine/ELFObjectLoaderImpl.cpp
+++ b/lib/ExecutionEngine/ELFObjectLoaderImpl.cpp
@@ -24,8 +24,8 @@
 #include "ELFSymbol.h"
 #include "utils/serialize.h"
 
-#include "DebugHelper.h"
-#include "SymbolResolverInterface.h"
+#include "bcc/ExecutionEngine/SymbolResolverInterface.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/GDBJIT.cpp b/lib/ExecutionEngine/GDBJIT.cpp
index 4038098..29944dd 100644
--- a/lib/ExecutionEngine/GDBJIT.cpp
+++ b/lib/ExecutionEngine/GDBJIT.cpp
@@ -29,7 +29,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Support/Compiler.h"
+#include <llvm/Support/Compiler.h>
 
 // This interface must be kept in sync with gdb/gdb/jit.h .
 extern "C" {
diff --git a/lib/ExecutionEngine/GDBJITRegistrar.cpp b/lib/ExecutionEngine/GDBJITRegistrar.cpp
index 5d8428a..68d6833 100644
--- a/lib/ExecutionEngine/GDBJITRegistrar.cpp
+++ b/lib/ExecutionEngine/GDBJITRegistrar.cpp
@@ -30,13 +30,15 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "GDBJITRegistrar.h"
-#include "llvm/ADT/DenseMap.h"
-#include "GDBJIT.h"
-#include "llvm/Support/Memory.h"
-#include "llvm/Support/MutexGuard.h"
-#include "llvm/Support/Mutex.h"
-#include "llvm/Support/ErrorHandling.h"
+#include "bcc/ExecutionEngine/GDBJITRegistrar.h"
+
+#include <llvm/ADT/DenseMap.h>
+#include <llvm/Support/ErrorHandling.h>
+#include <llvm/Support/Memory.h>
+#include <llvm/Support/Mutex.h>
+#include <llvm/Support/MutexGuard.h>
+
+#include "bcc/ExecutionEngine/GDBJIT.h"
 
 #include <fstream>
 
diff --git a/lib/ExecutionEngine/ObjectLoader.cpp b/lib/ExecutionEngine/ObjectLoader.cpp
index 708ded3..1277e13 100644
--- a/lib/ExecutionEngine/ObjectLoader.cpp
+++ b/lib/ExecutionEngine/ObjectLoader.cpp
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-#include "ObjectLoader.h"
+#include "bcc/ExecutionEngine/ObjectLoader.h"
 
 #include <utils/FileMap.h>
 
-#include "DebugHelper.h"
+#include "bcc/ExecutionEngine/GDBJITRegistrar.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/FileBase.h"
+
 #include "ELFObjectLoaderImpl.h"
-#include "FileBase.h"
-#include "GDBJITRegistrar.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/ObjectLoaderImpl.h b/lib/ExecutionEngine/ObjectLoaderImpl.h
index 81756f8..0e0f2c1 100644
--- a/lib/ExecutionEngine/ObjectLoaderImpl.h
+++ b/lib/ExecutionEngine/ObjectLoaderImpl.h
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef BCC_EXECUTION_ENGINE_OBJECT_LOADER_IMPL_H
-#define BCC_EXECUTION_ENGINE_OBJECT_LOADER_IMPL_H
+#ifndef OBJECT_LOADER_IMPL_H
+#define OBJECT_LOADER_IMPL_H
 
 #include <cstring>
 
@@ -40,4 +40,4 @@
 
 } // namespace bcc
 
-#endif // BCC_EXECUTION_ENGINE_OBJECT_LOADER_IMPL_H
+#endif // OBJECT_LOADER_IMPL_H
diff --git a/lib/ExecutionEngine/Sha1Helper.h b/lib/ExecutionEngine/Sha1Helper.h
deleted file mode 100644
index fe13b7a..0000000
--- a/lib/ExecutionEngine/Sha1Helper.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2010, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef BCC_SHA1HELPER_H
-#define BCC_SHA1HELPER_H
-
-#include "Config.h"
-
-#include <stddef.h>
-
-namespace bcc {
-  extern unsigned char sha1LibBCC_SHA1[20];
-  extern char const *pathLibBCC_SHA1;
-
-  extern unsigned char sha1LibRS[20];
-  extern char const *pathLibRS;
-
-  void calcSHA1(unsigned char *result, char const *data, size_t size);
-
-  void calcFileSHA1(unsigned char *result, char const *filename);
-
-  // Read binary representation of sha1 from filename.
-  void readSHA1(unsigned char *result, int resultsize, char const *filename);
-}
-
-#endif // BCC_SHA1HELPER_H
diff --git a/lib/ExecutionEngine/SymbolResolverProxy.cpp b/lib/ExecutionEngine/SymbolResolverProxy.cpp
index 29929d9..5f3e7dc 100644
--- a/lib/ExecutionEngine/SymbolResolverProxy.cpp
+++ b/lib/ExecutionEngine/SymbolResolverProxy.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "SymbolResolverProxy.h"
+#include "bcc/ExecutionEngine/SymbolResolverProxy.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/SymbolResolvers.cpp b/lib/ExecutionEngine/SymbolResolvers.cpp
index 26941f2..62914ac 100644
--- a/lib/ExecutionEngine/SymbolResolvers.cpp
+++ b/lib/ExecutionEngine/SymbolResolvers.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "SymbolResolvers.h"
+#include "bcc/ExecutionEngine/SymbolResolvers.h"
 
 #include <dlfcn.h>
 
diff --git a/lib/Disassembler/Android.mk b/lib/RenderScript/Android.mk
similarity index 69%
copy from lib/Disassembler/Android.mk
copy to lib/RenderScript/Android.mk
index 3886b33..09c5df0 100644
--- a/lib/Disassembler/Android.mk
+++ b/lib/RenderScript/Android.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011 The Android Open Source Project
+# Copyright (C) 2012 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,27 +17,32 @@
 
 LOCAL_PATH := $(call my-dir)
 
-ifeq ($(libbcc_USE_DISASSEMBLER),1)
-
 #=====================================================================
-# Common: libbccDisassembler
+# Common: libbccRenderScript
 #=====================================================================
 
-libbcc_disassembler_SRC_FILES := \
-  Disassembler.cpp
-
+libbcc_renderscript_SRC_FILES := \
+  RSCompiler.cpp \
+  RSCompilerDriver.cpp \
+  RSExecutable.cpp \
+  RSForEachExpand.cpp \
+  RSInfo.cpp \
+  RSInfoExtractor.cpp \
+  RSInfoReader.cpp \
+  RSInfoWriter.cpp \
+  RSScript.cpp
 
 #=====================================================================
-# Device Static Library: libbccDisassembler
+# Device Static Library: libbccRenderScript
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccRenderScript
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_renderscript_SRC_FILES)
 
 include $(LIBBCC_DEVICE_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
@@ -46,21 +51,22 @@
 
 
 #=====================================================================
-# Host Static Library: libbccDisassembler
+# Host Static Library: libbccRenderScript
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccRenderScript
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 LOCAL_IS_HOST_MODULE := true
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_renderscript_SRC_FILES)
 
 include $(LIBBCC_HOST_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
 include $(LLVM_HOST_BUILD_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
 
-endif # $(libbcc_USE_DISASSEMBLER)
+# Build RenderScript runtime (libclcore.bc)
+include $(LOCAL_PATH)/runtime/Android.mk
diff --git a/lib/ExecutionEngine/RSCompiler.cpp b/lib/RenderScript/RSCompiler.cpp
similarity index 92%
rename from lib/ExecutionEngine/RSCompiler.cpp
rename to lib/RenderScript/RSCompiler.cpp
index 37e13bb..4325f11 100644
--- a/lib/ExecutionEngine/RSCompiler.cpp
+++ b/lib/RenderScript/RSCompiler.cpp
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-#include "RSCompiler.h"
+#include "bcc/RenderScript/RSCompiler.h"
 
 #include <llvm/Module.h>
 #include <llvm/PassManager.h>
 #include <llvm/Transforms/IPO.h>
 
-#include "DebugHelper.h"
-#include "RSExecutable.h"
-#include "RSInfo.h"
-#include "RSScript.h"
-#include "RSTransforms.h"
-#include "Source.h"
+#include "bcc/RenderScript/RSExecutable.h"
+#include "bcc/RenderScript/RSInfo.h"
+#include "bcc/RenderScript/RSScript.h"
+#include "bcc/RenderScript/RSTransforms.h"
+#include "bcc/Source.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSCompilerDriver.cpp b/lib/RenderScript/RSCompilerDriver.cpp
similarity index 96%
rename from lib/ExecutionEngine/RSCompilerDriver.cpp
rename to lib/RenderScript/RSCompilerDriver.cpp
index ceb4f93..0089a28 100644
--- a/lib/ExecutionEngine/RSCompilerDriver.cpp
+++ b/lib/RenderScript/RSCompilerDriver.cpp
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-#include "RSCompilerDriver.h"
+#include "bcc/RenderScript/RSCompilerDriver.h"
 
-#include "CompilerConfig.h"
-#include "TargetCompilerConfigs.h"
-#include "DebugHelper.h"
-#include "FileMutex.h"
-#include "InputFile.h"
-#include "Initialization.h"
-#include "OutputFile.h"
-#include "RSExecutable.h"
+#include "bcc/RenderScript/RSExecutable.h"
+#include "bcc/Support/CompilerConfig.h"
+#include "bcc/Support/TargetCompilerConfigs.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/FileMutex.h"
+#include "bcc/Support/InputFile.h"
+#include "bcc/Support/Initialization.h"
+#include "bcc/Support/OutputFile.h"
 
 #include <cutils/properties.h>
 #include <utils/String8.h>
diff --git a/lib/ExecutionEngine/RSExecutable.cpp b/lib/RenderScript/RSExecutable.cpp
similarity index 95%
rename from lib/ExecutionEngine/RSExecutable.cpp
rename to lib/RenderScript/RSExecutable.cpp
index 46ec726..de730ed 100644
--- a/lib/ExecutionEngine/RSExecutable.cpp
+++ b/lib/RenderScript/RSExecutable.cpp
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-#include "RSExecutable.h"
+#include "bcc/RenderScript/RSExecutable.h"
 
-#include "DebugHelper.h"
-#include "FileBase.h"
-#include "OutputFile.h"
-#include "SymbolResolverProxy.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/FileBase.h"
+#include "bcc/Support/OutputFile.h"
+#include "bcc/ExecutionEngine/SymbolResolverProxy.h"
 
 #include <utils/String8.h>
 
diff --git a/lib/ExecutionEngine/RSForEachExpand.cpp b/lib/RenderScript/RSForEachExpand.cpp
similarity index 96%
rename from lib/ExecutionEngine/RSForEachExpand.cpp
rename to lib/RenderScript/RSForEachExpand.cpp
index b30dd23..2c7315e 100644
--- a/lib/ExecutionEngine/RSForEachExpand.cpp
+++ b/lib/RenderScript/RSForEachExpand.cpp
@@ -15,22 +15,21 @@
  */
 
 //#define RS_FOREACH_EXPAND_PASS_NDEBUG 0
-#include "RSTransforms.h"
+#include "bcc/RenderScript/RSTransforms.h"
 
 #include <cstdlib>
 
-#include "Config.h"
+#include <llvm/DerivedTypes.h>
+#include <llvm/Function.h>
+#include <llvm/Instructions.h>
+#include <llvm/Module.h>
+#include <llvm/Pass.h>
+#include <llvm/Support/IRBuilder.h>
+#include <llvm/Type.h>
 
-#include "DebugHelper.h"
-#include "RSInfo.h"
-
-#include "llvm/DerivedTypes.h"
-#include "llvm/Function.h"
-#include "llvm/Instructions.h"
-#include "llvm/Module.h"
-#include "llvm/Pass.h"
-#include "llvm/Type.h"
-#include "llvm/Support/IRBuilder.h"
+#include "bcc/Config/Config.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/RenderScript/RSInfo.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSInfo.cpp b/lib/RenderScript/RSInfo.cpp
similarity index 98%
rename from lib/ExecutionEngine/RSInfo.cpp
rename to lib/RenderScript/RSInfo.cpp
index d351d36..0d31e38 100644
--- a/lib/ExecutionEngine/RSInfo.cpp
+++ b/lib/RenderScript/RSInfo.cpp
@@ -15,14 +15,14 @@
  */
 
 //#define LOG_NDEBUG 0
-#include "RSInfo.h"
+#include "bcc/RenderScript/RSInfo.h"
 
 #include <cstring>
 #include <new>
 
-#include "FileBase.h"
-#include "DebugHelper.h"
-#include "Sha1Helper.h"
+#include "bcc/Support/FileBase.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/Sha1Helper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSInfoExtractor.cpp b/lib/RenderScript/RSInfoExtractor.cpp
similarity index 98%
rename from lib/ExecutionEngine/RSInfoExtractor.cpp
rename to lib/RenderScript/RSInfoExtractor.cpp
index 6dbdc30..2c55c4c 100644
--- a/lib/ExecutionEngine/RSInfoExtractor.cpp
+++ b/lib/RenderScript/RSInfoExtractor.cpp
@@ -17,14 +17,14 @@
 //===----------------------------------------------------------------------===//
 // This file implements RSInfo::ExtractFromSource()
 //===----------------------------------------------------------------------===//
-#include "RSInfo.h"
+#include "bcc/RenderScript/RSInfo.h"
 
 #include <llvm/Constants.h>
 #include <llvm/Metadata.h>
 #include <llvm/Module.h>
 
-#include "DebugHelper.h"
-#include "Source.h"
+#include "bcc/Source.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSInfoReader.cpp b/lib/RenderScript/RSInfoReader.cpp
similarity index 98%
rename from lib/ExecutionEngine/RSInfoReader.cpp
rename to lib/RenderScript/RSInfoReader.cpp
index a3eca5a..4e42ffd 100644
--- a/lib/ExecutionEngine/RSInfoReader.cpp
+++ b/lib/RenderScript/RSInfoReader.cpp
@@ -18,14 +18,14 @@
 // This file implements RSInfo::ReadFromFile()
 //===----------------------------------------------------------------------===//
 
-#include "RSInfo.h"
+#include "bcc/RenderScript/RSInfo.h"
 
 #include <new>
 
 #include <utils/FileMap.h>
 
-#include "DebugHelper.h"
-#include "InputFile.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/InputFile.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSInfoWriter.cpp b/lib/RenderScript/RSInfoWriter.cpp
similarity index 98%
rename from lib/ExecutionEngine/RSInfoWriter.cpp
rename to lib/RenderScript/RSInfoWriter.cpp
index d54fb41..1f19839 100644
--- a/lib/ExecutionEngine/RSInfoWriter.cpp
+++ b/lib/RenderScript/RSInfoWriter.cpp
@@ -18,10 +18,10 @@
 // This file implements RSInfo::write()
 //===----------------------------------------------------------------------===//
 
-#include "RSInfo.h"
+#include "bcc/RenderScript/RSInfo.h"
 
-#include "DebugHelper.h"
-#include "OutputFile.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/OutputFile.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/RSScript.cpp b/lib/RenderScript/RSScript.cpp
similarity index 95%
rename from lib/ExecutionEngine/RSScript.cpp
rename to lib/RenderScript/RSScript.cpp
index 7ec84d9..4cf8475 100644
--- a/lib/ExecutionEngine/RSScript.cpp
+++ b/lib/RenderScript/RSScript.cpp
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-#include "RSScript.h"
+#include "bcc/RenderScript/RSScript.h"
 
 #include <cstring>
 
 #include <llvm/ADT/STLExtras.h>
 
-#include "DebugHelper.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ScriptCRT/Android.mk b/lib/RenderScript/runtime/Android.mk
similarity index 100%
rename from lib/ScriptCRT/Android.mk
rename to lib/RenderScript/runtime/Android.mk
diff --git a/lib/ScriptCRT/arch/generic.c b/lib/RenderScript/runtime/arch/generic.c
similarity index 100%
rename from lib/ScriptCRT/arch/generic.c
rename to lib/RenderScript/runtime/arch/generic.c
diff --git a/lib/ScriptCRT/arch/neon.ll b/lib/RenderScript/runtime/arch/neon.ll
similarity index 100%
rename from lib/ScriptCRT/arch/neon.ll
rename to lib/RenderScript/runtime/arch/neon.ll
diff --git a/lib/ScriptCRT/build_bc_lib.mk b/lib/RenderScript/runtime/build_bc_lib.mk
similarity index 100%
rename from lib/ScriptCRT/build_bc_lib.mk
rename to lib/RenderScript/runtime/build_bc_lib.mk
diff --git a/lib/ScriptCRT/build_clcore.sh b/lib/RenderScript/runtime/build_clcore.sh
similarity index 100%
rename from lib/ScriptCRT/build_clcore.sh
rename to lib/RenderScript/runtime/build_clcore.sh
diff --git a/lib/RenderScript/runtime/clamp.ll b/lib/RenderScript/runtime/clamp.ll
new file mode 100644
index 0000000..f4d58ec
--- /dev/null
+++ b/lib/RenderScript/runtime/clamp.ll
@@ -0,0 +1,16 @@
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S64"
+target triple = "armv7-none-linux-gnueabi"
+
+define i32 @_Z7rsClampjjj(i32 %amount, i32 %low, i32 %high) nounwind readnone alwaysinline {
+  %1 = icmp ult i32 %amount, %low
+  br i1 %1, label %5, label %2
+
+; <label>:2                                       ; preds = %0
+  %3 = icmp ugt i32 %amount, %high
+  %4 = select i1 %3, i32 %high, i32 %amount
+  br label %5
+
+; <label>:5                                       ; preds = %2, %0
+  %6 = phi i32 [ %4, %2 ], [ %low, %0 ]
+  ret i32 %6
+}
diff --git a/lib/ScriptCRT/convert.ll b/lib/RenderScript/runtime/convert.ll
similarity index 100%
rename from lib/ScriptCRT/convert.ll
rename to lib/RenderScript/runtime/convert.ll
diff --git a/lib/ScriptCRT/matrix.ll b/lib/RenderScript/runtime/matrix.ll
similarity index 100%
rename from lib/ScriptCRT/matrix.ll
rename to lib/RenderScript/runtime/matrix.ll
diff --git a/lib/ScriptCRT/pixel_packing.ll b/lib/RenderScript/runtime/pixel_packing.ll
similarity index 100%
rename from lib/ScriptCRT/pixel_packing.ll
rename to lib/RenderScript/runtime/pixel_packing.ll
diff --git a/lib/ScriptCRT/rs_allocation.c b/lib/RenderScript/runtime/rs_allocation.c
similarity index 100%
rename from lib/ScriptCRT/rs_allocation.c
rename to lib/RenderScript/runtime/rs_allocation.c
diff --git a/lib/ScriptCRT/rs_cl.c b/lib/RenderScript/runtime/rs_cl.c
similarity index 100%
rename from lib/ScriptCRT/rs_cl.c
rename to lib/RenderScript/runtime/rs_cl.c
diff --git a/lib/ScriptCRT/rs_core.c b/lib/RenderScript/runtime/rs_core.c
similarity index 100%
rename from lib/ScriptCRT/rs_core.c
rename to lib/RenderScript/runtime/rs_core.c
diff --git a/lib/ScriptCRT/rs_element.c b/lib/RenderScript/runtime/rs_element.c
similarity index 100%
rename from lib/ScriptCRT/rs_element.c
rename to lib/RenderScript/runtime/rs_element.c
diff --git a/lib/ScriptCRT/rs_mesh.c b/lib/RenderScript/runtime/rs_mesh.c
similarity index 100%
rename from lib/ScriptCRT/rs_mesh.c
rename to lib/RenderScript/runtime/rs_mesh.c
diff --git a/lib/ScriptCRT/rs_program.c b/lib/RenderScript/runtime/rs_program.c
similarity index 100%
rename from lib/ScriptCRT/rs_program.c
rename to lib/RenderScript/runtime/rs_program.c
diff --git a/lib/ScriptCRT/rs_sample.c b/lib/RenderScript/runtime/rs_sample.c
similarity index 100%
rename from lib/ScriptCRT/rs_sample.c
rename to lib/RenderScript/runtime/rs_sample.c
diff --git a/lib/ScriptCRT/rs_sampler.c b/lib/RenderScript/runtime/rs_sampler.c
similarity index 100%
rename from lib/ScriptCRT/rs_sampler.c
rename to lib/RenderScript/runtime/rs_sampler.c
diff --git a/lib/ScriptCRT/rs_structs.h b/lib/RenderScript/runtime/rs_structs.h
similarity index 100%
rename from lib/ScriptCRT/rs_structs.h
rename to lib/RenderScript/runtime/rs_structs.h
diff --git a/lib/Disassembler/Android.mk b/lib/Support/Android.mk
similarity index 73%
copy from lib/Disassembler/Android.mk
copy to lib/Support/Android.mk
index 3886b33..4bafba7 100644
--- a/lib/Disassembler/Android.mk
+++ b/lib/Support/Android.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011 The Android Open Source Project
+# Copyright (C) 2012 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,27 +17,35 @@
 
 LOCAL_PATH := $(call my-dir)
 
+#=====================================================================
+# Common: libbccSupport
+#=====================================================================
+
+libbcc_support_SRC_FILES := \
+  sha1.c \
+  CompilerConfig.cpp \
+  FileBase.cpp \
+  Initialization.cpp \
+  InputFile.cpp \
+  OutputFile.cpp \
+  Sha1Helper.cpp \
+  TargetCompilerConfigs.cpp
+
 ifeq ($(libbcc_USE_DISASSEMBLER),1)
+libbcc_support_SRC_FILES += Disassembler.cpp
+endif
 
 #=====================================================================
-# Common: libbccDisassembler
-#=====================================================================
-
-libbcc_disassembler_SRC_FILES := \
-  Disassembler.cpp
-
-
-#=====================================================================
-# Device Static Library: libbccDisassembler
+# Device Static Library: libbccSupport
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccSupport
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_support_SRC_FILES)
 
 include $(LIBBCC_DEVICE_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
@@ -46,21 +54,18 @@
 
 
 #=====================================================================
-# Host Static Library: libbccDisassembler
+# Host Static Library: libbccSupport
 #=====================================================================
 
 include $(CLEAR_VARS)
 
-LOCAL_MODULE := libbccDisassembler
+LOCAL_MODULE := libbccSupport
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_IS_HOST_MODULE := true
 
-LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
+LOCAL_SRC_FILES := $(libbcc_support_SRC_FILES)
 
 include $(LIBBCC_HOST_BUILD_MK)
 include $(LIBBCC_GEN_CONFIG_MK)
 include $(LLVM_HOST_BUILD_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
-
-endif # $(libbcc_USE_DISASSEMBLER)
diff --git a/lib/ExecutionEngine/CompilerConfig.cpp b/lib/Support/CompilerConfig.cpp
similarity index 96%
rename from lib/ExecutionEngine/CompilerConfig.cpp
rename to lib/Support/CompilerConfig.cpp
index faaaa97..f96c8a9 100644
--- a/lib/ExecutionEngine/CompilerConfig.cpp
+++ b/lib/Support/CompilerConfig.cpp
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-#include "CompilerConfig.h"
+#include "bcc/Support/CompilerConfig.h"
 
 #include <llvm/CodeGen/SchedulerRegistry.h>
 #include <llvm/MC/SubtargetFeature.h>
 #include <llvm/Support/TargetRegistry.h>
 
-#include "DebugHelper.h"
-#include "TargetCompilerConfigs.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/TargetCompilerConfigs.h"
 
 using namespace bcc;
 
diff --git a/lib/Disassembler/Disassembler.cpp b/lib/Support/Disassembler.cpp
similarity index 85%
rename from lib/Disassembler/Disassembler.cpp
rename to lib/Support/Disassembler.cpp
index b7a236f..13bd92a 100644
--- a/lib/Disassembler/Disassembler.cpp
+++ b/lib/Support/Disassembler.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2011, The Android Open Source Project
+ * Copyright 2011-2012, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,27 +14,26 @@
  * limitations under the License.
  */
 
-#include "Disassembler.h"
+#include "bcc/Support/Disassembler.h"
 
-#include "Config.h"
+#include <llvm/LLVMContext.h>
 
-#include "DebugHelper.h"
+#include <llvm/MC/MCAsmInfo.h>
+#include <llvm/MC/MCDisassembler.h>
+#include <llvm/MC/MCInst.h>
+#include <llvm/MC/MCInstPrinter.h>
 
-#include "llvm/MC/MCAsmInfo.h"
-#include "llvm/MC/MCDisassembler.h"
-#include "llvm/MC/MCInst.h"
-#include "llvm/MC/MCInstPrinter.h"
+#include <llvm/Support/MemoryObject.h>
+#include <llvm/Support/TargetRegistry.h>
+#include <llvm/Support/TargetSelect.h>
+#include <llvm/Support/raw_ostream.h>
 
-#include "llvm/Support/MemoryObject.h"
-#include "llvm/Support/raw_ostream.h"
+#include <llvm/Target/TargetData.h>
+#include <llvm/Target/TargetMachine.h>
+#include <llvm/Target/TargetOptions.h>
 
-#include "llvm/Target/TargetData.h"
-#include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetOptions.h"
-#include "llvm/Support/TargetRegistry.h"
-#include "llvm/Support/TargetSelect.h"
-
-#include "llvm/LLVMContext.h"
+#include "bcc/Config/Config.h"
+#include "bcc/Support/DebugHelper.h"
 
 #if USE_DISASSEMBLER
 
diff --git a/lib/ExecutionEngine/FileBase.cpp b/lib/Support/FileBase.cpp
similarity index 99%
rename from lib/ExecutionEngine/FileBase.cpp
rename to lib/Support/FileBase.cpp
index f582bca..2d50d08 100644
--- a/lib/ExecutionEngine/FileBase.cpp
+++ b/lib/Support/FileBase.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "FileBase.h"
+#include "bcc/Support/FileBase.h"
 
 #include <sys/file.h>
 #include <sys/stat.h>
diff --git a/lib/ExecutionEngine/Initialization.cpp b/lib/Support/Initialization.cpp
similarity index 93%
rename from lib/ExecutionEngine/Initialization.cpp
rename to lib/Support/Initialization.cpp
index 7cdb938..eb4428c 100644
--- a/lib/ExecutionEngine/Initialization.cpp
+++ b/lib/Support/Initialization.cpp
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-#include "Initialization.h"
+#include "bcc/Support/Initialization.h"
 
 #include <cstdlib>
 
 #include <llvm/Support/ErrorHandling.h>
 #include <llvm/Support/TargetSelect.h>
 
-#include "Config.h"
-#include "DebugHelper.h"
+#include "bcc/Config/Config.h"
+#include "bcc/Support/DebugHelper.h"
 
 namespace {
 
diff --git a/lib/ExecutionEngine/InputFile.cpp b/lib/Support/InputFile.cpp
similarity index 94%
rename from lib/ExecutionEngine/InputFile.cpp
rename to lib/Support/InputFile.cpp
index a51b09e..522a71d 100644
--- a/lib/ExecutionEngine/InputFile.cpp
+++ b/lib/Support/InputFile.cpp
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-#include "InputFile.h"
+#include "bcc/Support/InputFile.h"
 
-#include "DebugHelper.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/OutputFile.cpp b/lib/Support/OutputFile.cpp
similarity index 97%
rename from lib/ExecutionEngine/OutputFile.cpp
rename to lib/Support/OutputFile.cpp
index 6200617..4da52aa 100644
--- a/lib/ExecutionEngine/OutputFile.cpp
+++ b/lib/Support/OutputFile.cpp
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-#include "OutputFile.h"
+#include "bcc/Support/OutputFile.h"
 
 #include <cstdlib>
 
 #include <llvm/Support/raw_ostream.h>
 
-#include "DebugHelper.h"
+#include "bcc/Support/DebugHelper.h"
 
 using namespace bcc;
 
diff --git a/lib/ExecutionEngine/Sha1Helper.cpp b/lib/Support/Sha1Helper.cpp
similarity index 90%
rename from lib/ExecutionEngine/Sha1Helper.cpp
rename to lib/Support/Sha1Helper.cpp
index 07a995f..350e704 100644
--- a/lib/ExecutionEngine/Sha1Helper.cpp
+++ b/lib/Support/Sha1Helper.cpp
@@ -1,5 +1,5 @@
 /*
- * copyright 2010, the android open source project
+ * copyright 2010-2012, the android open source project
  *
  * licensed under the apache license, version 2.0 (the "license");
  * you may not use this file except in compliance with the license.
@@ -14,18 +14,17 @@
  * limitations under the license.
  */
 
-#include "Sha1Helper.h"
+#include "bcc/Support/Sha1Helper.h"
 
-#include "Config.h"
-
-#include "DebugHelper.h"
-#include "InputFile.h"
-
-#include <string.h>
+#include <cstring>
 
 #include <utils/StopWatch.h>
 
-#include <sha1.h>
+#include "bcc/Config/Config.h"
+#include "bcc/Support/DebugHelper.h"
+#include "bcc/Support/InputFile.h"
+
+#include "sha1.h"
 
 namespace bcc {
 
diff --git a/lib/ExecutionEngine/TargetCompilerConfigs.cpp b/lib/Support/TargetCompilerConfigs.cpp
similarity index 97%
rename from lib/ExecutionEngine/TargetCompilerConfigs.cpp
rename to lib/Support/TargetCompilerConfigs.cpp
index 2e2f5da..6ef7dcf 100644
--- a/lib/ExecutionEngine/TargetCompilerConfigs.cpp
+++ b/lib/Support/TargetCompilerConfigs.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "TargetCompilerConfigs.h"
+#include "bcc/Support/TargetCompilerConfigs.h"
 
 using namespace bcc;
 
diff --git a/helper/sha1.c b/lib/Support/sha1.c
similarity index 100%
rename from helper/sha1.c
rename to lib/Support/sha1.c
diff --git a/helper/sha1.h b/lib/Support/sha1.h
similarity index 100%
rename from helper/sha1.h
rename to lib/Support/sha1.h
diff --git a/libbcc-device-build.mk b/libbcc-device-build.mk
index a3d294a..e87dc2b 100644
--- a/libbcc-device-build.mk
+++ b/libbcc-device-build.mk
@@ -56,7 +56,5 @@
 endif
 
 LOCAL_C_INCLUDES := \
-  $(LIBBCC_ROOT_PATH) \
-  $(LIBBCC_ROOT_PATH)/helper \
   $(LIBBCC_ROOT_PATH)/include \
   $(LOCAL_C_INCLUDES)
diff --git a/libbcc-gen-build-stamp.mk b/libbcc-gen-build-stamp.mk
index 22fe81d..7737b94 100644
--- a/libbcc-gen-build-stamp.mk
+++ b/libbcc-gen-build-stamp.mk
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011 The Android Open Source Project
+# Copyright (C) 2011-2012 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@
       STATIC_LIBRARIES,$(lib),$(LOCAL_IS_HOST_MODULE))/$(lib)$(a_suffix)) \
   $(addprefix $($(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \
     $(addsuffix $(so_suffix), $(LOCAL_SHARED_LIBRARIES))) \
-  $(LIBBCC_ROOT_PATH)/lib/ExecutionEngine/bcc.cpp
+  $(LIBBCC_ROOT_PATH)/lib/Core/bcc.cpp
 
 
 # Build Rules for Automatically Generated Build Stamp
diff --git a/libbcc-gen-config-from-mk.mk b/libbcc-gen-config-from-mk.mk
index cc290ff..30bfd58 100644
--- a/libbcc-gen-config-from-mk.mk
+++ b/libbcc-gen-config-from-mk.mk
@@ -1,3 +1,20 @@
+#
+# Copyright (C) 2011-2012 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
 # Build Rules for Extracting Configuration from Android.mk
 intermediates := $(local-intermediates-dir)
 
diff --git a/libbcc-host-build.mk b/libbcc-host-build.mk
index b5bc9bd..85af6f3 100644
--- a/libbcc-host-build.mk
+++ b/libbcc-host-build.mk
@@ -26,8 +26,6 @@
 endif
 
 LOCAL_C_INCLUDES := \
-  $(LIBBCC_ROOT_PATH) \
-  $(LIBBCC_ROOT_PATH)/helper \
   $(LIBBCC_ROOT_PATH)/include \
   $(LOCAL_C_INCLUDES)
 
