blob: d5466386345da3cd2d50002b6bd5c7d5401f2fa3 [file] [log] [blame]
# 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.
{
'variables': {
'gen_source_dir': '<(SHARED_INTERMEDIATE_DIR)',
'io_cc_file': '<(gen_source_dir)/io_gen.cc',
'io_patch_cc_file': '<(gen_source_dir)/io_patch_gen.cc',
'html_cc_file': '<(gen_source_dir)/html_gen.cc',
'html_common_cc_file': '<(gen_source_dir)/html_common_gen.cc',
'js_cc_file': '<(gen_source_dir)/js_gen.cc',
'js_util_cc_file': '<(gen_source_dir)/js_util_gen.cc',
'blink_cc_file': '<(gen_source_dir)/blink_gen.cc',
'indexeddb_cc_file': '<(gen_source_dir)/indexeddb_gen.cc',
'cached_patches_cc_file': '<(gen_source_dir)/cached_patches_gen.cc',
'web_gl_cc_file': '<(gen_source_dir)/web_gl_gen.cc',
'metadata_cc_file': '<(gen_source_dir)/metadata_gen.cc',
'websql_cc_file': '<(gen_source_dir)/websql_gen.cc',
'svg_cc_file': '<(gen_source_dir)/svg_gen.cc',
'webaudio_cc_file': '<(gen_source_dir)/webaudio_gen.cc',
'builtin_in_cc_file': 'builtin_in.cc',
'builtin_cc_file': '<(gen_source_dir)/builtin_gen.cc',
'snapshot_in_cc_file': 'snapshot_in.cc',
'vm_isolate_snapshot_bin_file': '<(gen_source_dir)/vm_isolate_snapshot_gen.bin',
'isolate_snapshot_bin_file': '<(gen_source_dir)/isolate_snapshot_gen.bin',
'gen_snapshot_stamp_file': '<(gen_source_dir)/gen_snapshot.stamp',
'resources_cc_file': '<(gen_source_dir)/resources_gen.cc',
'snapshot_cc_file': '<(gen_source_dir)/snapshot_gen.cc',
'observatory_assets_cc_file': '<(gen_source_dir)/observatory_assets.cc',
'observatory_assets_tar_file': '<(gen_source_dir)/observatory_assets.tar',
},
'targets': [
{
'target_name': 'generate_builtin_cc_file',
'type': 'none',
'toolsets':['host'],
'includes': [
'builtin_sources.gypi',
],
'actions': [
{
'action_name': 'generate_builtin_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(builtin_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(builtin_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::_builtin_source_paths_',
'--library_name', 'dart:_builtin',
'<@(_sources)',
],
'message': 'Generating ''<(builtin_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_io_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/io/io.dart',
],
'includes': [
'../../sdk/lib/io/io_sources.gypi',
],
'actions': [
{
'action_name': 'generate_io_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(io_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(io_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::io_source_paths_',
'--library_name', 'dart:io',
'<@(_sources)',
],
'message': 'Generating ''<(io_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_io_patch_cc_file',
'type': 'none',
'toolsets':['host'],
'includes': [
'io_sources.gypi',
],
'actions': [
{
'action_name': 'generate_io_patch_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(io_patch_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(io_patch_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::io_patch_paths_',
'--library_name', 'dart:io',
'<@(_sources)',
],
'message': 'Generating ''<(io_patch_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_html_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/html/dartium/html_dartium.dart',
],
'actions': [
{
'action_name': 'generate_html_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(html_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(html_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::html_source_paths_',
'--library_name', 'dart:html',
'<@(_sources)',
],
'message': 'Generating ''<(html_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_html_common_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/html/html_common/html_common.dart',
'../../sdk/lib/html/html_common/css_class_set.dart',
'../../sdk/lib/html/html_common/device.dart',
'../../sdk/lib/html/html_common/filtered_element_list.dart',
'../../sdk/lib/html/html_common/lists.dart',
'../../sdk/lib/html/html_common/conversions.dart',
'../../sdk/lib/html/html_common/conversions_dartium.dart',
],
'actions': [
{
'action_name': 'generate_html_common_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(html_common_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(html_common_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::html_common_source_paths_',
'--library_name', 'dart:html_common',
'<@(_sources)',
],
'message': 'Generating ''<(html_common_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_js_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/js/dartium/js_dartium.dart',
],
'actions': [
{
'action_name': 'generate_js_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(js_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(js_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::js_source_paths_',
'--library_name', 'dart:js',
'<@(_sources)',
],
'message': 'Generating ''<(js_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_js_util_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/js_util/dartium/js_util_dartium.dart',
],
'actions': [
{
'action_name': 'generate_js_util_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(js_util_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(js_util_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::js_util_source_paths_',
'--library_name', 'dart:js_util',
'<@(_sources)',
],
'message': 'Generating ''<(js_util_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_blink_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/_blink/dartium/_blink_dartium.dart',
],
'actions': [
{
'action_name': 'generate_blink_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(blink_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(blink_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::_blink_source_paths_',
'--library_name', 'dart:_blink',
'<@(_sources)',
],
'message': 'Generating ''<(blink_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_indexeddb_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/indexed_db/dartium/indexed_db_dartium.dart',
],
'actions': [
{
'action_name': 'generate_indexeddb_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(indexeddb_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(indexeddb_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::indexed_db_source_paths_',
'--library_name', 'dart:indexed_db',
'<@(_sources)',
],
'message': 'Generating ''<(indexeddb_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_cached_patches_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/js/dartium/cached_patches.dart',
],
'actions': [
{
'action_name': 'generate_cached_patches_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(cached_patches_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(cached_patches_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::cached_patches_source_paths_',
'--library_name', 'cached_patches.dart',
'<@(_sources)',
],
'message': 'Generating ''<(cached_patches_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_web_gl_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/web_gl/dartium/web_gl_dartium.dart',
],
'actions': [
{
'action_name': 'generate_web_gl_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(web_gl_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(web_gl_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::web_gl_source_paths_',
'--library_name', 'dart:web_gl',
'<@(_sources)',
],
'message': 'Generating ''<(web_gl_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_metadata_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/html/html_common/metadata.dart',
],
'actions': [
{
'action_name': 'generate_metadata_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(metadata_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(metadata_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::metadata_source_paths_',
'--library_name', 'metadata.dart',
'<@(_sources)',
],
'message': 'Generating ''<(metadata_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_websql_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/web_sql/dartium/web_sql_dartium.dart',
],
'actions': [
{
'action_name': 'generate_websql_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(websql_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(websql_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::web_sql_source_paths_',
'--library_name', 'dart:web_sql',
'<@(_sources)',
],
'message': 'Generating ''<(websql_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_svg_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/svg/dartium/svg_dartium.dart',
],
'actions': [
{
'action_name': 'generate_svg_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(svg_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(svg_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::svg_source_paths_',
'--library_name', 'dart:svg',
'<@(_sources)',
],
'message': 'Generating ''<(svg_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_webaudio_cc_file',
'type': 'none',
'toolsets':['host'],
'sources': [
'../../sdk/lib/web_audio/dartium/web_audio_dartium.dart',
],
'actions': [
{
'action_name': 'generate_webaudio_cc',
'inputs': [
'../tools/gen_library_src_paths.py',
'<(builtin_in_cc_file)',
'<@(_sources)',
],
'outputs': [
'<(webaudio_cc_file)',
],
'action': [
'python',
'tools/gen_library_src_paths.py',
'--output', '<(webaudio_cc_file)',
'--input_cc', '<(builtin_in_cc_file)',
'--include', 'bin/builtin.h',
'--var_name', 'dart::bin::Builtin::web_audio_source_paths_',
'--library_name', 'dart:web_audio',
'<@(_sources)',
],
'message': 'Generating ''<(webaudio_cc_file)'' file.'
},
]
},
{
'target_name': 'libdart_builtin',
'type': 'static_library',
'toolsets':['target','host'],
'dependencies': [
'generate_builtin_cc_file#host',
'generate_io_cc_file#host',
'generate_io_patch_cc_file#host',
'generate_html_cc_file#host',
'generate_html_common_cc_file#host',
'generate_js_cc_file#host',
'generate_js_util_cc_file#host',
'generate_blink_cc_file#host',
'generate_indexeddb_cc_file#host',
'generate_cached_patches_cc_file#host',
'generate_web_gl_cc_file#host',
'generate_metadata_cc_file#host',
'generate_websql_cc_file#host',
'generate_svg_cc_file#host',
'generate_webaudio_cc_file#host',
],
'include_dirs': [
'..',
],
'sources': [
'log_android.cc',
'log_linux.cc',
'log_macos.cc',
'log_win.cc',
],
'includes': [
'builtin_impl_sources.gypi',
'../platform/platform_sources.gypi',
],
'sources/': [
['exclude', '_test\\.(cc|h)$'],
],
'conditions': [
['dart_io_support==0', {
'defines': [
'DART_IO_DISABLED',
],
}],
['OS=="win"', {
'sources/' : [
['exclude', 'fdutils.h'],
],
# TODO(antonm): fix the implementation.
# Current implementation accepts char* strings
# and therefore fails to compile once _UNICODE is
# enabled. That should be addressed using -A
# versions of functions and adding necessary conversions.
'configurations': {
'Common_Base': {
'msvs_configuration_attributes': {
'CharacterSet': '0',
},
},
},
}],
['OS=="linux"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
['OS=="android"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
],
},
# This is the same as libdart_builtin, but the io support libraries are
# never disabled, even when dart_io_support==0. This is so that it can
# still be usefully linked into gen_snapshot.
{
'target_name': 'libdart_builtin_no_disable',
'type': 'static_library',
'toolsets':['host'],
'dependencies': [
'generate_builtin_cc_file#host',
'generate_io_cc_file#host',
'generate_io_patch_cc_file#host',
],
'include_dirs': [
'..',
],
'sources': [
'log_android.cc',
'log_linux.cc',
'log_macos.cc',
'log_win.cc',
],
'includes': [
'builtin_impl_sources.gypi',
'../platform/platform_sources.gypi',
],
'sources/': [
['exclude', '_test\\.(cc|h)$'],
],
'conditions': [
['OS=="win"', {
'sources/' : [
['exclude', 'fdutils.h'],
],
# TODO(antonm): fix the implementation.
# Current implementation accepts char* strings
# and therefore fails to compile once _UNICODE is
# enabled. That should be addressed using -A
# versions of functions and adding necessary conversions.
'configurations': {
'Common_Base': {
'msvs_configuration_attributes': {
'CharacterSet': '0',
},
},
},
}],
['OS=="linux"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
['OS=="android"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
],
},
# This is a combination of libdart_io, libdart_builtin, and vmservice bits.
# The dart_io is built without support for secure sockets.
{
'target_name': 'libvmservice_io',
'type': 'static_library',
'toolsets': ['host', 'target'],
'include_dirs': [
'..',
'../../third_party',
'../include',
],
'includes': [
'io_impl_sources.gypi',
'builtin_impl_sources.gypi',
],
'dependencies': [
'generate_builtin_cc_file#host',
'generate_io_cc_file#host',
'generate_io_patch_cc_file#host',
'generate_snapshot_file#host',
'generate_resources_cc_file#host',
'generate_observatory_assets_cc_file#host',
],
'sources': [
'builtin_common.cc',
'builtin_natives.cc',
'builtin_nolib.cc',
'builtin.h',
'dartutils.cc',
'dartutils.h',
'io_natives.cc',
'io_natives.h',
'log_android.cc',
'log_linux.cc',
'log_macos.cc',
'log_win.cc',
'vmservice_dartium.h',
'vmservice_dartium.cc',
'vmservice_impl.cc',
'vmservice_impl.h',
'<(resources_cc_file)',
'<(observatory_assets_cc_file)',
],
'sources/': [
['exclude', '_test\\.(cc|h)$'],
],
'conditions': [
['OS != "mac" and dart_io_support==1 and dart_io_secure_socket==1', {
'dependencies': [
'../third_party/boringssl/boringssl_dart.gyp:boringssl',
],
}],
['dart_io_secure_socket==0 or dart_io_support==0', {
'defines': [
'DART_IO_SECURE_SOCKET_DISABLED'
],
}, {
'sources': [
'../../third_party/root_certificates/root_certificates.cc',
],
}],
['OS=="win"', {
'sources/' : [
['exclude', 'fdutils.h'],
],
# TODO(antonm): fix the implementation.
# Current implementation accepts char* strings
# and therefore fails to compile once _UNICODE is
# enabled. That should be addressed using -A
# versions of functions and adding necessary conversions.
'configurations': {
'Common_Base': {
'msvs_configuration_attributes': {
'CharacterSet': '0',
},
},
},
'link_settings': {
'libraries': [ '-liphlpapi.lib', '-lws2_32.lib', '-lRpcrt4.lib' ],
},
}],
['OS=="mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreServices.framework',
'$(SDKROOT)/System/Library/Frameworks/Security.framework',
],
},
}],
['OS=="linux"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
['OS=="android"', {
'link_settings': {
'libraries': [
'-ldl',
],
},
}],
],
},
{
'target_name': 'libdart_io',
'type': 'static_library',
'toolsets': ['host', 'target'],
'include_dirs': [
'..',
'../../third_party',
],
'includes': [
'io_impl_sources.gypi',
],
'sources': [
'io_natives.h',
'io_natives.cc',
],
'conditions': [
['dart_io_support==1', {
'dependencies': [
'bin/zlib.gyp:zlib_dart',
],
}, { # dart_io_support == 0
'defines': [
'DART_IO_DISABLED',
'DART_IO_SECURE_SOCKET_DISABLED',
],
}],
['dart_io_secure_socket==0', {
'defines': [
'DART_IO_SECURE_SOCKET_DISABLED'
],
}, {
'sources': [
'../../third_party/root_certificates/root_certificates.cc',
],
}],
['OS != "mac" and dart_io_support==1 and dart_io_secure_socket==1', {
'dependencies': [
'../third_party/boringssl/boringssl_dart.gyp:boringssl',
],
}],
['OS=="win"', {
'link_settings': {
'libraries': [ '-liphlpapi.lib' ],
},
# TODO(antonm): fix the implementation.
# Current implementation accepts char* strings
# and therefore fails to compile once _UNICODE is
# enabled. That should be addressed using -A
# versions of functions and adding necessary conversions.
'configurations': {
'Common_Base': {
'msvs_configuration_attributes': {
'CharacterSet': '0',
},
},
},
}],
['OS=="mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreServices.framework',
'$(SDKROOT)/System/Library/Frameworks/Security.framework',
],
},
}],
],
},
# This is the same as libdart_io, but the io support libraries are
# never disabled, even when dart_io_support==0. This is so that it can
# still be usefully linked into gen_snapshot.
{
'target_name': 'libdart_io_no_disable',
'type': 'static_library',
'toolsets': ['host'],
'include_dirs': [
'..',
'../../third_party',
],
'includes': [
'io_impl_sources.gypi',
],
'sources': [
'io_natives.h',
'io_natives.cc',
],
'dependencies': [
'bin/zlib.gyp:zlib_dart',
],
'conditions': [
['dart_io_support==0 or dart_io_secure_socket==0', {
'defines': [
'DART_IO_SECURE_SOCKET_DISABLED',
],
}, {
'sources': [
'../../third_party/root_certificates/root_certificates.cc',
],
}],
['OS != "mac" and dart_io_support==1 and dart_io_secure_socket==1', {
'dependencies': [
'../third_party/boringssl/boringssl_dart.gyp:boringssl',
],
}],
['OS=="win"', {
'link_settings': {
'libraries': [ '-liphlpapi.lib' ],
},
# TODO(antonm): fix the implementation.
# Current implementation accepts char* strings
# and therefore fails to compile once _UNICODE is
# enabled. That should be addressed using -A
# versions of functions and adding necessary conversions.
'configurations': {
'Common_Base': {
'msvs_configuration_attributes': {
'CharacterSet': '0',
},
},
},
}],
['OS=="mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreServices.framework',
'$(SDKROOT)/System/Library/Frameworks/Security.framework',
],
},
}],
],
},
{
'target_name': 'libdart_nosnapshot',
'type': 'static_library',
'toolsets':['target','host'],
'dependencies': [
'libdart_lib_nosnapshot',
'libdart_vm_nosnapshot',
'libdouble_conversion',
'generate_version_cc_file#host',
],
'include_dirs': [
'..',
],
'sources': [
'../include/dart_api.h',
'../include/dart_mirrors_api.h',
'../include/dart_native_api.h',
'../include/dart_tools_api.h',
'../vm/dart_api_impl.cc',
'../vm/debugger_api_impl.cc',
'../vm/mirrors_api_impl.cc',
'../vm/native_api_impl.cc',
'<(version_cc_file)',
],
'defines': [
'DART_SHARED_LIB',
'DART_NO_SNAPSHOT',
'DART_PRECOMPILER',
],
},
{
# Completely statically linked binary for generating snapshots.
'target_name': 'gen_snapshot',
'type': 'executable',
'toolsets':['host'],
'dependencies': [
'generate_resources_cc_file#host',
'generate_observatory_assets_cc_file#host',
'libdart_nosnapshot#host',
# If io is disabled for the VM, we still need it for gen snapshot, so
# use libdart_builtin and libdart_io that still have io enabled.
'libdart_builtin_no_disable#host',
'libdart_io_no_disable#host',
],
'include_dirs': [
'..',
],
'sources': [
'address_sanitizer.cc',
'gen_snapshot.cc',
# Very limited native resolver provided.
'builtin_gen_snapshot.cc',
'builtin_common.cc',
'builtin.cc',
'builtin.h',
'platform_android.cc',
'platform_linux.cc',
'platform_macos.cc',
'platform_win.cc',
'platform.h',
'vmservice_impl.cc',
'vmservice_impl.h',
# Include generated source files.
'<(builtin_cc_file)',
'<(io_cc_file)',
'<(io_patch_cc_file)',
'<(resources_cc_file)',
],
'defines': [
'PLATFORM_DISABLE_SOCKET',
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib' ],
},
}],
],
},
{
# Generate snapshot bin file.
'target_name': 'generate_snapshot_bin',
'type': 'none',
'toolsets':['host'],
'dependencies': [
'gen_snapshot#host',
],
'actions': [
{
'action_name': 'generate_snapshot_bin',
'inputs': [
'../tools/create_snapshot_bin.py',
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen_snapshot<(EXECUTABLE_SUFFIX)',
],
'outputs': [
'<(gen_snapshot_stamp_file)',
],
'action': [
'python',
'tools/create_snapshot_bin.py',
'--executable',
'<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen_snapshot<(EXECUTABLE_SUFFIX)',
'--vm_output_bin', '<(vm_isolate_snapshot_bin_file)',
'--output_bin', '<(isolate_snapshot_bin_file)',
'--target_os', '<(OS)',
'--timestamp_file', '<(gen_snapshot_stamp_file)',
],
'message': 'Generating ''<(vm_isolate_snapshot_bin_file)'' ''<(isolate_snapshot_bin_file)'' files.'
},
],
},
{
# Generate snapshot file.
'target_name': 'generate_snapshot_file',
'type': 'none',
'toolsets':['host'],
'dependencies': [
'generate_snapshot_bin#host',
],
'actions': [
{
'action_name': 'generate_snapshot_file',
'inputs': [
'../tools/create_snapshot_file.py',
'<(gen_snapshot_stamp_file)',
'<(snapshot_in_cc_file)',
],
'outputs': [
'<(snapshot_cc_file)',
],
'action': [
'python',
'tools/create_snapshot_file.py',
'--vm_input_bin', '<(vm_isolate_snapshot_bin_file)',
'--input_bin', '<(isolate_snapshot_bin_file)',
'--input_cc', '<(snapshot_in_cc_file)',
'--output', '<(snapshot_cc_file)',
],
'message': 'Generating ''<(snapshot_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_observatory_assets_cc_file',
'type': 'none',
'toolsets':['host'],
'dependencies': [
'build_observatory#host',
],
'actions': [
{
'action_name': 'generate_observatory_assets_cc_file',
'inputs': [
'../tools/create_archive.py',
'<(PRODUCT_DIR)/observatory/deployed/web/index.html'
],
'outputs': [
'<(observatory_assets_cc_file)',
],
'action': [
'python',
'tools/create_archive.py',
'--output', '<(observatory_assets_cc_file)',
'--tar_output', '<(observatory_assets_tar_file)',
'--outer_namespace', 'dart',
'--inner_namespace', 'bin',
'--name', 'observatory_assets_archive',
'--compress',
'--client_root', '<(PRODUCT_DIR)/observatory/deployed/web/',
],
'message': 'Generating ''<(observatory_assets_cc_file)'' file.'
},
]
},
{
'target_name': 'generate_resources_cc_file',
'type': 'none',
'toolsets':['host'],
'includes': [
'vmservice/vmservice_sources.gypi',
],
'actions': [
{
'action_name': 'generate_resources_cc',
'inputs': [
'../tools/create_resources.py',
'<@(_sources)',
],
'outputs': [
'<(resources_cc_file)',
],
'action': [
'python',
'tools/create_resources.py',
'--output', '<(resources_cc_file)',
'--outer_namespace', 'dart',
'--inner_namespace', 'bin',
'--table_name', 'service_bin',
'--root_prefix', 'bin/',
'<@(_sources)'
],
'message': 'Generating ''<(resources_cc_file)'' file.'
},
]
},
{
# dart binary with a snapshot of corelibs built in.
'target_name': 'dart',
'type': 'executable',
'dependencies': [
'bin/zlib.gyp:zlib_dart',
'build_observatory#host',
'generate_observatory_assets_cc_file#host',
'generate_resources_cc_file#host',
'generate_snapshot_file#host',
'libdart',
'libdart_builtin',
'libdart_io',
],
'include_dirs': [
'..',
'../../third_party/', # Zlib
],
'sources': [
'main.cc',
'builtin.h',
'builtin_common.cc',
'builtin_natives.cc',
'builtin_nolib.cc',
'io_natives.h',
'vmservice_impl.cc',
'vmservice_impl.h',
'<(observatory_assets_cc_file)',
'<(resources_cc_file)',
'<(snapshot_cc_file)',
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib', '-lwinmm.lib' ],
},
# Generate an import library on Windows, by exporting a function.
# Extensions use this import library to link to the API in dart.exe.
'msvs_settings': {
'VCLinkerTool': {
'AdditionalOptions': [ '/EXPORT:Dart_True' ],
},
},
}],
['OS == "linux" and asan == 0 and msan == 0 and tsan == 0', {
'dependencies': [
'../third_party/tcmalloc/tcmalloc.gypi:tcmalloc',
],
'defines': [
'DART_USE_TCMALLOC'
],
}],
],
'configurations': {
'Dart_Linux_Base': {
# Have the linker add all symbols to the dynamic symbol table
# so that extensions can look them up dynamically in the binary.
'ldflags': [
'-rdynamic',
],
},
},
},
{
# dart binary for running precompiled snapshots without the compiler.
'target_name': 'dart_precompiled_runtime',
'type': 'executable',
'dependencies': [
'bin/zlib.gyp:zlib_dart',
'build_observatory#host',
'generate_observatory_assets_cc_file#host',
'generate_resources_cc_file#host',
'libdart_builtin',
'libdart_io',
'libdart_precompiled_runtime',
],
'include_dirs': [
'..',
'../../third_party/', # Zlib
],
'sources': [
'main.cc',
'builtin.h',
'builtin_common.cc',
'builtin_natives.cc',
'builtin_nolib.cc',
'io_natives.h',
'snapshot_empty.cc',
'vmservice_impl.cc',
'vmservice_impl.h',
'<(observatory_assets_cc_file)',
'<(resources_cc_file)',
],
'defines': [
'DART_PRECOMPILED_RUNTIME',
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib', '-lwinmm.lib' ],
},
# Generate an import library on Windows, by exporting a function.
# Extensions use this import library to link to the API in dart.exe.
'msvs_settings': {
'VCLinkerTool': {
'AdditionalOptions': [ '/EXPORT:Dart_True' ],
},
},
}],
],
},
{
# dart binary built for the host. It does not use a snapshot
# and does not include Observatory.
'target_name': 'dart_bootstrap',
'type': 'executable',
'toolsets':['host'],
'dependencies': [
'generate_resources_cc_file#host',
'libdart_builtin',
'libdart_io',
'libdart_nosnapshot',
],
'include_dirs': [
'..',
],
'sources': [
'main.cc',
'builtin.cc',
'builtin.h',
'builtin_common.cc',
'builtin_natives.cc',
'io_natives.h',
'observatory_assets_empty.cc',
'snapshot_empty.cc',
'vmservice_impl.cc',
'vmservice_impl.h',
# Include generated source files.
'<(builtin_cc_file)',
'<(io_cc_file)',
'<(io_patch_cc_file)',
'<(html_cc_file)',
'<(html_common_cc_file)',
'<(js_cc_file)',
'<(js_util_cc_file)',
'<(blink_cc_file)',
'<(indexeddb_cc_file)',
'<(cached_patches_cc_file)',
'<(web_gl_cc_file)',
'<(metadata_cc_file)',
'<(websql_cc_file)',
'<(svg_cc_file)',
'<(webaudio_cc_file)',
'<(resources_cc_file)',
],
'defines': [
'DART_NO_SNAPSHOT',
'DART_PRECOMPILER',
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib', '-lwinmm.lib' ],
},
# Generate an import library on Windows, by exporting a function.
# Extensions use this import library to link to the API in dart.exe.
'msvs_settings': {
'VCLinkerTool': {
'AdditionalOptions': [ '/EXPORT:Dart_True' ],
},
},
}],
],
'configurations': {
'Dart_Linux_Base': {
# Have the linker add all symbols to the dynamic symbol table
# so that extensions can look them up dynamically in the binary.
'ldflags': [
'-rdynamic',
],
},
},
},
{
'target_name': 'process_test',
'type': 'executable',
'sources': [
'process_test.cc',
]
},
{
'target_name': 'run_vm_tests',
'type': 'executable',
'dependencies': [
'libdart',
'libdart_builtin',
'libdart_io',
'generate_snapshot_file#host',
'generate_snapshot_test_dat_file#host',
],
'include_dirs': [
'..',
'<(gen_source_dir)',
],
'sources': [
'run_vm_tests.cc',
'builtin_common.cc',
'builtin_natives.cc',
'builtin_nolib.cc',
'builtin.h',
'io_natives.h',
# Include generated source files.
'<(snapshot_cc_file)',
'<(builtin_cc_file)',
'<(io_cc_file)',
'<(io_patch_cc_file)',
],
'includes': [
'builtin_impl_sources.gypi',
'../platform/platform_sources.gypi',
'../vm/vm_sources.gypi',
],
'defines': [
'TESTING',
],
# Only include _test.[cc|h] files.
'sources/': [
['exclude', '\\.(cc|h)$'],
['include', 'run_vm_tests.cc'],
['include', 'builtin_nolib.cc'],
['include', 'builtin_natives.cc'],
['include', '_gen\\.cc$'],
['include', '_test\\.(cc|h)$'],
],
'conditions': [
['OS=="win"', {
'link_settings': {
'libraries': [ '-lws2_32.lib', '-lRpcrt4.lib', '-lwinmm.lib' ],
},
}],
['OS == "linux" and asan == 0 and msan == 0 and tsan == 0', {
'dependencies': [
'../third_party/tcmalloc/tcmalloc.gypi:tcmalloc',
],
'defines': [
'DART_USE_TCMALLOC'
],
}],
],
'configurations': {
'Dart_Linux_Base': {
# Have the linker add all symbols to the dynamic symbol table
# so that extensions can look them up dynamically in the binary.
'ldflags': [
'-rdynamic',
],
},
},
},
{
'target_name': 'test_extension',
'type': 'shared_library',
'dependencies': [
'dart',
],
'include_dirs': [
'..',
],
'cflags!': [
'-Wnon-virtual-dtor',
'-Woverloaded-virtual',
'-fno-rtti',
'-fvisibility-inlines-hidden',
'-Wno-conversion-null',
],
'sources': [
'test_extension.c',
'test_extension_dllmain_win.cc',
],
'defines': [
# The only effect of DART_SHARED_LIB is to export the Dart API.
'DART_SHARED_LIB',
],
'conditions': [
['OS=="win"', {
'msvs_settings': {
'VCLinkerTool': {
'AdditionalDependencies': [ 'dart.lib' ],
'AdditionalLibraryDirectories': [ '<(PRODUCT_DIR)' ],
},
},
}],
['OS=="mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [ '-undefined', 'dynamic_lookup' ],
},
}],
['OS=="linux"', {
'cflags': [
'-fPIC',
],
}],
],
},
],
}