From 23f326a67d72f20e2ee912b7982d00c5acd43db6 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Tue, 1 Mar 2016 22:04:57 -0800 Subject: [PATCH] Ensure prebuilt executables are executable Use 'chmod +x' to make sure that they're executable, even if the source file is not. Bug: 28097475 Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79 (cherry picked from commit 08420cbc8ac7dabe1ceb6334ee83727e18a80d96) --- core/prebuilt_internal.mk | 9 +++++++++ tools/apicheck/Android.mk | 17 +++-------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index 9d45645fb..ee6842754 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -341,12 +341,21 @@ else # ! prebuilt_module_is_dex_javalib ifneq ($(LOCAL_PREBUILT_STRIP_COMMENTS),) $(built_module) : $(my_prebuilt_src_file) $(transform-prebuilt-to-target-strip-comments) +ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES) + $(hide) chmod +x $@ +endif else ifneq ($(LOCAL_ACP_UNAVAILABLE),true) $(built_module) : $(my_prebuilt_src_file) | $(ACP) $(transform-prebuilt-to-target) +ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES) + $(hide) chmod +x $@ +endif else $(built_module) : $(my_prebuilt_src_file) $(copy-file-to-target-with-cp) +ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES) + $(hide) chmod +x $@ +endif endif endif # ! prebuilt_module_is_dex_javalib endif # LOCAL_MODULE_CLASS != APPS diff --git a/tools/apicheck/Android.mk b/tools/apicheck/Android.mk index 1674a17e9..b5470588e 100644 --- a/tools/apicheck/Android.mk +++ b/tools/apicheck/Android.mk @@ -15,26 +15,15 @@ ifneq ($(TARGET_BUILD_PDK),true) LOCAL_PATH := $(call my-dir) -# We use copy-file-to-new-target so that the installed -# script file's timestamp is at least as new as the -# .jar file it wraps. - -#TODO(dbort): add a template to do this stuff; share with jx - # the hat script # ============================================================ include $(CLEAR_VARS) LOCAL_IS_HOST_MODULE := true LOCAL_MODULE_CLASS := EXECUTABLES LOCAL_MODULE := apicheck - -include $(BUILD_SYSTEM)/base_rules.mk - -$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX) -$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/apicheck | $(ACP) - @echo "Copy: $(PRIVATE_MODULE) ($@)" - $(copy-file-to-new-target) - $(hide) chmod 755 $@ +LOCAL_SRC_FILES := etc/apicheck +LOCAL_REQUIRED_MODULES := doclava +include $(BUILD_PREBUILT) # Apicheck is now part of Doclava -- See external/doclava. endif -- 2.11.0