# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# This file contains some C++ sources for the dart:io library.  The other
# implementation files are in builtin_impl_sources.gypi.
{
  'sources': [
    'crypto.cc',
    'crypto_android.cc',
    'crypto_linux.cc',
    'crypto_macos.cc',
    'crypto_win.cc',
    'eventhandler.cc',
    'eventhandler.h',
    'eventhandler_android.cc',
    'eventhandler_linux.cc',
    'eventhandler_linux.h',
    'eventhandler_macos.cc',
    'eventhandler_macos.h',
    'eventhandler_win.cc',
    'eventhandler_win.h',
    'filter.cc',
    'filter.h',
    'filter_unsupported.cc',
    'io_service.cc',
    'io_service.h',
    'io_service_unsupported.cc',
    'net/nss_memio.cc',
    'net/nss_memio.h',
    'platform.cc',
    'platform.h',
    'platform_android.cc',
    'platform_linux.cc',
    'platform_macos.cc',
    'platform_win.cc',
    'process.cc',
    'process.h',
    'process_android.cc',
    'process_linux.cc',
    'process_macos.cc',
    'process_win.cc',
    'secure_socket.cc',
    'secure_socket.h',
    'secure_socket_unsupported.cc',
    'socket.cc',
    'socket.h',
    'socket_android.cc',
    'socket_linux.cc',
    'socket_macos.cc',
    'socket_win.cc',
    'stdin.cc',
    'stdin.h',
    'stdin_android.cc',
    'stdin_linux.cc',
    'stdin_macos.cc',
    'stdin_win.cc',
  ],
  'conditions': [
    ['dart_io_support==1', {
      'sources!' : [
        'filter_unsupported.cc',
        'secure_socket_unsupported.cc',
        'io_service_unsupported.cc',
      ],
    },{  # else dart_io_support == 0
      'sources!' : [
        'filter.cc',
        'filter.h',
        'io_service.cc',
        'io_service.h',
        'net/nss_memio.cc',
        'net/nss_memio.h',
        'secure_socket.cc',
        'secure_socket.h',
      ],
    }],
  ],
}
