# Copyright (C) 2015 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.

# Default values for the USE flags. Override these USE flags from your product
# by setting BRILLO_USE_* values. Note that we define local variables like
# local_use_* to prevent leaking our default setting for other packages.
local_use_dbus := $(if $(BRILLO_USE_DBUS),$(BRILLO_USE_DBUS),1)

LOCAL_PATH := $(call my-dir)

# Common variables
# ========================================================

# Set libchromeUseClang to "true" to force clang or "false" to force gcc.
libchromeUseClang :=
libchromeCommonCppExtension := .cc
libchromeTestCFlags := -Wno-unused-parameter -Wno-unused-function \
	-Wno-missing-field-initializers
libchromeCommonCFlags := -Wall -Werror
libchromeCommonCIncludes := \
	external/valgrind/include \
	external/valgrind \

libchromeExportedCIncludes := $(LOCAL_PATH)

libchromeCommonSrc := \
	base/at_exit.cc \
	base/base64.cc \
	base/base64url.cc \
	base/base_switches.cc \
	base/bind_helpers.cc \
	base/build_time.cc \
	base/callback_helpers.cc \
	base/callback_internal.cc \
	base/command_line.cc \
	base/cpu.cc \
	base/debug/alias.cc \
	base/debug/debugger.cc \
	base/debug/debugger_posix.cc \
	base/debug/stack_trace.cc \
	base/debug/stack_trace_posix.cc \
	base/debug/task_annotator.cc \
	base/environment.cc \
	base/files/file.cc \
	base/files/file_enumerator.cc \
	base/files/file_enumerator_posix.cc \
	base/files/file_path.cc \
	base/files/file_path_constants.cc \
	base/files/file_path_watcher.cc \
	base/files/file_posix.cc \
	base/files/file_tracing.cc \
	base/files/file_util.cc \
	base/files/file_util_posix.cc \
	base/files/important_file_writer.cc \
	base/files/memory_mapped_file.cc \
	base/files/memory_mapped_file_posix.cc \
	base/files/scoped_file.cc \
	base/files/scoped_temp_dir.cc \
	base/guid.cc \
	base/hash.cc \
	base/json/json_file_value_serializer.cc \
	base/json/json_parser.cc \
	base/json/json_reader.cc \
	base/json/json_string_value_serializer.cc \
	base/json/json_value_converter.cc \
	base/json/json_writer.cc \
	base/json/string_escape.cc \
	base/lazy_instance.cc \
	base/location.cc \
	base/logging.cc \
	base/md5.cc \
	base/memory/aligned_memory.cc \
	base/memory/ref_counted.cc \
	base/memory/ref_counted_memory.cc \
	base/memory/singleton.cc \
	base/memory/weak_ptr.cc \
	base/message_loop/incoming_task_queue.cc \
	base/message_loop/message_loop.cc \
	base/message_loop/message_loop_task_runner.cc \
	base/message_loop/message_pump.cc \
	base/message_loop/message_pump_default.cc \
	base/message_loop/message_pump_libevent.cc \
	base/metrics/bucket_ranges.cc \
	base/metrics/field_trial.cc \
	base/metrics/metrics_hashes.cc \
	base/metrics/histogram_base.cc \
	base/metrics/histogram.cc \
	base/metrics/histogram_samples.cc \
	base/metrics/histogram_snapshot_manager.cc \
	base/metrics/persistent_histogram_allocator.cc \
	base/metrics/persistent_memory_allocator.cc \
	base/metrics/persistent_sample_map.cc \
	base/metrics/sample_map.cc \
	base/metrics/sample_vector.cc \
	base/metrics/sparse_histogram.cc \
	base/metrics/statistics_recorder.cc \
	base/pending_task.cc \
	base/pickle.cc \
	base/posix/file_descriptor_shuffle.cc \
	base/posix/safe_strerror.cc \
	base/process/kill.cc \
	base/process/kill_posix.cc \
	base/process/launch.cc \
	base/process/launch_posix.cc \
	base/process/process_handle.cc \
	base/process/process_handle_posix.cc \
	base/process/process_iterator.cc \
	base/process/process_metrics.cc \
	base/process/process_metrics_posix.cc \
	base/process/process_posix.cc \
	base/profiler/scoped_profile.cc \
	base/profiler/scoped_tracker.cc \
	base/profiler/tracked_time.cc \
	base/rand_util.cc \
	base/rand_util_posix.cc \
	base/run_loop.cc \
	base/sequence_checker_impl.cc \
	base/sequenced_task_runner.cc \
	base/sha1_portable.cc \
	base/strings/pattern.cc \
	base/strings/safe_sprintf.cc \
	base/strings/string16.cc \
	base/strings/string_number_conversions.cc \
	base/strings/string_piece.cc \
	base/strings/stringprintf.cc \
	base/strings/string_split.cc \
	base/strings/string_util.cc \
	base/strings/string_util_constants.cc \
	base/strings/utf_string_conversions.cc \
	base/strings/utf_string_conversion_utils.cc \
	base/synchronization/cancellation_flag.cc \
	base/synchronization/condition_variable_posix.cc \
	base/synchronization/lock.cc \
	base/synchronization/lock_impl_posix.cc \
	base/synchronization/read_write_lock_posix.cc \
	base/synchronization/waitable_event_posix.cc \
	base/sync_socket_posix.cc \
	base/sys_info.cc \
	base/sys_info_posix.cc \
	base/task/cancelable_task_tracker.cc \
	base/task_runner.cc \
	base/task_scheduler/scheduler_lock_impl.cc \
	base/task_scheduler/sequence.cc \
	base/task_scheduler/sequence_sort_key.cc \
	base/task_scheduler/task.cc \
	base/task_scheduler/task_traits.cc \
	base/third_party/icu/icu_utf.cc \
	base/third_party/nspr/prtime.cc \
	base/threading/non_thread_safe_impl.cc \
	base/threading/platform_thread_posix.cc \
	base/threading/post_task_and_reply_impl.cc \
	base/threading/sequenced_task_runner_handle.cc \
	base/threading/sequenced_worker_pool.cc \
	base/threading/simple_thread.cc \
	base/threading/thread.cc \
	base/threading/thread_checker_impl.cc \
	base/threading/thread_collision_warner.cc \
	base/threading/thread_id_name_manager.cc \
	base/threading/thread_local_posix.cc \
	base/threading/thread_local_storage.cc \
	base/threading/thread_local_storage_posix.cc \
	base/threading/thread_restrictions.cc \
	base/threading/thread_task_runner_handle.cc \
	base/threading/worker_pool.cc \
	base/threading/worker_pool_posix.cc \
	base/time/clock.cc \
	base/time/default_clock.cc \
	base/time/default_tick_clock.cc \
	base/time/tick_clock.cc \
	base/time/time.cc \
	base/time/time_posix.cc \
	base/timer/elapsed_timer.cc \
	base/timer/timer.cc \
	base/trace_event/heap_profiler_allocation_context.cc \
	base/trace_event/heap_profiler_allocation_context_tracker.cc \
	base/trace_event/heap_profiler_allocation_register.cc \
	base/trace_event/heap_profiler_allocation_register_posix.cc \
	base/trace_event/heap_profiler_heap_dump_writer.cc \
	base/trace_event/heap_profiler_stack_frame_deduplicator.cc \
	base/trace_event/heap_profiler_type_name_deduplicator.cc \
	base/trace_event/malloc_dump_provider.cc \
	base/trace_event/memory_allocator_dump.cc \
	base/trace_event/memory_allocator_dump_guid.cc \
	base/trace_event/memory_dump_manager.cc \
	base/trace_event/memory_dump_request_args.cc \
	base/trace_event/memory_dump_session_state.cc \
	base/trace_event/memory_infra_background_whitelist.cc \
	base/trace_event/process_memory_dump.cc \
	base/trace_event/process_memory_maps.cc \
	base/trace_event/process_memory_totals.cc \
	base/trace_event/trace_buffer.cc \
	base/trace_event/trace_config.cc \
	base/trace_event/trace_event_argument.cc \
	base/trace_event/trace_event_impl.cc \
	base/trace_event/trace_event_memory_overhead.cc \
	base/trace_event/trace_event_synthetic_delay.cc \
	base/trace_event/trace_log.cc \
	base/trace_event/trace_log_constants.cc \
	base/trace_event/trace_sampling_thread.cc \
	base/tracked_objects.cc \
	base/tracking_info.cc \
	base/values.cc \
	base/version.cc \
	base/vlog.cc \

