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 header_libs: [ 52 "libgtest_prod_headers", 53 ], 54 export_include_dirs: ["include"], 55 local_include_dirs: ["include"], 56 version_script: "libmemunreachable.map", 57} 58 59// Integration test that runs against the public API of libmemunreachable 60cc_test { 61 name: "memunreachable_test", 62 defaults: ["libmemunreachable_defaults"], 63 srcs: [ 64 "tests/MemUnreachable_test.cpp", 65 ], 66 shared_libs: ["libmemunreachable"], 67 header_libs: [ 68 "libbase_headers", 69 ], 70 test_suites: ["device-tests"], 71} 72 73cc_test { 74 name: "memunreachable_unit_test", 75 defaults: ["libmemunreachable_defaults"], 76 host_supported: true, 77 srcs: [ 78 "tests/Allocator_test.cpp", 79 "tests/AtomicState_test.cpp", 80 "tests/HeapWalker_test.cpp", 81 "tests/LeakFolding_test.cpp", 82 ], 83 84 target: { 85 android: { 86 srcs: [ 87 "tests/DisableMalloc_test.cpp", 88 "tests/MemUnreachable_test.cpp", 89 "tests/ThreadCapture_test.cpp", 90 ], 91 static_libs: [ 92 "libmemunreachable", 93 "libc_malloc_debug_backtrace", 94 ], 95 }, 96 host: { 97 srcs: [ 98 "Allocator.cpp", 99 "HeapWalker.cpp", 100 "LeakFolding.cpp", 101 "tests/HostMallocStub.cpp", 102 ], 103 }, 104 darwin: { 105 enabled: false, 106 }, 107 }, 108 header_libs: [ 109 "libbase_headers", 110 ], 111 test_suites: ["device-tests"], 112} 113 114cc_test { 115 name: "memunreachable_binder_test", 116 defaults: ["libmemunreachable_defaults"], 117 require_root: true, 118 119 srcs: [ 120 "tests/Binder_test.cpp", 121 ], 122 static_libs: ["libmemunreachable"], 123 shared_libs: [ 124 "libbinder", 125 "libhidlbase", 126 "libutils", 127 ], 128 test_suites: [ 129 "device-tests", 130 "vts" 131 ], 132} 133