blob: e530184b9c6a8c997eceb0e4e92be199c55a6f84 [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
Dimitry Ivanov4c528182016-08-01 14:12:38 -070015LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
16LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
Mike Lockwoode0e9e942012-10-24 11:52:57 -070017
18LOCAL_SHARED_LIBRARIES := \
Andreas Gampecfedceb2014-09-30 21:48:18 -070019 libdl \
20 libcutils \
21 libutils \
22 liblog \
23 libbinder \
Dimitry Ivanov204386e2016-02-22 11:22:11 -080024 libnativeloader \
Christopher Ferrisad817912015-06-17 15:03:20 -070025 libandroid_runtime \
26 $(app_process_common_shared_libs) \
Mike Lockwoode0e9e942012-10-24 11:52:57 -070027
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070028LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
29
Mike Lockwoode0e9e942012-10-24 11:52:57 -070030LOCAL_MODULE:= app_process
Colin Crossf130f0a2014-03-27 10:20:29 -070031LOCAL_MULTILIB := both
Yongqin Liu559484e2014-05-06 23:30:40 +080032LOCAL_MODULE_STEM_32 := app_process32
Colin Crossf130f0a2014-03-27 10:20:29 -070033LOCAL_MODULE_STEM_64 := app_process64
Andreas Gampecfedceb2014-09-30 21:48:18 -070034
35LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
36
Mike Lockwoode0e9e942012-10-24 11:52:57 -070037include $(BUILD_EXECUTABLE)
38
Yongqin Liu559484e2014-05-06 23:30:40 +080039# Create a symlink from app_process to app_process32 or 64
40# depending on the target configuration.
41include $(BUILD_SYSTEM)/executable_prefer_symlink.mk
42
Mike Lockwoode0e9e942012-10-24 11:52:57 -070043# Build a variant of app_process binary linked with ASan runtime.
44# ARM-only at the moment.
45ifeq ($(TARGET_ARCH),arm)
46
47include $(CLEAR_VARS)
48
49LOCAL_SRC_FILES:= \
Andreas Gampecfedceb2014-09-30 21:48:18 -070050 app_main.cpp
Mike Lockwoode0e9e942012-10-24 11:52:57 -070051
52LOCAL_SHARED_LIBRARIES := \
Andreas Gampecfedceb2014-09-30 21:48:18 -070053 libcutils \
54 libutils \
55 liblog \
56 libbinder \
Christopher Ferrisad817912015-06-17 15:03:20 -070057 libandroid_runtime \
58 $(app_process_common_shared_libs) \
Mike Lockwoode0e9e942012-10-24 11:52:57 -070059
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070060LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
61
Dimitry Ivanov4c528182016-08-01 14:12:38 -070062LOCAL_LDFLAGS := -ldl
63LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
64LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070065LOCAL_CPPFLAGS := -std=c++11
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070066
Mike Lockwoode0e9e942012-10-24 11:52:57 -070067LOCAL_MODULE := app_process__asan
Evgenii Stepanove740b172015-05-07 10:55:59 -070068LOCAL_MULTILIB := both
69LOCAL_MODULE_STEM_32 := app_process32
70LOCAL_MODULE_STEM_64 := app_process64
71
Dan Albertf98dae52015-06-16 14:06:49 -070072LOCAL_SANITIZE := address
Dan Albertb9f6b0e2015-04-17 10:40:48 -070073LOCAL_CLANG := true
Evgenii Stepanove740b172015-05-07 10:55:59 -070074LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
Mike Lockwoode0e9e942012-10-24 11:52:57 -070075
Andreas Gampecfedceb2014-09-30 21:48:18 -070076LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
77
Mike Lockwoode0e9e942012-10-24 11:52:57 -070078include $(BUILD_EXECUTABLE)
79
80endif # ifeq($(TARGET_ARCH),arm)