libchromeLinuxSrc := \
	base/allocator/allocator_shim.cc \
	base/files/file_path_watcher_linux.cc \
	base/files/file_util_linux.cc \
	base/memory/shared_memory_posix.cc \
	base/posix/unix_domain_socket_linux.cc \
	base/process/internal_linux.cc \
	base/process/process_handle_linux.cc \
	base/process/process_iterator_linux.cc \
	base/process/process_metrics_linux.cc \
	base/strings/sys_string_conversions_posix.cc \
	base/sys_info_linux.cc \
	base/threading/platform_thread_internal_posix.cc \
	base/threading/platform_thread_linux.cc \
	components/timers/alarm_timer_chromeos.cc \

libchromeMacSrc := \
	base/files/file_path_watcher_fsevents.cc \
	base/files/file_path_watcher_kqueue.cc \
	base/files/file_path_watcher_mac.cc \
	base/files/file_util_mac.mm \
	base/mac/bundle_locations.mm \
	base/mac/foundation_util.mm \
	base/mac/mach_logging.cc \
	base/mac/scoped_mach_port.cc \
	base/mac/scoped_mach_vm.cc \
	base/mac/scoped_nsautorelease_pool.mm \
	base/mac/sdk_forward_declarations.mm \
	base/memory/shared_memory_mac.cc \
	base/memory/shared_memory_handle_mac.cc \
	base/message_loop/message_pump_mac.mm \
	base/process/launch_mac.cc \
	base/process/port_provider_mac.cc \
	base/process/process_handle_mac.cc \
	base/process/process_iterator_mac.cc \
	base/process/process_metrics_mac.cc \
	base/strings/sys_string_conversions_mac.mm \
	base/sys_info_mac.mm \
	base/time/time_mac.cc \
	base/threading/platform_thread_mac.mm \

