Add bccPrepareSharedObject

Unlike bccPrepareExecuteable, bccPrepareSharedObject does not
resolve external symbols; therefore it only generate cache file
not execuable.

Change-Id: I3ef093015a4f54011fbf298123cac2464230b408
diff --git a/lib/ExecutionEngine/bcc.cpp b/lib/ExecutionEngine/bcc.cpp
index 1d2bc8f..1686cb2 100644
--- a/lib/ExecutionEngine/bcc.cpp
+++ b/lib/ExecutionEngine/bcc.cpp
@@ -117,6 +117,14 @@
 }
 
 
+extern "C" int bccPrepareSharedObject(BCCScriptRef script,
+                                      char const *cacheDir,
+                                      char const *cacheName,
+                                      unsigned long flags) {
+  return unwrap(script)->prepareSharedObject(cacheDir, cacheName, flags);
+}
+
+
 extern "C" int bccPrepareExecutable(BCCScriptRef script,
                                     char const *cacheDir,
                                     char const *cacheName,