# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH:= $(call my-dir)

ANDROID_HARDWARE := ANDROID_HARDWARE_generic

ifneq ($(filter arm arm64 x86 x86_64,$(TARGET_ARCH)),)

vg_arch:=$(TARGET_ARCH)

ifneq ($(filter x86_64, $(TARGET_ARCH)),)
  vg_arch:=amd64
endif

common_cflags := \
	-Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wmissing-declarations \
	-Wno-pointer-sign -Wno-sign-compare -Wno-unused-parameter -Wno-shadow \
	-fno-strict-aliasing -fno-stack-protector \
	-DVGO_linux=1 \
	-DANDROID_SYMBOLS_DIR=\"/data/local/symbols\"

ifeq ($(TARGET_IS_64_BIT),true)
  vg_target_module_path := /system/lib64/valgrind
else
  vg_target_module_path := /system/lib/valgrind
endif

target_arch_cflags := \
	-DVGA_$(vg_arch)=1 \
	-DVGP_$(vg_arch)_linux=1 \
	-DVGPV_$(vg_arch)_linux_android=1 \
	-DVG_LIBDIR=\"$(vg_target_module_path)\" \
	-DVG_PLATFORM=\"$(vg_arch)-linux\"

ifdef TARGET_2ND_ARCH
target_2nd_arch_cflags := \
	-DVGA_$(TARGET_2ND_ARCH)=1 \
	-DVGP_$(TARGET_2ND_ARCH)_linux=1 \
	-DVGPV_$(TARGET_2ND_ARCH)_linux_android=1 \
	-DVG_LIBDIR=\"$(vg_target_module_path)\" \
	-DVG_PLATFORM=\"$(TARGET_2ND_ARCH)-linux\"
vg_second_arch := $(TARGET_2ND_ARCH)

endif

# The supported host platform are linux amd64 and linux x86
host_arch_cflags := \
  -DVGA_amd64=1 \
  -DVGP_amd64_linux=1 \
  -DVG_PLATFORM=\"amd64-linux\" \
  -DVG_LIBDIR=\"$(realpath $(HOST_OUT_SHARED_LIBRARIES))/valgrind\"

host_2nd_arch_cflags := \
  -DVGA_x86=1 \
  -DVGP_x86_linux=1 \
  -DVG_PLATFORM=\"x86-linux\" \
  -DVG_LIBDIR=\"$(realpath $(HOST_OUT_SHARED_LIBRARIES))/valgrind\"

common_includes := \
	external/valgrind/main \
	external/valgrind/main/include \
	external/valgrind/main/VEX/pub \
	external/valgrind/main/coregrind

vex_ldflags := -nodefaultlibs

ifeq (,$(filter $(TARGET_ARCH),arm arm64))
tool_ldflags := -static -Wl,--build-id=none,-Ttext=0x38000000 -nodefaultlibs -nostartfiles -Wl,-e,_start
else
tool_ldflags := -static -Wl,-Ttext=0x38000000 -nodefaultlibs -nostartfiles -Wl,-e,_start
endif

common_cflags += -D$(ANDROID_HARDWARE)

preload_ldflags := -nodefaultlibs -Wl,-z,interpose,-z,initfirst
# Remove this when the all toolchains are GCC 4.4
ifeq ($(TARGET_ARCH),arm)
  preload_ldflags += -Wl,--icf=none
endif

# Build libvex-($TARGET_ARCH)-linux.a
vg_local_module=libvex

vg_local_cflags := $(common_cflags) \
    -Wbad-function-cast \
    -Wcast-qual \
    -Wcast-align \
    -fstrict-aliasing

