# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# 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.

static_library("starboard_platform") {
  sources = [
    "application_stub.cc",
    "application_stub.h",
    "atomic_public.h",
    "configuration.cc",
    "configuration.h",
    "configuration_constants.cc",
    "font.cc",
    "font.h",
    "javascript_cache.cc",
    "javascript_cache.h",
    "main.cc",
    "system_get_extensions.cc",
  ]

  public_deps = [ ":stub_sources" ]
}

static_library("stub_sources") {
  sources = [
    "//starboard/shared/starboard/application.cc",
    "//starboard/shared/starboard/command_line.cc",
    "//starboard/shared/starboard/command_line.h",
    "//starboard/shared/starboard/event_cancel.cc",
    "//starboard/shared/starboard/event_schedule.cc",
    "//starboard/shared/starboard/file_mode_string_to_flags.cc",
    "//starboard/shared/starboard/memory.cc",
    "//starboard/shared/starboard/queue_application.cc",
    "//starboard/shared/starboard/starboard_switches.cc",
    "//starboard/shared/starboard/starboard_switches.h",
    "//starboard/shared/stub/accessibility_get_caption_settings.cc",
    "//starboard/shared/stub/accessibility_get_display_settings.cc",
    "//starboard/shared/stub/accessibility_get_text_to_speech_settings.cc",
    "//starboard/shared/stub/accessibility_set_captions_enabled.cc",
    "//starboard/shared/stub/atomic_public.h",
    "//starboard/shared/stub/audio_sink_create.cc",
    "//starboard/shared/stub/audio_sink_destroy.cc",
    "//starboard/shared/stub/audio_sink_get_max_channels.cc",
    "//starboard/shared/stub/audio_sink_get_min_buffer_size_in_frames.cc",
    "//starboard/shared/stub/audio_sink_get_nearest_supported_sample_frequency.cc",
    "//starboard/shared/stub/audio_sink_is_audio_frame_storage_type_supported.cc",
    "//starboard/shared/stub/audio_sink_is_audio_sample_type_supported.cc",
    "//starboard/shared/stub/audio_sink_is_valid.cc",
    "//starboard/shared/stub/byte_swap.cc",
    "//starboard/shared/stub/condition_variable_broadcast.cc",
    "//starboard/shared/stub/condition_variable_create.cc",
    "//starboard/shared/stub/condition_variable_destroy.cc",
    "//starboard/shared/stub/condition_variable_signal.cc",
    "//starboard/shared/stub/condition_variable_wait.cc",
    "//starboard/shared/stub/condition_variable_wait_timed.cc",
    "//starboard/shared/stub/cpu_features_get.cc",
    "//starboard/shared/stub/decode_target_get_info.cc",
    "//starboard/shared/stub/decode_target_release.cc",
    "//starboard/shared/stub/directory_can_open.cc",
    "//starboard/shared/stub/directory_close.cc",
    "//starboard/shared/stub/directory_create.cc",
    "//starboard/shared/stub/directory_get_next.cc",
    "//starboard/shared/stub/directory_open.cc",
    "//starboard/shared/stub/drm_close_session.cc",
    "//starboard/shared/stub/drm_create_system.cc",
    "//starboard/shared/stub/drm_destroy_system.cc",
    "//starboard/shared/stub/drm_generate_session_update_request.cc",
    "//starboard/shared/stub/drm_get_metrics.cc",
    "//starboard/shared/stub/drm_is_server_certificate_updatable.cc",
    "//starboard/shared/stub/drm_update_server_certificate.cc",
    "//starboard/shared/stub/drm_update_session.cc",
    "//starboard/shared/stub/environment.cc",
    "//starboard/shared/stub/file_atomic_replace.cc",
    "//starboard/shared/stub/file_can_open.cc",
    "//starboard/shared/stub/file_close.cc",
    "//starboard/shared/stub/file_delete.cc",
    "//starboard/shared/stub/file_exists.cc",
    "//starboard/shared/stub/file_flush.cc",
    "//starboard/shared/stub/file_get_info.cc",
    "//starboard/shared/stub/file_get_path_info.cc",
    "//starboard/shared/stub/file_open.cc",
    "//starboard/shared/stub/file_read.cc",
    "//starboard/shared/stub/file_seek.cc",
    "//starboard/shared/stub/file_truncate.cc",
    "//starboard/shared/stub/file_write.cc",
    "//starboard/shared/stub/image_decode.cc",
    "//starboard/shared/stub/image_is_decode_supported.cc",
    "//starboard/shared/stub/log.cc",
    "//starboard/shared/stub/log_flush.cc",
    "//starboard/shared/stub/log_format.cc",
    "//starboard/shared/stub/log_is_tty.cc",
    "//starboard/shared/stub/log_raw.cc",
    "//starboard/shared/stub/log_raw_dump_stack.cc",
    "//starboard/shared/stub/log_raw_format.cc",
    "//starboard/shared/stub/media_can_play_mime_and_key_system.cc",
    "//starboard/shared/stub/media_get_audio_buffer_budget.cc",
    "//starboard/shared/stub/media_get_audio_configuration.cc",
    "//starboard/shared/stub/media_get_audio_output_count.cc",
    "//starboard/shared/stub/media_get_buffer_alignment.cc",
    "//starboard/shared/stub/media_get_buffer_allocation_unit.cc",
    "//starboard/shared/stub/media_get_buffer_garbage_collection_duration_threshold.cc",
    "//starboard/shared/stub/media_get_buffer_padding.cc",
    "//starboard/shared/stub/media_get_buffer_storage_type.cc",
    "//starboard/shared/stub/media_get_initial_buffer_capacity.cc",
    "//starboard/shared/stub/media_get_max_buffer_capacity.cc",
    "//starboard/shared/stub/media_get_progressive_buffer_budget.cc",
    "//starboard/shared/stub/media_get_video_buffer_budget.cc",
    "//starboard/shared/stub/media_is_audio_supported.cc",
    "//starboard/shared/stub/media_is_buffer_pool_allocate_on_demand.cc",
    "//starboard/shared/stub/media_is_buffer_using_memory_pool.cc",
    "//starboard/shared/stub/media_is_supported.cc",
    "//starboard/shared/stub/media_is_video_supported.cc",
    "//starboard/shared/stub/media_set_audio_write_duration.cc",
    "//starboard/shared/stub/memory_allocate_aligned_unchecked.cc",
    "//starboard/shared/stub/memory_allocate_unchecked.cc",
    "//starboard/shared/stub/memory_flush.cc",
    "//starboard/shared/stub/memory_free.cc",
    "//starboard/shared/stub/memory_free_aligned.cc",
    "//starboard/shared/stub/memory_get_stack_bounds.cc",
    "//starboard/shared/stub/memory_map.cc",
    "//starboard/shared/stub/memory_protect.cc",
    "//starboard/shared/stub/memory_reallocate_unchecked.cc",
    "//starboard/shared/stub/memory_unmap.cc",
    "//starboard/shared/stub/microphone_close.cc",
    "//starboard/shared/stub/microphone_create.cc",
    "//starboard/shared/stub/microphone_destroy.cc",
    "//starboard/shared/stub/microphone_get_available.cc",
    "//starboard/shared/stub/microphone_is_sample_rate_supported.cc",
    "//starboard/shared/stub/microphone_open.cc",
    "//starboard/shared/stub/microphone_read.cc",
    "//starboard/shared/stub/mutex_acquire.cc",
    "//starboard/shared/stub/mutex_acquire_try.cc",
    "//starboard/shared/stub/mutex_create.cc",
    "//starboard/shared/stub/mutex_destroy.cc",
    "//starboard/shared/stub/mutex_release.cc",
    "//starboard/shared/stub/once.cc",
    "//starboard/shared/stub/player_create.cc",
    "//starboard/shared/stub/player_destroy.cc",
    "//starboard/shared/stub/player_get_audio_configuration.cc",
    "//starboard/shared/stub/player_get_current_frame.cc",
    "//starboard/shared/stub/player_get_info.cc",
    "//starboard/shared/stub/player_get_maximum_number_of_samples_per_write.cc",
    "//starboard/shared/stub/player_get_preferred_output_mode.cc",
    "//starboard/shared/stub/player_seek.cc",
    "//starboard/shared/stub/player_set_bounds.cc",
    "//starboard/shared/stub/player_set_playback_rate.cc",
    "//starboard/shared/stub/player_set_volume.cc",
    "//starboard/shared/stub/player_write_end_of_stream.cc",
    "//starboard/shared/stub/player_write_samples.cc",
    "//starboard/shared/stub/socket_accept.cc",
    "//starboard/shared/stub/socket_bind.cc",
    "//starboard/shared/stub/socket_clear_last_error.cc",
    "//starboard/shared/stub/socket_connect.cc",
    "//starboard/shared/stub/socket_create.cc",
    "//starboard/shared/stub/socket_destroy.cc",
    "//starboard/shared/stub/socket_free_resolution.cc",
    "//starboard/shared/stub/socket_get_interface_address.cc",
    "//starboard/shared/stub/socket_get_last_error.cc",
    "//starboard/shared/stub/socket_get_local_address.cc",
    "//starboard/shared/stub/socket_is_connected.cc",
    "//starboard/shared/stub/socket_is_connected_and_idle.cc",
    "//starboard/shared/stub/socket_is_ipv6_supported.cc",
    "//starboard/shared/stub/socket_join_multicast_group.cc",
    "//starboard/shared/stub/socket_listen.cc",
    "//starboard/shared/stub/socket_receive_from.cc",
    "//starboard/shared/stub/socket_resolve.cc",
    "//starboard/shared/stub/socket_send_to.cc",
    "//starboard/shared/stub/socket_set_broadcast.cc",
    "//starboard/shared/stub/socket_set_receive_buffer_size.cc",
    "//starboard/shared/stub/socket_set_reuse_address.cc",
    "//starboard/shared/stub/socket_set_send_buffer_size.cc",
    "//starboard/shared/stub/socket_set_tcp_keep_alive.cc",
    "//starboard/shared/stub/socket_set_tcp_no_delay.cc",
    "//starboard/shared/stub/socket_set_tcp_window_scaling.cc",
    "//starboard/shared/stub/socket_waiter_add.cc",
    "//starboard/shared/stub/socket_waiter_create.cc",
    "//starboard/shared/stub/socket_waiter_destroy.cc",
    "//starboard/shared/stub/socket_waiter_remove.cc",
    "//starboard/shared/stub/socket_waiter_wait.cc",
    "//starboard/shared/stub/socket_waiter_wait_timed.cc",
    "//starboard/shared/stub/socket_waiter_wake_up.cc",
    "//starboard/shared/stub/speech_synthesis_cancel.cc",
    "//starboard/shared/stub/speech_synthesis_is_supported.cc",
    "//starboard/shared/stub/speech_synthesis_speak.cc",
    "//starboard/shared/stub/storage_close_record.cc",
    "//starboard/shared/stub/storage_delete_record.cc",
    "//starboard/shared/stub/storage_get_record_size.cc",
    "//starboard/shared/stub/storage_open_record.cc",
    "//starboard/shared/stub/storage_read_record.cc",
    "//starboard/shared/stub/storage_write_record.cc",
    "//starboard/shared/stub/string_compare_no_case.cc",
    "//starboard/shared/stub/string_compare_no_case_n.cc",
    "//starboard/shared/stub/string_duplicate.cc",
    "//starboard/shared/stub/string_format.cc",
    "//starboard/shared/stub/string_format_wide.cc",
    "//starboard/shared/stub/string_scan.cc",
    "//starboard/shared/stub/system_break_into_debugger.cc",
    "//starboard/shared/stub/system_clear_last_error.cc",
    "//starboard/shared/stub/system_egl.cc",
    "//starboard/shared/stub/system_get_connection_type.cc",
    "//starboard/shared/stub/system_get_device_type.cc",
    "//starboard/shared/stub/system_get_error_string.cc",
    "//starboard/shared/stub/system_get_last_error.cc",
    "//starboard/shared/stub/system_get_locale_id.cc",
    "//starboard/shared/stub/system_get_number_of_processors.cc",
    "//starboard/shared/stub/system_get_path.cc",
    "//starboard/shared/stub/system_get_property.cc",
    "//starboard/shared/stub/system_get_random_data.cc",
    "//starboard/shared/stub/system_get_random_uint64.cc",
    "//starboard/shared/stub/system_get_stack.cc",
    "//starboard/shared/stub/system_get_total_cpu_memory.cc",
    "//starboard/shared/stub/system_get_total_gpu_memory.cc",
    "//starboard/shared/stub/system_get_used_cpu_memory.cc",
    "//starboard/shared/stub/system_get_used_gpu_memory.cc",
    "//starboard/shared/stub/system_gles.cc",
    "//starboard/shared/stub/system_has_capability.cc",
    "//starboard/shared/stub/system_hide_splash_screen.cc",
    "//starboard/shared/stub/system_is_debugger_attached.cc",
    "//starboard/shared/stub/system_network_is_disconnected.cc",
    "//starboard/shared/stub/system_raise_platform_error.cc",
    "//starboard/shared/stub/system_request_blur.cc",
    "//starboard/shared/stub/system_request_conceal.cc",
    "//starboard/shared/stub/system_request_focus.cc",
    "//starboard/shared/stub/system_request_freeze.cc",
    "//starboard/shared/stub/system_request_reveal.cc",
    "//starboard/shared/stub/system_request_stop.cc",
    "//starboard/shared/stub/system_sign_with_certification_secret_key.cc",
    "//starboard/shared/stub/system_supports_resume.cc",
    "//starboard/shared/stub/system_symbolize.cc",
    "//starboard/shared/stub/thread_context_get_pointer.cc",
    "//starboard/shared/stub/thread_create.cc",
    "//starboard/shared/stub/thread_create_local_key.cc",
    "//starboard/shared/stub/thread_create_priority.cc",
    "//starboard/shared/stub/thread_destroy_local_key.cc",
    "//starboard/shared/stub/thread_detach.cc",
    "//starboard/shared/stub/thread_get_current.cc",
    "//starboard/shared/stub/thread_get_id.cc",
    "//starboard/shared/stub/thread_get_local_value.cc",
    "//starboard/shared/stub/thread_get_name.cc",
    "//starboard/shared/stub/thread_is_equal.cc",
    "//starboard/shared/stub/thread_join.cc",
    "//starboard/shared/stub/thread_sampler_create.cc",
    "//starboard/shared/stub/thread_sampler_destroy.cc",
    "//starboard/shared/stub/thread_sampler_freeze.cc",
    "//starboard/shared/stub/thread_sampler_is_supported.cc",
    "//starboard/shared/stub/thread_sampler_thaw.cc",
    "//starboard/shared/stub/thread_set_local_value.cc",
    "//starboard/shared/stub/thread_set_name.cc",
    "//starboard/shared/stub/thread_sleep.cc",
    "//starboard/shared/stub/thread_yield.cc",
    "//starboard/shared/stub/time_get_monotonic_now.cc",
    "//starboard/shared/stub/time_get_monotonic_thread_now.cc",
    "//starboard/shared/stub/time_get_now.cc",
    "//starboard/shared/stub/time_is_time_thread_now_supported.cc",
    "//starboard/shared/stub/time_zone_get_current.cc",
    "//starboard/shared/stub/time_zone_get_name.cc",
    "//starboard/shared/stub/ui_nav_get_interface.cc",
    "//starboard/shared/stub/user_get_current.cc",
    "//starboard/shared/stub/user_get_property.cc",
    "//starboard/shared/stub/user_get_signed_in.cc",
    "//starboard/shared/stub/window_blur_on_screen_keyboard.cc",
    "//starboard/shared/stub/window_create.cc",
    "//starboard/shared/stub/window_destroy.cc",
    "//starboard/shared/stub/window_focus_on_screen_keyboard.cc",
    "//starboard/shared/stub/window_get_diagonal_size_in_inches.cc",
    "//starboard/shared/stub/window_get_on_screen_keyboard_bounding_rect.cc",
    "//starboard/shared/stub/window_get_platform_handle.cc",
    "//starboard/shared/stub/window_get_size.cc",
    "//starboard/shared/stub/window_hide_on_screen_keyboard.cc",
    "//starboard/shared/stub/window_is_on_screen_keyboard_shown.cc",
    "//starboard/shared/stub/window_on_screen_keyboard_is_supported.cc",
    "//starboard/shared/stub/window_on_screen_keyboard_suggestions_supported.cc",
    "//starboard/shared/stub/window_set_default_options.cc",
    "//starboard/shared/stub/window_set_on_screen_keyboard_keep_focus.cc",
    "//starboard/shared/stub/window_show_on_screen_keyboard.cc",
    "//starboard/shared/stub/window_update_on_screen_keyboard_suggestions.cc",
  ]

  public_configs = [ "//starboard/build/config:starboard_implementation" ]

  public_deps = [
    "//starboard:starboard_headers_only",
    "//starboard/common",
  ]

  if (is_internal_build) {
    deps = [ "//internal/starboard/private/shared/stub:private_sources" ]
  }
}
