summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2014-10-14 12:18:10 -0700
committerDmitriy Ivanov <dimitry@google.com>2014-10-14 15:55:57 -0700
commit1d74e57fa22fbcad1e14d776c771472b2d8438fb (patch)
tree44df335a7c560fcdb47560b6c27750af4a54b0d4
parent58e51f38e2304a08aa9ec380383e0b3614f96a96 (diff)
downloadart-1d74e57fa22fbcad1e14d776c771472b2d8438fb.zip
art-1d74e57fa22fbcad1e14d776c771472b2d8438fb.tar.gz
art-1d74e57fa22fbcad1e14d776c771472b2d8438fb.tar.bz2
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
-rw-r--r--build/Android.executable.mk8
-rw-r--r--build/Android.gtest.mk2
-rw-r--r--dalvikvm/Android.mk8
3 files changed, 16 insertions, 2 deletions
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 @@ define build-art-executable
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 @@ define define-art-gtest
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_SRC_FILES := dalvikvm.cc ../sigchainlib/sigchain.cc
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