vg_local_src_files := \
	VEX/priv/main_globals.c \
	VEX/priv/main_main.c \
	VEX/priv/main_util.c \
	VEX/priv/ir_defs.c \
	VEX/priv/ir_match.c \
	VEX/priv/ir_opt.c \
	VEX/priv/ir_inject.c \
	VEX/priv/guest_generic_bb_to_IR.c \
	VEX/priv/guest_generic_x87.c \
	VEX/priv/guest_mips_helpers.c \
	VEX/priv/guest_mips_toIR.c \
	VEX/priv/guest_x86_helpers.c \
	VEX/priv/guest_x86_toIR.c \
	VEX/priv/guest_amd64_helpers.c \
	VEX/priv/guest_amd64_toIR.c \
	VEX/priv/guest_ppc_helpers.c \
	VEX/priv/guest_ppc_toIR.c \
	VEX/priv/guest_arm_helpers.c \
	VEX/priv/guest_arm_toIR.c \
	VEX/priv/guest_arm64_helpers.c \
	VEX/priv/guest_arm64_toIR.c \
	VEX/priv/guest_s390_helpers.c \
	VEX/priv/guest_s390_toIR.c \
	VEX/priv/host_generic_maddf.c \
	VEX/priv/host_generic_regs.c \
	VEX/priv/host_generic_simd64.c \
	VEX/priv/host_generic_simd128.c \
	VEX/priv/host_generic_simd256.c \
	VEX/priv/host_generic_reg_alloc2.c \
	VEX/priv/host_x86_defs.c \
	VEX/priv/host_x86_isel.c \
	VEX/priv/host_amd64_defs.c \
	VEX/priv/host_amd64_isel.c \
	VEX/priv/host_mips_defs.c \
	VEX/priv/host_mips_isel.c \
	VEX/priv/host_ppc_defs.c \
	VEX/priv/host_ppc_isel.c \
	VEX/priv/host_arm_defs.c \
	VEX/priv/host_arm_isel.c \
	VEX/priv/host_arm64_defs.c \
	VEX/priv/host_arm64_isel.c \
	VEX/priv/host_s390_defs.c \
	VEX/priv/host_s390_isel.c \
	VEX/priv/s390_disasm.c

vg_local_target := STATIC_LIBRARY
include $(LOCAL_PATH)/Android.build_all.mk

# Build libcoregrind-$(TARGET_ARCH)-linux.a
vg_local_module := libcoregrind
vg_local_target := STATIC_LIBRARY

