Fixing mac build
MacOS static linker does not understand --export-dynamic
and --version-script. According to man ld there is
-export_dynamic option which should do the same
thing.
Change-Id: I8cde8c6c7305bebbbcc9dded143fa5cdaf386d65
diff --git a/build/Android.executable.mk b/build/Android.executable.mk
index e36b006..c1cef99 100644
--- a/build/Android.executable.mk
+++ b/build/Android.executable.mk
@@ -65,7 +65,13 @@
endif
LOCAL_CFLAGS := $(ART_EXECUTABLES_CFLAGS)
- LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
+ # Mac OS linker doesn't understand --export-dynamic/--version-script.
+ ifneq ($$(HOST_OS)-$$(art_target_or_host),darwin-host)
+ LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
+ else
+ LOCAL_LDFLAGS := -Wl,-export_dynamic
+ endif
+
ifeq ($$(art_target_or_host),target)
$(call set-target-local-clang-vars)
$(call set-target-local-cflags-vars,$(6))
diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk
index 3e100e9..b38e64e 100644
--- a/build/Android.gtest.mk
+++ b/build/Android.gtest.mk
@@ -346,6 +346,8 @@
ifneq ($$(HOST_OS)-$$(art_target_or_host),darwin-host)
# Allow jni_compiler_test to find Java_MyClassNatives_bar within itself using dlopen(NULL, ...).
LOCAL_LDFLAGS := -Wl,--export-dynamic -Wl,-u,Java_MyClassNatives_bar -Wl,-u,Java_MyClassNatives_sbar
+ else
+ LOCAL_LDFLAGS := -Wl,-export_dynamic
endif
LOCAL_CFLAGS := $$(ART_TEST_CFLAGS)
diff --git a/dalvikvm/Android.mk b/dalvikvm/Android.mk
index b7e649a..d5f3586 100644
--- a/dalvikvm/Android.mk
+++ b/dalvikvm/Android.mk
@@ -55,7 +55,13 @@
LOCAL_CFLAGS := $(dalvikvm_cflags)
LOCAL_C_INCLUDES := art/runtime
LOCAL_SHARED_LIBRARIES := libnativehelper
-LOCAL_LDFLAGS := -ldl -lpthread -Wl,--export-dynamic
+LOCAL_LDFLAGS := -ldl -lpthread
+# Mac OS linker doesn't understand --export-dynamic.
+ifneq ($(HOST_OS),darwin)
+ LOCAL_LDFLAGS += -Wl,--export-dynamic
+else
+ LOCAL_LDFLAGS += -Wl,-export_dynamic
+endif
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES += art/build/Android.common.mk
LOCAL_IS_HOST_MODULE := true