libchromeCommonUnittestSrc := \
	base/at_exit_unittest.cc \
	base/atomicops_unittest.cc \
	base/base64_unittest.cc \
	base/base64url_unittest.cc \
	base/bind_unittest.cc \
	base/bits_unittest.cc \
	base/build_time_unittest.cc \
	base/callback_helpers_unittest.cc \
	base/callback_list_unittest.cc \
	base/callback_unittest.cc \
	base/cancelable_callback_unittest.cc \
	base/command_line_unittest.cc \
	base/cpu_unittest.cc \
	base/debug/debugger_unittest.cc \
	base/debug/leak_tracker_unittest.cc \
	base/debug/task_annotator_unittest.cc \
	base/environment_unittest.cc \
	base/file_version_info_unittest.cc \
	base/files/dir_reader_posix_unittest.cc \
	base/files/file_path_watcher_unittest.cc \
	base/files/file_path_unittest.cc \
	base/files/file_unittest.cc \
	base/files/important_file_writer_unittest.cc \
	base/files/scoped_temp_dir_unittest.cc \
	base/gmock_unittest.cc \
	base/guid_unittest.cc \
	base/id_map_unittest.cc \
	base/json/json_parser_unittest.cc \
	base/json/json_reader_unittest.cc \
	base/json/json_value_converter_unittest.cc \
	base/json/json_value_serializer_unittest.cc \
	base/json/json_writer_unittest.cc \
	base/json/string_escape_unittest.cc \
	base/lazy_instance_unittest.cc \
	base/logging_unittest.cc \
	base/md5_unittest.cc \
	base/memory/aligned_memory_unittest.cc \
	base/memory/linked_ptr_unittest.cc \
	base/memory/ref_counted_memory_unittest.cc \
	base/memory/ref_counted_unittest.cc \
	base/memory/scoped_vector_unittest.cc \
	base/memory/singleton_unittest.cc \
	base/memory/weak_ptr_unittest.cc \
	base/message_loop/message_loop_test.cc \
	base/message_loop/message_loop_task_runner_unittest.cc \
	base/message_loop/message_loop_unittest.cc \
	base/metrics/bucket_ranges_unittest.cc \
	base/metrics/field_trial_unittest.cc \
	base/metrics/metrics_hashes_unittest.cc \
	base/metrics/histogram_base_unittest.cc \
	base/metrics/histogram_macros_unittest.cc \
	base/metrics/histogram_snapshot_manager_unittest.cc \
	base/metrics/histogram_unittest.cc \
	base/metrics/persistent_histogram_allocator_unittest.cc \
	base/metrics/persistent_memory_allocator_unittest.cc \
	base/metrics/persistent_sample_map_unittest.cc \
	base/metrics/sample_map_unittest.cc \
	base/metrics/sample_vector_unittest.cc \
	base/metrics/sparse_histogram_unittest.cc \
	base/metrics/statistics_recorder_unittest.cc \
	base/numerics/safe_numerics_unittest.cc \
	base/observer_list_unittest.cc \
	base/optional_unittest.cc \
	base/pickle_unittest.cc \
	base/posix/file_descriptor_shuffle_unittest.cc \
	base/posix/unix_domain_socket_linux_unittest.cc \
	base/process/process_metrics_unittest.cc \
	base/profiler/tracked_time_unittest.cc \
	base/rand_util_unittest.cc \
	base/scoped_clear_errno_unittest.cc \
	base/scoped_generic_unittest.cc \
	base/security_unittest.cc \
	base/sequence_checker_unittest.cc \
	base/sha1_unittest.cc \
	base/stl_util_unittest.cc \
	base/strings/pattern_unittest.cc \
	base/strings/string16_unittest.cc \
	base/strings/string_number_conversions_unittest.cc \
	base/strings/string_piece_unittest.cc \
	base/strings/stringprintf_unittest.cc \
	base/strings/string_split_unittest.cc \
	base/strings/string_util_unittest.cc \
	base/strings/sys_string_conversions_unittest.cc \
	base/strings/utf_string_conversions_unittest.cc \
	base/synchronization/cancellation_flag_unittest.cc \
	base/synchronization/condition_variable_unittest.cc \
	base/synchronization/lock_unittest.cc \
	base/synchronization/waitable_event_unittest.cc \
	base/sync_socket_unittest.cc \
	base/sys_info_unittest.cc \
	base/task/cancelable_task_tracker_unittest.cc \
	base/task_runner_util_unittest.cc \
	base/task_scheduler/scheduler_lock_unittest.cc \
	base/task_scheduler/sequence_sort_key_unittest.cc \
	base/task_scheduler/sequence_unittest.cc \
	base/task_scheduler/task_traits.cc \
	base/template_util_unittest.cc \
	base/test/multiprocess_test.cc \
	base/test/multiprocess_test_android.cc \
	base/test/opaque_ref_counted.cc \
	base/test/scoped_locale.cc \
	base/test/sequenced_worker_pool_owner.cc \
	base/test/test_file_util.cc \
	base/test/test_file_util_linux.cc \
	base/test/test_file_util_posix.cc \
	base/test/test_io_thread.cc \
	base/test/test_pending_task.cc \
	base/test/test_simple_task_runner.cc \
	base/test/test_switches.cc \
	base/test/test_timeouts.cc \
	base/test/trace_event_analyzer.cc \
	base/threading/non_thread_safe_unittest.cc \
	base/threading/platform_thread_unittest.cc \
	base/threading/simple_thread_unittest.cc \
	base/threading/thread_checker_unittest.cc \
	base/threading/thread_collision_warner_unittest.cc \
	base/threading/thread_id_name_manager_unittest.cc \
	base/threading/thread_local_storage_unittest.cc \
	base/threading/thread_local_unittest.cc \
	base/threading/thread_unittest.cc \
	base/threading/worker_pool_posix_unittest.cc \
	base/threading/worker_pool_unittest.cc \
	base/time/pr_time_unittest.cc \
	base/time/time_unittest.cc \
	base/timer/hi_res_timer_manager_unittest.cc \
	base/timer/timer_unittest.cc \
	base/trace_event/heap_profiler_allocation_context_tracker_unittest.cc \
	base/trace_event/heap_profiler_stack_frame_deduplicator_unittest.cc \
	base/trace_event/heap_profiler_type_name_deduplicator_unittest.cc \
	base/trace_event/memory_allocator_dump_unittest.cc \
	base/trace_event/memory_dump_manager_unittest.cc \
	base/trace_event/process_memory_dump_unittest.cc \
	base/trace_event/trace_config_unittest.cc \
	base/trace_event/trace_event_argument_unittest.cc \
	base/trace_event/trace_event_synthetic_delay_unittest.cc \
	base/trace_event/trace_event_unittest.cc \
	base/tracked_objects_unittest.cc \
	base/tuple_unittest.cc \
	base/values_unittest.cc \
	base/version_unittest.cc \
	base/vlog_unittest.cc \
	testing/multiprocess_func_list.cc \
	testrunner.cc \