vg_local_src_files := \
	coregrind/m_addrinfo.c \
	coregrind/m_cache.c \
	coregrind/m_commandline.c \
	coregrind/m_clientstate.c \
	coregrind/m_cpuid.S \
	coregrind/m_debugger.c \
	coregrind/m_debuglog.c \
	coregrind/m_errormgr.c \
	coregrind/m_execontext.c \
	coregrind/m_hashtable.c \
	coregrind/m_libcbase.c \
	coregrind/m_libcassert.c \
	coregrind/m_libcfile.c \
	coregrind/m_libcprint.c \
	coregrind/m_libcproc.c \
	coregrind/m_libcsetjmp.c \
	coregrind/m_libcsignal.c \
	coregrind/m_machine.c \
	coregrind/m_main.c \
	coregrind/m_mallocfree.c \
	coregrind/m_options.c \
	coregrind/m_oset.c \
	coregrind/m_poolalloc.c \
	coregrind/m_rangemap.c \
	coregrind/m_redir.c \
	coregrind/m_seqmatch.c \
	coregrind/m_signals.c \
	coregrind/m_sparsewa.c \
	coregrind/m_stacks.c \
	coregrind/m_stacktrace.c \
	coregrind/m_syscall.c \
	coregrind/m_threadstate.c \
	coregrind/m_tooliface.c \
	coregrind/m_trampoline.S \
	coregrind/m_translate.c \
	coregrind/m_transtab.c \
	coregrind/m_vki.c \
	coregrind/m_vkiscnums.c \
	coregrind/m_wordfm.c \
	coregrind/m_xarray.c \
	coregrind/m_aspacehl.c \
	coregrind/m_aspacemgr/aspacemgr-common.c \
	coregrind/m_aspacemgr/aspacemgr-linux.c \
	coregrind/m_coredump/coredump-elf.c \
	coregrind/m_coredump/coredump-macho.c \
	coregrind/m_debuginfo/image.c \
	coregrind/m_debuginfo/misc.c \
	coregrind/m_debuginfo/d3basics.c \
	coregrind/m_debuginfo/debuginfo.c \
	coregrind/m_debuginfo/readdwarf.c \
	coregrind/m_debuginfo/readdwarf3.c \
	coregrind/m_debuginfo/readelf.c \
	coregrind/m_debuginfo/readexidx.c \
	coregrind/m_debuginfo/readmacho.c \
	coregrind/m_debuginfo/readpdb.c \
	coregrind/m_debuginfo/storage.c \
	coregrind/m_debuginfo/tytypes.c \
	coregrind/m_deduppoolalloc.c \
	coregrind/m_demangle/cp-demangle.c \
	coregrind/m_demangle/cplus-dem.c \
	coregrind/m_demangle/demangle.c \
	coregrind/m_demangle/dyn-string.c \
	coregrind/m_demangle/safe-ctype.c \
	coregrind/m_dispatch/dispatch-x86-linux.S \
	coregrind/m_dispatch/dispatch-amd64-linux.S \
	coregrind/m_dispatch/dispatch-ppc32-linux.S \
	coregrind/m_dispatch/dispatch-ppc64be-linux.S \
	coregrind/m_dispatch/dispatch-ppc64le-linux.S \
	coregrind/m_dispatch/dispatch-arm-linux.S \
	coregrind/m_dispatch/dispatch-arm64-linux.S \
	coregrind/m_dispatch/dispatch-x86-darwin.S \
	coregrind/m_dispatch/dispatch-amd64-darwin.S \
	coregrind/m_initimg/initimg-linux.c \
	coregrind/m_initimg/initimg-darwin.c \
	coregrind/m_initimg/initimg-pathscan.c \
	coregrind/m_mach/mach_basics.c \
	coregrind/m_mach/mach_msg.c \
	coregrind/m_mach/mach_traps-x86-darwin.S \
	coregrind/m_mach/mach_traps-amd64-darwin.S \
	coregrind/m_replacemalloc/replacemalloc_core.c \
	coregrind/m_sbprofile.c \
	coregrind/m_scheduler/sched-lock.c \
	coregrind/m_scheduler/sched-lock-generic.c \
	coregrind/m_scheduler/scheduler.c \
	coregrind/m_scheduler/sema.c \
	coregrind/m_scheduler/ticket-lock-linux.c \
	coregrind/m_sigframe/sigframe-x86-linux.c \
	coregrind/m_sigframe/sigframe-amd64-linux.c \
	coregrind/m_sigframe/sigframe-ppc32-linux.c \
	coregrind/m_sigframe/sigframe-ppc64-linux.c \
	coregrind/m_sigframe/sigframe-arm-linux.c \
	coregrind/m_sigframe/sigframe-arm64-linux.c \
	coregrind/m_sigframe/sigframe-x86-darwin.c \
	coregrind/m_sigframe/sigframe-amd64-darwin.c \
	coregrind/m_sigframe/sigframe-s390x-linux.c \
	coregrind/m_syswrap/syscall-x86-linux.S \
	coregrind/m_syswrap/syscall-amd64-linux.S \
	coregrind/m_syswrap/syscall-ppc32-linux.S \
	coregrind/m_syswrap/syscall-ppc64be-linux.S \
	coregrind/m_syswrap/syscall-ppc64le-linux.S \
	coregrind/m_syswrap/syscall-arm-linux.S \
	coregrind/m_syswrap/syscall-arm64-linux.S \
	coregrind/m_syswrap/syscall-x86-darwin.S \
	coregrind/m_syswrap/syscall-amd64-darwin.S \
	coregrind/m_syswrap/syscall-s390x-linux.S \
	coregrind/m_syswrap/syswrap-main.c \
	coregrind/m_syswrap/syswrap-generic.c \
	coregrind/m_syswrap/syswrap-linux.c \
	coregrind/m_syswrap/syswrap-linux-variants.c \
	coregrind/m_syswrap/syswrap-darwin.c \
	coregrind/m_syswrap/syswrap-x86-linux.c \
	coregrind/m_syswrap/syswrap-amd64-linux.c \
	coregrind/m_syswrap/syswrap-ppc32-linux.c \
	coregrind/m_syswrap/syswrap-ppc64-linux.c \
	coregrind/m_syswrap/syswrap-arm-linux.c \
	coregrind/m_syswrap/syswrap-arm64-linux.c \
	coregrind/m_syswrap/syswrap-x86-darwin.c \
	coregrind/m_syswrap/syswrap-amd64-darwin.c \
	coregrind/m_syswrap/syswrap-s390x-linux.c \
	coregrind/m_syswrap/syswrap-xen.c \
	coregrind/m_ume/elf.c \
	coregrind/m_ume/macho.c \
	coregrind/m_ume/main.c \
	coregrind/m_ume/script.c \
	coregrind/vgdb.c \
	coregrind/m_gdbserver/inferiors.c \
	coregrind/m_gdbserver/m_gdbserver.c \
	coregrind/m_gdbserver/regcache.c \
	coregrind/m_gdbserver/remote-utils.c \
	coregrind/m_gdbserver/server.c \
	coregrind/m_gdbserver/signals.c \
	coregrind/m_gdbserver/target.c \
	coregrind/m_gdbserver/utils.c \
	coregrind/m_gdbserver/valgrind-low-amd64.c \
	coregrind/m_gdbserver/valgrind-low-arm.c \
	coregrind/m_gdbserver/valgrind-low-arm64.c \
	coregrind/m_gdbserver/valgrind-low-ppc32.c \
	coregrind/m_gdbserver/valgrind-low-ppc64.c \
	coregrind/m_gdbserver/valgrind-low-s390x.c \
	coregrind/m_gdbserver/valgrind-low-x86.c \
	coregrind/m_gdbserver/version.c

