summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2014-09-05 15:46:43 -0700
committerYing Wang <wangying@google.com>2014-09-05 15:47:59 -0700
commit8b3476986afb9f82b0fa62476f969acd2a8b47da (patch)
treeb03f5d66c3ae67ac5f7e41a79eb18b7b5cce4708 /core
parent1051d5dc21549b852f5452aa3a265e2f8c6c61b9 (diff)
downloadbuild-8b3476986afb9f82b0fa62476f969acd2a8b47da.zip
build-8b3476986afb9f82b0fa62476f969acd2a8b47da.tar.gz
build-8b3476986afb9f82b0fa62476f969acd2a8b47da.tar.bz2
Add LOCAL_POST_LINK_CMD.
For now we support LOCAL_POST_LINK_CMD only for static executables. This fixed the hack of building linker which need to insert additional step after link. Bug: 17403674 Change-Id: Iefdfe1e3fab3a30c5d4ad701d46f931481eab572
Diffstat (limited to 'core')
-rw-r--r--core/clear_vars.mk1
-rw-r--r--core/executable_internal.mk2
2 files changed, 3 insertions, 0 deletions
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 34cd164..baa32e2 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -143,6 +143,7 @@ LOCAL_SOURCE_FILES_ALL_GENERATED:= # '',true
LOCAL_DONT_DELETE_JAR_META_INF:=
LOCAL_ADDITIONAL_CERTIFICATES:=
LOCAL_PREBUILT_MODULE_FILE:=
+LOCAL_POST_LINK_CMD:=
LOCAL_POST_INSTALL_CMD:=
LOCAL_DIST_BUNDLED_BINARIES:=
LOCAL_HAL_STATIC_LIBRARIES:=
diff --git a/core/executable_internal.mk b/core/executable_internal.mk
index 3d17eb0..762f8fe 100644
--- a/core/executable_internal.mk
+++ b/core/executable_internal.mk
@@ -64,8 +64,10 @@ $(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o)
$(linked_module): PRIVATE_TARGET_OUT_INTERMEDIATE_LIBRARIES := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
+$(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD)
$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o)
$(transform-o-to-static-executable)
+ $(PRIVATE_POST_LINK_CMD)
else
$(linked_module): $(my_target_crtbegin_dynamic_o) $(all_objects) $(all_libraries) $(my_target_crtend_o)
$(transform-o-to-executable)