# Copyright (c) 2009 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. { 'target_defaults': { 'variables': { 'nacl_target': 0, }, 'target_conditions': [ # This part is shared between the targets defined below. Only files and # settings relevant for building the Win64 target should be added here. ['nacl_target==1', { 'include_dirs': [ '<(INTERMEDIATE_DIR)', ], 'defines': [ 'NACL_BLOCK_SHIFT=5', 'NACL_BLOCK_SIZE=32', '<@(nacl_defines)', ], 'sources': [ # .cc, .h, and .mm files under nacl that are used on all # platforms, including both 32-bit and 64-bit Windows. # Test files are also not included. 'nacl/nacl_main.cc', 'nacl/nacl_main_platform_delegate.h', 'nacl/nacl_main_platform_delegate_linux.cc', 'nacl/nacl_main_platform_delegate_mac.mm', 'nacl/nacl_main_platform_delegate_win.cc', 'nacl/nacl_thread.cc', 'nacl/nacl_thread.h', ], # TODO(gregoryd): consider switching NaCl to use Chrome OS defines 'conditions': [ ['OS=="win"', { 'defines': [ '__STDC_LIMIT_MACROS=1', ], 'include_dirs': [ '<(DEPTH)/third_party/wtl/include', ], },], ['OS=="linux"', { 'defines': [ '__STDC_LIMIT_MACROS=1', ], },], ], }], ], }, 'targets': [ { 'target_name': 'nacl', # The TLS (Thread Local Storage) access used by NaCl on x86-64 # on Linux/ELF can't be linked into a shared library, so we # can't use '<(library)' here. See http://crbug.com/35829. 'type': 'static_library', 'msvs_guid': '83E86DAF-5763-4711-AD34-5FDAE395560C', 'variables': { 'nacl_target': 1, }, 'dependencies': [ # TODO(gregoryd): chrome_resources and chrome_strings could be # shared with the 64-bit target, but it does not work due to a gyp #issue 'chrome_resources', 'chrome_strings', 'common', '../third_party/npapi/npapi.gyp:npapi', '../webkit/support/webkit_support.gyp:glue', '../native_client/src/trusted/plugin/plugin.gyp:npGoogleNaClPluginChrome', '../native_client/src/trusted/service_runtime/service_runtime.gyp:sel', '../native_client/src/trusted/validator_x86/validator_x86.gyp:ncvalidate', '../native_client/src/trusted/platform_qualify/platform_qualify.gyp:platform_qual_lib', ], 'direct_dependent_settings': { 'defines': [ 'NACL_BLOCK_SHIFT=5', 'NACL_BLOCK_SIZE=32', '<@(nacl_defines)', ], }, }, ], 'conditions': [ ['OS=="win"', { 'targets': [ { 'target_name': 'nacl_win64', 'type': '<(library)', 'msvs_guid': '14135464-9FB9-42E3-99D8-791116FA1204', 'variables': { 'nacl_target': 1, }, 'dependencies': [ # TODO(gregoryd): chrome_resources and chrome_strings could be # shared with the 32-bit target, but it does not work due to a gyp #issue 'chrome_resources', 'chrome_strings', 'common_nacl_win64', '../native_client/src/trusted/plugin/plugin.gyp:npGoogleNaClPluginChrome64', '../native_client/src/trusted/service_runtime/service_runtime.gyp:sel64', '../native_client/src/trusted/platform_qualify/platform_qualify.gyp:platform_qual_lib64', ], 'sources': [ 'nacl/broker_thread.cc', 'nacl/broker_thread.h', ], 'defines': [ '<@(nacl_win64_defines)', ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', }, }, 'direct_dependent_settings': { 'defines': [ 'NACL_BLOCK_SHIFT=5', 'NACL_BLOCK_SIZE=32', '<@(nacl_defines)', ], }, }, ], }], ], }