1LOCAL_PATH:= $(call my-dir) 2 3# This is a list of libraries that need to be included in order to avoid 4# bad apps. This prevents a library from having a mismatch when resolving 5# new/delete from an app shared library. 6# See b/21032018 for more details. 7app_process_common_shared_libs := \ 8 libwilhelm \ 9 10include $(CLEAR_VARS) 11 12LOCAL_SRC_FILES:= \ 13 app_main.cpp 14 15LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic 16 17LOCAL_SHARED_LIBRARIES := \ 18 libdl \ 19 libcutils \ 20 libutils \ 21 liblog \ 22 libbinder \ 23 libandroid_runtime \ 24 $(app_process_common_shared_libs) \ 25 26LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain 27 28LOCAL_MODULE:= app_process 29LOCAL_MULTILIB := both 30LOCAL_MODULE_STEM_32 := app_process32 31LOCAL_MODULE_STEM_64 := app_process64 32 33LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 34 35include $(BUILD_EXECUTABLE) 36 37# Create a symlink from app_process to app_process32 or 64 38# depending on the target configuration. 39include $(BUILD_SYSTEM)/executable_prefer_symlink.mk 40 41# Build a variant of app_process binary linked with ASan runtime. 42# ARM-only at the moment. 43ifeq ($(TARGET_ARCH),arm) 44 45include $(CLEAR_VARS) 46 47LOCAL_SRC_FILES:= \ 48 app_main.cpp 49 50LOCAL_SHARED_LIBRARIES := \ 51 libcutils \ 52 libutils \ 53 liblog \ 54 libbinder \ 55 libandroid_runtime \ 56 $(app_process_common_shared_libs) \ 57 58LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain 59 60LOCAL_LDFLAGS := -ldl -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic 61LOCAL_CPPFLAGS := -std=c++11 62 63LOCAL_MODULE := app_process__asan 64LOCAL_MULTILIB := both 65LOCAL_MODULE_STEM_32 := app_process32 66LOCAL_MODULE_STEM_64 := app_process64 67 68LOCAL_ADDRESS_SANITIZER := true 69LOCAL_CLANG := true 70LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan 71 72LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 73 74include $(BUILD_EXECUTABLE) 75 76endif # ifeq($(TARGET_ARCH),arm) 77