vg_local_ldflags := $(vex_ldflags)
vg_local_cflags := $(common_cflags)

include $(LOCAL_PATH)/Android.build_all.mk

# Build libreplacemalloc_toolpreload-$(TARGET_ARCH)-linux.a
vg_local_module := libreplacemalloc_toolpreload
vg_local_target := STATIC_LIBRARY

vg_local_src_files := \
	coregrind/m_replacemalloc/vg_replace_malloc.c

vg_local_ldflags := $(preload_ldflags)

vg_local_cflags := $(common_cflags)

include $(LOCAL_PATH)/Android.build_all.mk

# Build vgpreload_core-$(TARGET_ARCH)-linux.so
vg_local_module := vgpreload_core
vg_local_target := SHARED_LIBRARY
vg_local_module_class := SHARED_LIBRARIES

vg_local_src_files := \
	coregrind/vg_preloaded.c

#LOCAL_STRIP_MODULE := false
#vg_local_no_crt := true

vg_local_ldflags := $(preload_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_arch_cflags := $(target_arch_cflags)

include $(LOCAL_PATH)/Android.build_all.mk

# Build memcheck-$(TARGET_ARCH)-linux
vg_local_module := memcheck
vg_local_target := EXECUTABLE
vg_local_module_class := SHARED_LIBRARIES
vg_local_src_files := \
	memcheck/mc_leakcheck.c \
	memcheck/mc_malloc_wrappers.c \
	memcheck/mc_main.c \
	memcheck/mc_translate.c \
	memcheck/mc_machine.c \
	memcheck/mc_errors.c

vg_local_cflags := $(common_cflags)
vg_local_ldflags := $(tool_ldflags)
vg_local_static_libraries := libcoregrind libvex

vg_local_without_system_shared_libraries := true
vg_local_no_crt := true

include $(LOCAL_PATH)/Android.build_all.mk

# Build vgpreload_memcheck-$(TARGET_ARCH)-linux.so
vg_local_module := vgpreload_memcheck
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := SHARED_LIBRARY

vg_local_src_files := \
	memcheck/mc_replace_strmem.c

vg_local_ldflags := $(preload_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_whole_static_libraries := libreplacemalloc_toolpreload

include $(LOCAL_PATH)/Android.build_all.mk

# Build cachegrind-$(TARGET_ARCH)-linux
vg_local_module := cachegrind
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE
vg_local_no_crt := true
vg_local_without_system_shared_libraries := true

vg_local_src_files := \
	cachegrind/cg_arch.c \
	cachegrind/cg_main.c

vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

#LOCAL_FORCE_STATIC_EXECUTABLE := true

# Build callgrind-$(TARGET_ARCH)-linux

vg_local_module := callgrind
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE
vg_local_no_crt := true
vg_local_without_system_shared_libraries := true

vg_local_src_files := \
	callgrind/bb.c \
	callgrind/bbcc.c \
	callgrind/callstack.c \
	callgrind/clo.c \
	callgrind/context.c \
	callgrind/costs.c \
	callgrind/debug.c \
	callgrind/dump.c \
	callgrind/events.c \
	callgrind/fn.c \
	callgrind/jumps.c \
	callgrind/main.c \
	callgrind/sim.c \
	callgrind/threads.c

vg_local_c_includes := external/valgrind/main/cachegrind
vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)
vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

#LOCAL_FORCE_STATIC_EXECUTABLE := true

# Build helgrind-$(TARGET_ARCH)-linux
vg_local_module := helgrind
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE
vg_local_no_crt := true
vg_local_without_system_shared_libraries := true
vg_local_src_files := \
    helgrind/hg_addrdescr.c \
    helgrind/hg_basics.c \
    helgrind/hg_errors.c \
    helgrind/hg_lock_n_thread.c \
    helgrind/hg_main.c \
    helgrind/hg_wordset.c \
    helgrind/libhb_core.c

vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)
vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

#LOCAL_FORCE_STATIC_EXECUTABLE := true

# Build vgpreload_helgrind-$(TARGET_ARCH)-linux.so
vg_local_module := vgpreload_helgrind
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := SHARED_LIBRARY
#LOCAL_STRIP_MODULE := false
vg_local_no_crt := true

vg_local_src_files := \
	helgrind/hg_intercepts.c


vg_local_ldflags := $(preload_ldflags)
vg_local_cflags := $(common_cflags)
vg_local_whole_static_libraries := libreplacemalloc_toolpreload

include $(LOCAL_PATH)/Android.build_all.mk

# Build drd-$(TARGET_ARCH)-linux
vg_local_module := drd
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE
#LOCAL_FORCE_STATIC_EXECUTABLE := true
vg_local_no_crt := true
vg_local_without_system_shared_libraries := true

