blob: 00f5f89c810b7ebe16793b918aa5e7a39393b9eb [file] [log] [blame]
Christopher Ferris63860cb2015-11-16 17:30:32 -08001LOCAL_PATH := $(call my-dir)
2
3libc_malloc_debug_src_files := \
4 BacktraceData.cpp \
5 Config.cpp \
6 DebugData.cpp \
7 debug_disable.cpp \
8 FreeTrackData.cpp \
9 GuardData.cpp \
10 malloc_debug.cpp \
Christopher Ferris7bd01782016-04-20 12:30:58 -070011 RecordData.cpp \
Christopher Ferris63860cb2015-11-16 17:30:32 -080012 TrackData.cpp \
13
14# ==============================================================
Colin Cross2c759912016-02-05 16:17:39 -080015# libc_malloc_debug_backtrace.a
16# ==============================================================
17# Used by libmemunreachable
18include $(CLEAR_VARS)
19
20LOCAL_MODULE := libc_malloc_debug_backtrace
21
22LOCAL_SRC_FILES := \
23 backtrace.cpp \
24 MapData.cpp \
25
26LOCAL_CXX_STL := libc++_static
27
28LOCAL_STATIC_LIBRARIES += \
29 libc_logging \
30
31LOCAL_C_INCLUDES += bionic/libc
32LOCAL_EXPORT_C_INCLUDE_DIRS += $(LOCAL_PATH)
33
34LOCAL_SANITIZE := never
35LOCAL_NATIVE_COVERAGE := false
36
37# -Wno-error=format-zero-length needed for gcc to compile.
38LOCAL_CFLAGS := \
39 -Wall \
40 -Werror \
Colin Cross2c759912016-02-05 16:17:39 -080041 -Wno-error=format-zero-length \
42
43include $(BUILD_STATIC_LIBRARY)
44
45# ==============================================================
Christopher Ferris63860cb2015-11-16 17:30:32 -080046# libc_malloc_debug.so
47# ==============================================================
48include $(CLEAR_VARS)
49
50LOCAL_MODULE := libc_malloc_debug
51
52LOCAL_SRC_FILES := \
53 $(libc_malloc_debug_src_files) \
Christopher Ferris63860cb2015-11-16 17:30:32 -080054
Colin Cross2c759912016-02-05 16:17:39 -080055LOCAL_CXX_STL := libc++_static
Christopher Ferris63860cb2015-11-16 17:30:32 -080056
57# Only need this for arm since libc++ uses its own unwind code that
58# doesn't mix with the other default unwind code.
59LOCAL_STATIC_LIBRARIES_arm := libunwind_llvm
60
Colin Cross2c759912016-02-05 16:17:39 -080061LOCAL_STATIC_LIBRARIES += \
Christopher Ferris7bd01782016-04-20 12:30:58 -070062 libbase \
Colin Cross2c759912016-02-05 16:17:39 -080063 libc_malloc_debug_backtrace \
64 libc_logging \
65
Christopher Ferris63860cb2015-11-16 17:30:32 -080066LOCAL_LDFLAGS_32 := -Wl,--version-script,$(LOCAL_PATH)/exported32.map
67LOCAL_LDFLAGS_64 := -Wl,--version-script,$(LOCAL_PATH)/exported64.map
68LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
69LOCAL_C_INCLUDES += bionic/libc
70
71LOCAL_SANITIZE := never
72LOCAL_NATIVE_COVERAGE := false
73
Christopher Ferrisf2b67b82016-01-25 14:36:34 -080074# -Wno-error=format-zero-length needed for gcc to compile.
Christopher Ferris63860cb2015-11-16 17:30:32 -080075LOCAL_CFLAGS := \
76 -Wall \
77 -Werror \
78 -fno-stack-protector \
Christopher Ferrisf2b67b82016-01-25 14:36:34 -080079 -Wno-error=format-zero-length \
Christopher Ferris63860cb2015-11-16 17:30:32 -080080
81include $(BUILD_SHARED_LIBRARY)
82
83# ==============================================================
84# Unit Tests
85# ==============================================================
86include $(CLEAR_VARS)
87
88LOCAL_MODULE := malloc_debug_unit_tests
89LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
90LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
91
92LOCAL_SRC_FILES := \
93 tests/backtrace_fake.cpp \
94 tests/log_fake.cpp \
95 tests/libc_fake.cpp \
96 tests/property_fake.cpp \
97 tests/malloc_debug_config_tests.cpp \
98 tests/malloc_debug_unit_tests.cpp \
99 $(libc_malloc_debug_src_files) \
100
101LOCAL_C_INCLUDES := $(LOCAL_PATH)/tests
102LOCAL_C_INCLUDES += bionic/libc
103
104LOCAL_SHARED_LIBRARIES := libbase
105
106LOCAL_CFLAGS := \
107 -Wall \
108 -Werror \
Christopher Ferris1e185a52016-01-25 17:23:38 -0800109 -Wno-error=format-zero-length \
Christopher Ferris63860cb2015-11-16 17:30:32 -0800110
111include $(BUILD_NATIVE_TEST)