1e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_PATH:= $(call my-dir)
22764fce3a1119599cd231545b16e6a16286e482dColin Cross
3ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris# This is a list of libraries that need to be included in order to avoid
4ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris# bad apps. This prevents a library from having a mismatch when resolving
5ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris# new/delete from an app shared library.
6ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris# See b/21032018 for more details.
7ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferrisapp_process_common_shared_libs := \
8ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris    libwilhelm \
9ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris
10e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwoodinclude $(CLEAR_VARS)
11e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
12e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_SRC_FILES:= \
13cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    app_main.cpp
1496e0cfa721925550b1cc39cdfd6084a878e6ffe2Dmitriy Ivanov
1596e0cfa721925550b1cc39cdfd6084a878e6ffe2Dmitriy IvanovLOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
16e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
17e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_SHARED_LIBRARIES := \
18cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libdl \
19cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libcutils \
20cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libutils \
21cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    liblog \
22cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libbinder \
23b0824979be2653ba300382b52c1b1236fd44f0deDimitry Ivanov    libnativeloader \
24ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris    libandroid_runtime \
25ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris    $(app_process_common_shared_libs) \
26e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
275ba317cee071b718a163ab9acf2b6b4f6a337b39Dmitriy IvanovLOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
285ba317cee071b718a163ab9acf2b6b4f6a337b39Dmitriy Ivanov
29e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_MODULE:= app_process
30f130f0aaea58358dafbe83ccec2b5163b5bed1fbColin CrossLOCAL_MULTILIB := both
31559484ed6a3ed98980579e35d12543be2835aa35Yongqin LiuLOCAL_MODULE_STEM_32 := app_process32
32f130f0aaea58358dafbe83ccec2b5163b5bed1fbColin CrossLOCAL_MODULE_STEM_64 := app_process64
33cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe
34cfedceb8c180a2e176154d461659e0c3569dc931Andreas GampeLOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
35cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe
362764fce3a1119599cd231545b16e6a16286e482dColin Crossinclude $(BUILD_EXECUTABLE)
372764fce3a1119599cd231545b16e6a16286e482dColin Cross
38559484ed6a3ed98980579e35d12543be2835aa35Yongqin Liu# Create a symlink from app_process to app_process32 or 64
39559484ed6a3ed98980579e35d12543be2835aa35Yongqin Liu# depending on the target configuration.
40559484ed6a3ed98980579e35d12543be2835aa35Yongqin Liuinclude  $(BUILD_SYSTEM)/executable_prefer_symlink.mk
41559484ed6a3ed98980579e35d12543be2835aa35Yongqin Liu
42e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood# Build a variant of app_process binary linked with ASan runtime.
43e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood# ARM-only at the moment.
44e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwoodifeq ($(TARGET_ARCH),arm)
45e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
46e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwoodinclude $(CLEAR_VARS)
47e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
48e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_SRC_FILES:= \
49cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    app_main.cpp
50e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
51e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_SHARED_LIBRARIES := \
52cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libcutils \
53cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libutils \
54cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    liblog \
55cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe    libbinder \
56ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris    libandroid_runtime \
57ad81791641071e8daab0d27e49731975c5efcba6Christopher Ferris    $(app_process_common_shared_libs) \
58e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
595ba317cee071b718a163ab9acf2b6b4f6a337b39Dmitriy IvanovLOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
605ba317cee071b718a163ab9acf2b6b4f6a337b39Dmitriy Ivanov
6196e0cfa721925550b1cc39cdfd6084a878e6ffe2Dmitriy IvanovLOCAL_LDFLAGS := -ldl -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
625ba317cee071b718a163ab9acf2b6b4f6a337b39Dmitriy IvanovLOCAL_CPPFLAGS := -std=c++11
6396e0cfa721925550b1cc39cdfd6084a878e6ffe2Dmitriy Ivanov
64e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike LockwoodLOCAL_MODULE := app_process__asan
65e740b17d2400ed0db17d1f7fce4f052bbbf808abEvgenii StepanovLOCAL_MULTILIB := both
66e740b17d2400ed0db17d1f7fce4f052bbbf808abEvgenii StepanovLOCAL_MODULE_STEM_32 := app_process32
67e740b17d2400ed0db17d1f7fce4f052bbbf808abEvgenii StepanovLOCAL_MODULE_STEM_64 := app_process64
68e740b17d2400ed0db17d1f7fce4f052bbbf808abEvgenii Stepanov
69f98dae5675b62275af4c652679dc952476148681Dan AlbertLOCAL_SANITIZE := address
70b9f6b0eec3b1d331e0be352409659292cc0f0b06Dan AlbertLOCAL_CLANG := true
71e740b17d2400ed0db17d1f7fce4f052bbbf808abEvgenii StepanovLOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
72e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
73cfedceb8c180a2e176154d461659e0c3569dc931Andreas GampeLOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
74cfedceb8c180a2e176154d461659e0c3569dc931Andreas Gampe
75e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwoodinclude $(BUILD_EXECUTABLE)
76e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwood
77e0e9e9462c8035c1883a0bd16ee62d861c77e550Mike Lockwoodendif # ifeq($(TARGET_ARCH),arm)
78