# First include the GoogleTest library module definitions.
include $(LOCAL_PATH)/distrib/googletest/Android.mk

EMULATOR_UNITTESTS_SOURCES := \
  android/avd/util_unittest.cpp \
  android/utils/bufprint_unittest.cpp \
  android/utils/eintr_wrapper_unittest.cpp \
  android/utils/file_data_unittest.cpp \
  android/utils/property_file_unittest.cpp \
  android/utils/win32_cmdline_quote_unittest.cpp \
  android/base/containers/PodVector_unittest.cpp \
  android/base/containers/StringVector_unittest.cpp \
  android/base/EintrWrapper_unittest.cpp \
  android/base/files/PathUtils_unittest.cpp \
  android/base/files/ScopedStdioFile_unittest.cpp \
  android/base/Log_unittest.cpp \
  android/base/memory/MallocUsableSize_unittest.cpp \
  android/base/memory/ScopedPtr_unittest.cpp \
  android/base/String_unittest.cpp \
  android/base/StringView_unittest.cpp \
  android/filesystems/ext4_utils_unittest.cpp \
  android/kernel/kernel_utils_unittest.cpp \

$(call start-emulator-program, emulator_unittests)
LOCAL_C_INCLUDES += $(EMULATOR_GTEST_INCLUDES)
LOCAL_LDLIBS += $(EMULATOR_GTEST_LDLIBS)
LOCAL_SRC_FILES := $(EMULATOR_UNITTESTS_SOURCES)
LOCAL_CFLAGS += -O0
LOCAL_STATIC_LIBRARIES += emulator-common emulator-libgtest
$(call end-emulator-program)


ifneq ($(filter linux darwin,$(HOST_OS)),)
  $(call start-emulator-program, emulator64_unittests)
  LOCAL_C_INCLUDES += $(EMULATOR_GTEST_INCLUDES)
  LOCAL_LDLIBS += $(EMULATOR_GTEST_LDLIBS)
  LOCAL_SRC_FILES := $(EMULATOR_UNITTESTS_SOURCES)
  LOCAL_CFLAGS += -O0 -m64
  LOCAL_LDLIBS += -m64
  LOCAL_STATIC_LIBRARIES += emulator64-common emulator64-libgtest
  $(call end-emulator-program)
endif
