# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'includes': [
    '../build/common_untrusted.gypi',
    'mojo_variables.gypi',
  ],
  'target_defaults' : {
   'include_dirs': [
     '..',
   ],
  },
  'targets': [
    {
      # GN version: //mojo/edk/system
      'target_name': 'mojo_system_impl_nacl',
      'type': 'none',
      'variables': {
        'nacl_untrusted_build': 1,
        'nlib_target': 'libmojo_system_impl_nacl.a',
        'build_glibc': 0,
        'build_newlib': 0,
        'build_irt': 1,
        'build_pnacl_newlib': 0,
        'build_nonsfi_helper': 1,
      },
      'dependencies': [
        '../base/base_nacl.gyp:base_nacl',
        '../base/base_nacl.gyp:base_nacl_nonsfi',
        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
        'mojo_public.gyp:mojo_system_headers',
      ],
      'defines': [
        'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
        'MOJO_SYSTEM_IMPLEMENTATION',
        'MOJO_USE_SYSTEM_IMPL',
      ],
      'sources': [
        'edk/embedder/configuration.h',
        'edk/embedder/embedder.cc',
        'edk/embedder/embedder.h',
        'edk/embedder/embedder_internal.h',
        'edk/embedder/entrypoints.cc',
        'edk/embedder/platform_channel_pair.cc',
        'edk/embedder/platform_channel_pair.h',
        'edk/embedder/platform_channel_pair_posix.cc',
        'edk/embedder/platform_handle.cc',
        'edk/embedder/platform_handle.h',
        'edk/embedder/platform_handle_utils.h',
        'edk/embedder/platform_handle_utils_posix.cc',
        'edk/embedder/platform_handle_vector.h',
        'edk/embedder/platform_shared_buffer.cc',
        'edk/embedder/platform_shared_buffer.h',
        'edk/embedder/scoped_platform_handle.h',
        'edk/system/awakable.h',
        'edk/system/awakable_list.cc',
        'edk/system/awakable_list.h',
        'edk/system/async_waiter.cc',
        'edk/system/async_waiter.h',
        'edk/system/atomic_flag.h',
        'edk/system/channel.cc',
        'edk/system/channel.h',
        'edk/system/configuration.cc',
        'edk/system/configuration.h',
        'edk/system/core.cc',
        'edk/system/core.h',
        'edk/system/data_pipe_consumer_dispatcher.cc',
        'edk/system/data_pipe_consumer_dispatcher.h',
        'edk/system/data_pipe_control_message.cc',
        'edk/system/data_pipe_control_message.h',
        'edk/system/data_pipe_producer_dispatcher.cc',
        'edk/system/data_pipe_producer_dispatcher.h',
        'edk/system/dispatcher.cc',
        'edk/system/dispatcher.h',
        'edk/system/handle_signals_state.h',
        'edk/system/handle_table.cc',
        'edk/system/handle_table.h',
        'edk/system/mapping_table.cc',
        'edk/system/mapping_table.h',
        'edk/system/message_for_transit.cc',
        'edk/system/message_for_transit.h',
        'edk/system/message_pipe_dispatcher.cc',
        'edk/system/message_pipe_dispatcher.h',
        'edk/system/node_channel.cc',
        'edk/system/node_channel.h',
        'edk/system/node_controller.cc',
        'edk/system/node_controller.h',
        'edk/system/options_validation.h',
        'edk/system/platform_handle_dispatcher.cc',
        'edk/system/platform_handle_dispatcher.h',
        'edk/system/ports/event.cc',
        'edk/system/ports/event.h',
        'edk/system/ports/message.cc',
        'edk/system/ports/message.h',
        'edk/system/ports/message_queue.cc',
        'edk/system/ports/message_queue.h',
        'edk/system/ports/name.cc',
        'edk/system/ports/name.h',
        'edk/system/ports/node.cc',
        'edk/system/ports/node.h',
        'edk/system/ports/node_delegate.h',
        'edk/system/ports/port.cc',
        'edk/system/ports/port.h',
        'edk/system/ports/port_ref.cc',
        'edk/system/ports/user_data.h',
        'edk/system/ports_message.cc',
        'edk/system/ports_message.h',
        'edk/system/request_context.cc',
        'edk/system/request_context.h',
        'edk/system/shared_buffer_dispatcher.cc',
        'edk/system/shared_buffer_dispatcher.h',
        'edk/system/wait_set_dispatcher.cc',
        'edk/system/wait_set_dispatcher.h',
        'edk/system/waiter.cc',
        'edk/system/waiter.h',
        'edk/system/watcher.cc',
        'edk/system/watcher.h',
        'edk/system/watcher_set.cc',
        'edk/system/watcher_set.h',
        # Test-only code:
        # TODO(vtl): It's a little unfortunate that these end up in the same
        # component as non-test-only code. In the static build, this code
        # should hopefully be dead-stripped.
        'edk/embedder/test_embedder.cc',
        'edk/embedder/test_embedder.h',
      ],
      'all_dependent_settings': {
        # Ensures that dependent projects import the core functions on Windows.
        'defines': ['MOJO_USE_SYSTEM_IMPL'],
      },
    },
  ],
}