libchromeCryptoUnittestSrc := \
	crypto/secure_hash_unittest.cc \
	crypto/sha2_unittest.cc \

libchromeHostCFlags := -D__ANDROID_HOST__ -DDONT_EMBED_BUILD_METADATA

ifeq ($(HOST_OS),linux)
libchromeHostSrc := $(libchromeLinuxSrc) \
	base/allocator/allocator_shim_default_dispatch_to_glibc.cc
libchromeHostLdFlags :=
endif

ifeq ($(HOST_OS),darwin)
libchromeHostSrc := $(libchromeMacSrc)
libchromeHostCFlags += -D_FILE_OFFSET_BITS=64 -Wno-deprecated-declarations
libchromeHostLdFlags := \
	-framework AppKit \
	-framework CoreFoundation \
	-framework Foundation \
	-framework Security
endif

# libchrome shared library for target
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome
LOCAL_SRC_FILES := \
	$(libchromeCommonSrc) \
	$(libchromeLinuxSrc) \
	base/allocator/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc \
	base/memory/shared_memory_android.cc \
	base/sys_info_chromeos.cc \

LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_LDFLAGS := -Wl,-wrap,calloc -Wl,-wrap,free -Wl,-wrap,malloc \
	-Wl,-wrap,memalign -Wl,-wrap,realloc
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbase
LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libgtest_prod
LOCAL_SHARED_LIBRARIES :=  libbase libevent liblog libcutils
LOCAL_STATIC_LIBRARIES := libmodpb64 libgtest_prod
LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes)
include $(BUILD_SHARED_LIBRARY)

