Profiling use aprof, enable by LOCAL_ENABLE_APROF or LOCAL_ENABLE_APROF_JNI

Change-Id: Ia95dc7318e17c0804867b22e239edccc5cbec0af
This commit is contained in:
Kito Cheng 2012-06-15 15:15:50 +08:00
parent 3f8ff030e0
commit 70dc3e1d3d
5 changed files with 43 additions and 0 deletions

View file

@ -133,6 +133,15 @@ ifeq ($(strip $(LOCAL_NO_FDO_SUPPORT)),)
LOCAL_LDFLAGS += $(TARGET_FDO_CFLAGS)
endif
####################################################
## Add profiling flags if aprof is turned on
####################################################
ifeq ($(strip $(LOCAL_ENABLE_APROF)),true)
# -ffunction-sections and -fomit-frame-pointer are conflict with -pg
LOCAL_CFLAGS += -fno-omit-frame-pointer -fno-function-sections -pg
LOCAL_CPPFLAGS += -fno-omit-frame-pointer -fno-function-sections -pg
endif
###########################################################
## Explicitly declare assembly-only __ASSEMBLY__ macro for
## assembly source

View file

@ -78,6 +78,8 @@ LOCAL_COPY_HEADERS_TO:=
LOCAL_COPY_HEADERS:=
LOCAL_FORCE_STATIC_EXECUTABLE:=
LOCAL_ADDITIONAL_DEPENDENCIES:=
LOCAL_ENABLE_APROF:=
LOCAL_ENABLE_APROF_JNI:=
LOCAL_COMPRESS_MODULE_SYMBOLS:=
LOCAL_STRIP_MODULE:=
LOCAL_POST_PROCESS_COMMAND:=true

View file

@ -12,6 +12,18 @@ ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
LOCAL_MODULE_SUFFIX := $(TARGET_EXECUTABLE_SUFFIX)
endif
####################################################
## Add profiling libraries if aprof is turned
####################################################
ifeq ($(strip $(LOCAL_ENABLE_APROF)),true)
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE), true)
LOCAL_STATIC_LIBRARIES += libaprof libaprof_static libc libcutils
else
LOCAL_SHARED_LIBRARIES += libaprof libaprof_runtime libc
endif
LOCAL_WHOLE_STATIC_LIBRARIES += libaprof_aux
endif
include $(BUILD_SYSTEM)/dynamic_binary.mk
ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)

View file

@ -17,12 +17,25 @@ ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
endif
####################################################
## Add profiling libraries if aprof is turned
####################################################
ifeq ($(strip $(LOCAL_ENABLE_APROF_JNI)),true)
LOCAL_ENABLE_APROF := true
LOCAL_WHOLE_STATIC_LIBRARIES += libaprof_jni
endif
ifeq ($(strip $(LOCAL_ENABLE_APROF)),true)
LOCAL_SHARED_LIBRARIES += libaprof libaprof_runtime
endif
# Put the built targets of all shared libraries in a common directory
# to simplify the link line.
OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
include $(BUILD_SYSTEM)/dynamic_binary.mk
# Define PRIVATE_ variables from global vars
my_target_global_ld_dirs := $(TARGET_GLOBAL_LD_DIRS)
my_target_global_ldflags := $(TARGET_GLOBAL_LDFLAGS)

View file

@ -15,6 +15,13 @@ LOCAL_MODULE_SUFFIX := .a
endif
LOCAL_UNINSTALLABLE_MODULE := true
####################################################
## Add profiling libraries if aprof is turned
####################################################
ifeq ($(strip $(LOCAL_ENABLE_APROF)),true)
LOCAL_WHOLE_STATIC_LIBRARIES += libaprof
endif
include $(BUILD_SYSTEM)/binary.mk
ifeq ($(LOCAL_RAW_STATIC_LIBRARY),true)