Set install name with absolute path for Mac host shared libraries.

Before this change, path of the install name is relative to the top dir.
That means you can execute dynamically-linked binaries only in the top dir.
With this change, you can execute dynamically-linked binaries anywhere.

Change-Id: I1c6441579ffb68505ea678296aceb2e66a6df1be
This commit is contained in:
Ying Wang 2012-01-31 21:04:25 -08:00
parent 324b3a8bc5
commit b4c2a64040
1 changed files with 7 additions and 0 deletions

View File

@ -82,6 +82,12 @@ $(foreach lib,$(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES), \
$(call _darwin-extract-and-include-single-whole-static-lib, $(lib)))
endef
ifeq (,$(filter /%,$(HOST_OUT_SHARED_LIBRARIES)))
ABP_HOST_OUT_SHARED_LIBRARIES := $(shell pwd)/$(HOST_OUT_SHARED_LIBRARIES)
else
ABP_HOST_OUT_SHARED_LIBRARIES := $(HOST_OUT_SHARED_LIBRARIES)
endif
define transform-host-o-to-shared-lib-inner
$(call darwin-extract-and-include-whole-static-libs)
$(hide) $(PRIVATE_CXX) \
@ -96,6 +102,7 @@ $(hide) $(PRIVATE_CXX) \
$(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \
$(PRIVATE_LDLIBS) \
-o $@ \
-install_name $(ABP_HOST_OUT_SHARED_LIBRARIES)/$(notdir $@) \
$(PRIVATE_LDFLAGS) \
$(HOST_LIBGCC)
endef