vg_local_src_files := \
	drd/drd_barrier.c \
	drd/drd_clientobj.c \
	drd/drd_clientreq.c \
	drd/drd_cond.c \
	drd/drd_cond_initializer.c \
	drd/drd_error.c \
	drd/drd_hb.c \
	drd/drd_load_store.c \
	drd/drd_main.c \
	drd/drd_malloc_wrappers.c \
	drd/drd_mutex.c \
	drd/drd_rwlock.c \
	drd/drd_semaphore.c \
	drd/drd_suppression.c

vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

# Build vgpreload_drd-$(TARGET_ARCH)-linux.so
vg_local_module := vgpreload_drd
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := SHARED_LIBRARY
vg_local_no_crt := true

vg_local_src_files := \
	drd/drd_pthread_intercepts.c \
	drd/drd_qtcore_intercepts.c \
	drd/drd_strmem_intercepts.c

vg_local_ldflags := $(preload_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_whole_static_libraries := libreplacemalloc_toolpreload

include $(LOCAL_PATH)/Android.build_all.mk

# Build massif-$(TARGET_ARCH)-linux
vg_local_module := massif
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE
vg_local_no_crt := true
vg_local_without_system_shared_libraries := true

vg_local_src_files := \
	massif/ms_main.c

vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)

vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

# Build vgpreload_massif-$(TARGET_ARCH)-linux.so
vg_local_module := vgpreload_massif
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := SHARED_LIBRARY
vg_local_no_crt := true

vg_local_src_files :=

vg_local_ldflags := $(preload_ldflags)
vg_local_cflags := $(common_cflags)
vg_local_whole_static_libraries := libreplacemalloc_toolpreload

include $(LOCAL_PATH)/Android.build_all.mk

# Build none-$(TARGET_ARCH)-linux
vg_local_module := none
vg_local_module_class := SHARED_LIBRARIES
vg_local_target := EXECUTABLE

vg_local_no_crt := true
vg_local_without_system_shared_libraries := true

vg_local_src_files := \
	none/nl_main.c

vg_local_ldflags := $(tool_ldflags)
vg_local_cflags := $(common_cflags)
vg_local_static_libraries := libcoregrind libvex

include $(LOCAL_PATH)/Android.build_all.mk

# Build valgrind
include $(CLEAR_VARS)
LOCAL_MODULE := valgrind
LOCAL_ARM_MODE := arm
LOCAL_SRC_FILES := \
	coregrind/launcher-linux.c \
	coregrind/m_debuglog.c

LOCAL_C_INCLUDES := $(common_includes)
LOCAL_CFLAGS := $(common_cflags)

LOCAL_CFLAGS_$(TARGET_ARCH) = $(target_arch_cflags)

include $(BUILD_EXECUTABLE)

# Build valgrind for linux host
ifeq ($(HOST_OS), linux)
include $(CLEAR_VARS)
LOCAL_MODULE := valgrind
LOCAL_SRC_FILES := \
	coregrind/launcher-linux.c \
	coregrind/m_debuglog.c

LOCAL_C_INCLUDES := $(common_includes)
LOCAL_CFLAGS := $(common_cflags) $(host_arch_cflags)
LOCAL_MULTILIB := 64

include $(BUILD_HOST_EXECUTABLE)
endif

#vg_build_tests := true
# Build tests (some of them)...
# TODO: tests need separate build framework it terms of 2ND_ARCH
ifeq ($(vg_build_tests),true)
ifeq ($(TARGET_ARCH),arm)
test := v6intThumb
include $(LOCAL_PATH)/Android.test.mk
test := vfp
include $(LOCAL_PATH)/Android.test.mk
endif

ifeq ($(TARGET_ARCH),arm64)
test := integer
include $(LOCAL_PATH)/Android.test.mk
test := fp_and_simd
include $(LOCAL_PATH)/Android.test.mk
test := memory
include $(LOCAL_PATH)/Android.test.mk
endif
endif

# Copy prebuilt suppressions
include $(CLEAR_VARS)
LOCAL_MODULE := default.supp
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(PRODUCT_OUT)$(vg_target_module_path)
LOCAL_STRIP_MODULE := false
LOCAL_SRC_FILES := bionic.supp

include $(BUILD_PREBUILT)

ifeq ($(HOST_OS), linux)
include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE := default.supp
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(HOST_OUT_SHARED_LIBRARIES)/valgrind
LOCAL_STRIP_MODULE := false
LOCAL_SRC_FILES := bionic.supp

include $(BUILD_PREBUILT)
endif

endif
