Mac runtime fixes.

This is enough to let us run test-art-host on the Mac. The tests
that don't start a runtime (and thus don't try to dlopen(3)
libjavacore.dylib) succeed. The others fail, but I'm not sure how
the Linux tests find libjavacore.so, so I'm not sure how to fix
things for Mac OS.

Change-Id: Idf489fc09f0a8f64fbb60dfcdbca9c3df2d4fdcb
diff --git a/Android.mk b/Android.mk
index 96579c7..025f4d7 100644
--- a/Android.mk
+++ b/Android.mk
@@ -56,8 +56,14 @@
   $(foreach file,$(sort $(ART_HOST_TEST_EXECUTABLES)),$(1) $(file) &&) true
 endef
 
-ART_HOST_DEPENDENCIES   := $(ART_HOST_EXECUTABLES)   $(HOST_OUT_JAVA_LIBRARIES)/core-hostdex.jar $(HOST_OUT_SHARED_LIBRARIES)/libjavacore.so
-ART_TARGET_DEPENDENCIES := $(ART_TARGET_EXECUTABLES) $(TARGET_OUT_JAVA_LIBRARIES)/core.jar     $(TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so
+ART_HOST_DEPENDENCIES := $(ART_HOST_EXECUTABLES) $(HOST_OUT_JAVA_LIBRARIES)/core-hostdex.jar
+ifeq ($(HOST_OS),linux)
+  ART_HOST_DEPENDENCIES += $(HOST_OUT_SHARED_LIBRARIES)/libjavacore.so
+else
+  ART_HOST_DEPENDENCIES += $(HOST_OUT_SHARED_LIBRARIES)/libjavacore.dylib
+endif
+
+ART_TARGET_DEPENDENCIES := $(ART_TARGET_EXECUTABLES) $(TARGET_OUT_JAVA_LIBRARIES)/core.jar $(TARGET_OUT_SHARED_LIBRARIES)/libjavacore.so
 
 ART_HOST_TEST_DEPENDENCIES   := $(ART_HOST_DEPENDENCIES)   $(ART_TEST_OAT_FILES)
 ART_TARGET_TEST_DEPENDENCIES := $(ART_TARGET_DEPENDENCIES) $(ART_TEST_OAT_FILES)
diff --git a/src/runtime.cc b/src/runtime.cc
index 904d959..114c538 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -221,8 +221,7 @@
 }
 
 void LoadJniLibrary(JavaVMExt* vm, const char* name) {
-  // TODO: OS_SHARED_LIB_FORMAT_STR
-  std::string mapped_name(StringPrintf("lib%s.so", name));
+  std::string mapped_name(StringPrintf(OS_SHARED_LIB_FORMAT_STR, name));
   std::string reason;
   if (!vm->LoadNativeLibrary(mapped_name, NULL, reason)) {
     LOG(FATAL) << "LoadNativeLibrary failed for \"" << mapped_name << "\": "
diff --git a/src/thread.cc b/src/thread.cc
index c850429..8ffac18 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -342,7 +342,8 @@
 
 void Thread::InitStackHwm() {
 #if defined(__APPLE__)
-  UNIMPLEMENTED(FATAL) << "try pthread_get_stacksize_np and pthread_get_stackaddr_np";
+  // Only needed to run code. Try implementing this with pthread_get_stacksize_np and pthread_get_stackaddr_np.
+  UNIMPLEMENTED(WARNING);
 #else
   pthread_attr_t attributes;
   CHECK_PTHREAD_CALL(pthread_getattr_np, (pthread_self(), &attributes), __FUNCTION__);