blob: 7ce0846f2e7c98858ed1823b4279747f7f7927e3 [file] [log] [blame]
Mike Lockwoode0e9e942012-10-24 11:52:57 -07001LOCAL_PATH:= $(call my-dir)
Colin Cross2764fce2014-03-19 17:47:39 -07002
Christopher Ferrisad817912015-06-17 15:03:20 -07003# 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
Mike Lockwoode0e9e942012-10-24 11:52:57 -070010include $(CLEAR_VARS)
11
12LOCAL_SRC_FILES:= \
Andreas Gampecfedceb2014-09-30 21:48:18 -070013 app_main.cpp
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070014
15LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
Mike Lockwoode0e9e942012-10-24 11:52:57 -070016
17LOCAL_SHARED_LIBRARIES := \
Andreas Gampecfedceb2014-09-30 21:48:18 -070018 libdl \
19 libcutils \
20 libutils \
21 liblog \
22 libbinder \
Christopher Ferrisad817912015-06-17 15:03:20 -070023 libandroid_runtime \
24 $(app_process_common_shared_libs) \
Mike Lockwoode0e9e942012-10-24 11:52:57 -070025
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070026LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
27
Mike Lockwoode0e9e942012-10-24 11:52:57 -070028LOCAL_MODULE:= app_process
Colin Crossf130f0a2014-03-27 10:20:29 -070029LOCAL_MULTILIB := both
Yongqin Liu559484e2014-05-06 23:30:40 +080030LOCAL_MODULE_STEM_32 := app_process32
Colin Crossf130f0a2014-03-27 10:20:29 -070031LOCAL_MODULE_STEM_64 := app_process64
Andreas Gampecfedceb2014-09-30 21:48:18 -070032
33LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
34
Mike Lockwoode0e9e942012-10-24 11:52:57 -070035include $(BUILD_EXECUTABLE)
36
Yongqin Liu559484e2014-05-06 23:30:40 +080037# 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
Mike Lockwoode0e9e942012-10-24 11:52:57 -070041# 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:= \
Andreas Gampecfedceb2014-09-30 21:48:18 -070048 app_main.cpp
Mike Lockwoode0e9e942012-10-24 11:52:57 -070049
50LOCAL_SHARED_LIBRARIES := \
Andreas Gampecfedceb2014-09-30 21:48:18 -070051 libcutils \
52 libutils \
53 liblog \
54 libbinder \
Christopher Ferrisad817912015-06-17 15:03:20 -070055 libandroid_runtime \
56 $(app_process_common_shared_libs) \
Mike Lockwoode0e9e942012-10-24 11:52:57 -070057
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070058LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
59
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070060LOCAL_LDFLAGS := -ldl -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070061LOCAL_CPPFLAGS := -std=c++11
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070062
Mike Lockwoode0e9e942012-10-24 11:52:57 -070063LOCAL_MODULE := app_process__asan
Evgenii Stepanov5ca3afa2015-05-07 10:55:59 -070064LOCAL_MULTILIB := both
65LOCAL_MODULE_STEM_32 := app_process32
66LOCAL_MODULE_STEM_64 := app_process64
67
Mike Lockwoode0e9e942012-10-24 11:52:57 -070068LOCAL_ADDRESS_SANITIZER := true
Dan Albertb9f6b0e2015-04-17 10:40:48 -070069LOCAL_CLANG := true
Evgenii Stepanov5ca3afa2015-05-07 10:55:59 -070070LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
Mike Lockwoode0e9e942012-10-24 11:52:57 -070071
Andreas Gampecfedceb2014-09-30 21:48:18 -070072LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
73
Mike Lockwoode0e9e942012-10-24 11:52:57 -070074include $(BUILD_EXECUTABLE)
75
76endif # ifeq($(TARGET_ARCH),arm)