1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5cc_defaults { 6 name: "libmemunreachable_defaults", 7 8 cflags: [ 9 "-Wall", 10 "-Wextra", 11 "-Werror", 12 ], 13 shared_libs: [ 14 "libbase", 15 ], 16 17 target: { 18 android: { 19 static_libs: ["libasync_safe"], 20 header_libs: ["bionic_libc_platform_headers"], 21 }, 22 linux_bionic: { 23 header_libs: ["bionic_libc_platform_headers"], 24 }, 25 host: { 26 shared_libs: ["liblog"], 27 }, 28 }, 29} 30 31cc_library { 32 name: "libmemunreachable", 33 vendor_available: true, 34 defaults: ["libmemunreachable_defaults"], 35 srcs: [ 36 "Allocator.cpp", 37 "Binder.cpp", 38 "HeapWalker.cpp", 39 "LeakFolding.cpp", 40 "LeakPipe.cpp", 41 "MemUnreachable.cpp", 42 "ProcessMappings.cpp", 43 "PtracerThread.cpp", 44 "ThreadCapture.cpp", 45 ], 46 47 static_libs: [ 48 "libc_malloc_debug_backtrace", 49 "libprocinfo", 50 ], 51 export_include_dirs: ["include"], 52 local_include_dirs: ["include"], 53 version_script: "libmemunreachable.map", 54} 55 56// Integration test that runs against the public API of libmemunreachable 57cc_test { 58 name: "memunreachable_test", 59 defaults: ["libmemunreachable_defaults"], 60 srcs: [ 61 "tests/MemUnreachable_test.cpp", 62 ], 63 shared_libs: ["libmemunreachable"], 64 65 test_suites: ["device-tests"], 66} 67 68cc_test { 69 name: "memunreachable_unit_test", 70 defaults: ["libmemunreachable_defaults"], 71 host_supported: true, 72 srcs: [ 73 "tests/Allocator_test.cpp", 74 "tests/HeapWalker_test.cpp", 75 "tests/LeakFolding_test.cpp", 76 ], 77 78 target: { 79 android: { 80 srcs: [ 81 "tests/DisableMalloc_test.cpp", 82 "tests/MemUnreachable_test.cpp", 83 "tests/ThreadCapture_test.cpp", 84 ], 85 static_libs: [ 86 "libmemunreachable", 87 "libc_malloc_debug_backtrace", 88 ], 89 }, 90 host: { 91 srcs: [ 92 "Allocator.cpp", 93 "HeapWalker.cpp", 94 "LeakFolding.cpp", 95 "tests/HostMallocStub.cpp", 96 ], 97 }, 98 darwin: { 99 enabled: false, 100 }, 101 }, 102 103 test_suites: ["device-tests"], 104} 105 106cc_test { 107 name: "memunreachable_binder_test", 108 defaults: ["libmemunreachable_defaults"], 109 require_root: true, 110 111 srcs: [ 112 "tests/Binder_test.cpp", 113 ], 114 static_libs: ["libmemunreachable"], 115 shared_libs: [ 116 "libbinder", 117 "libhidlbase", 118 "libutils", 119 ], 120 test_suites: [ 121 "device-tests", 122 "vts" 123 ], 124} 125