# libchrome static library for target
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome
LOCAL_SRC_FILES := \
	$(libchromeCommonSrc) \
	$(libchromeLinuxSrc) \
	base/allocator/allocator_shim_default_dispatch_to_linker_wrapped_symbols.cc \
	base/memory/shared_memory_android.cc \
	base/sys_info_chromeos.cc \

LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_LDFLAGS := -Wl,-wrap,calloc -Wl,-wrap,free -Wl,-wrap,malloc \
	-Wl,-wrap,memalign -Wl,-wrap,realloc
LOCAL_STATIC_LIBRARIES := libmodpb64 libgtest_prod \
	libbase libevent liblog libcutils
LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := $(LOCAL_STATIC_LIBRARIES)
LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes)
include $(BUILD_STATIC_LIBRARY)

# libchrome shared library for host
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeHostCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes)
LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libgtest_prod
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbase
LOCAL_SHARED_LIBRARIES := libbase libevent
LOCAL_STATIC_LIBRARIES := libmodpb64 libgtest_prod
LOCAL_SRC_FILES := \
	$(libchromeCommonSrc) \
	$(libchromeHostSrc) \

LOCAL_LDFLAGS := $(libchromeHostLdFlags)
include $(BUILD_HOST_SHARED_LIBRARY)

ifeq ($(local_use_dbus),1)

# libchrome-dbus shared library for target
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome-dbus
LOCAL_SRC_FILES := \
	dbus/bus.cc \
	dbus/dbus_statistics.cc \
	dbus/exported_object.cc \
	dbus/file_descriptor.cc \
	dbus/message.cc \
	dbus/object_manager.cc \
	dbus/object_path.cc \
	dbus/object_proxy.cc \
	dbus/property.cc \
	dbus/scoped_dbus_error.cc \
	dbus/string_util.cc \
	dbus/util.cc \
	dbus/values_util.cc \

LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SHARED_LIBRARIES := \
	libchrome \
	libdbus \

LOCAL_STATIC_LIBRARIES := libgtest_prod
LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes)
LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libgtest_prod
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libchrome
include $(BUILD_SHARED_LIBRARY)

endif  # local_use_dbus == 1

# libchrome-crypto shared library for target
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome-crypto
LOCAL_SRC_FILES := \
	crypto/openssl_util.cc \
	crypto/random.cc \
	crypto/secure_hash.cc \
	crypto/secure_util.cc \
	crypto/sha2.cc \

LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) -Wno-unused-parameter
LOCAL_CPPFLAGS := $(libchromeCommonCppFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SHARED_LIBRARIES := \
	libchrome \
	libcrypto \
	libssl \

LOCAL_EXPORT_C_INCLUDE_DIRS := $(libchromeExportedCIncludes)
include $(BUILD_SHARED_LIBRARY)

# Helpers needed for unit tests.
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome_test_helpers
LOCAL_SHARED_LIBRARIES := libchrome
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeTestCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SRC_FILES := \
	base/test/simple_test_clock.cc \
	base/test/simple_test_tick_clock.cc \
	base/test/test_file_util.cc \
	base/test/test_file_util_linux.cc \
	base/test/test_switches.cc \
	base/test/test_timeouts.cc \

include $(BUILD_STATIC_LIBRARY)

ifeq ($(local_use_dbus),1)

# Helpers needed for D-Bus unit tests.
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome_dbus_test_helpers
LOCAL_SHARED_LIBRARIES := libdbus libchrome-dbus
LOCAL_STATIC_LIBRARIES := libgmock
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeTestCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SRC_FILES := \
	dbus/mock_bus.cc \
	dbus/mock_exported_object.cc \
	dbus/mock_object_manager.cc \
	dbus/mock_object_proxy.cc \

include $(BUILD_STATIC_LIBRARY)

endif  # local_use_dbus == 1

# Helpers needed for unit tests (for host).
# ========================================================
ifeq ($(HOST_OS),linux)
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome_test_helpers-host
LOCAL_SHARED_LIBRARIES := libchrome
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeTestCFlags)
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SRC_FILES := base/test/simple_test_clock.cc
include $(BUILD_HOST_STATIC_LIBRARY)

# Host unit tests. Run (from repo root) with:
# ./out/host/<arch>/bin/libchrome_test
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome_test
LOCAL_SRC_FILES := $(libchromeCommonUnittestSrc)
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeTestCFlags) $(libchromeHostCFlags) -DUNIT_TEST
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SHARED_LIBRARIES := libchrome libevent
LOCAL_STATIC_LIBRARIES := libgmock_host libgtest_host
LOCAL_LDLIBS := -lrt
include $(BUILD_HOST_NATIVE_TEST)
endif

# Native unit tests. Run with:
# adb shell /data/nativetest/libchrome_test/libchrome_test
# ========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libchrome_test
LOCAL_SRC_FILES := $(libchromeCryptoUnittestSrc) $(libchromeCommonUnittestSrc)
LOCAL_CPP_EXTENSION := $(libchromeCommonCppExtension)
LOCAL_CFLAGS := $(libchromeCommonCFlags) $(libchromeTestCFlags) -DUNIT_TEST -DDONT_EMBED_BUILD_METADATA
LOCAL_CLANG := $(libchromeUseClang)
LOCAL_C_INCLUDES := $(libchromeCommonCIncludes)
LOCAL_SHARED_LIBRARIES := libchrome libchrome-crypto libevent
LOCAL_STATIC_LIBRARIES := libgmock libgtest
include $(BUILD_NATIVE_TEST)
