diff options
author | gregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 20:30:46 +0000 |
---|---|---|
committer | gregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 20:30:46 +0000 |
commit | dd36368e83b0a988294e0f80e73d910dae00adfd (patch) | |
tree | 25a5492827da91b861d4377e93297472dfd1fd4a /chrome/nacl.gypi | |
parent | 1aa74be036b0319e55a2668f30f74cdfe8b4c8b7 (diff) | |
download | chromium_src-dd36368e83b0a988294e0f80e73d910dae00adfd.zip chromium_src-dd36368e83b0a988294e0f80e73d910dae00adfd.tar.gz chromium_src-dd36368e83b0a988294e0f80e73d910dae00adfd.tar.bz2 |
Split more targets from chrome.gyp to add support for building Native Client for 64-bit Windows.
This CL is required for supporting Native Client on 64-bit Windows. On Win64 we will use a 64-bit executable to load NaCl modules. Since we have only one version of Chrome on Windows, this executable has to be built together with 32-bit Chrome binaries.
For the targets that are required for both 32-bit and 64-bit builds, this CL moves the shared parts of the target definitions into target-specific gypi files (such as base.gypi). New 64-bit only targets are added. Since we would like to port as few code as possible at this point, some 64-bit targets include less source files or less dependencies than the original 32-bit targets. These targets will have nacl_win64 in their name - to emphasize that they should be used for NaCl only. Some 64-bit targets are identical to the 32-bit targets in everything except for the target platform - these will have only win64 in their name.
TEST=none
BUG=28176
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35237
Review URL: http://codereview.chromium.org/384068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35305 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/nacl.gypi')
-rw-r--r-- | chrome/nacl.gypi | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/chrome/nacl.gypi b/chrome/nacl.gypi new file mode 100644 index 0000000..696b60d --- /dev/null +++ b/chrome/nacl.gypi @@ -0,0 +1,101 @@ +# 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_thread.cc', + 'nacl/nacl_thread.h', + 'nacl/sel_main.cc', + ], + # TODO(gregoryd): consider switching NaCl to use Chrome OS defines + 'conditions': [ + ['OS=="win"', { + 'defines': [ + '__STD_C', + '_CRT_SECURE_NO_DEPRECATE', + '_SCL_SECURE_NO_DEPRECATE', + ], + 'include_dirs': [ + 'third_party/wtl/include', + ], + },], + ], + }], + ], + }, + 'targets': [ + { + 'target_name': 'nacl', + 'type': '<(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/webkit.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', + ], + }, + ], + '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', + ], + 'defines': [ + '<@(nacl_win64_defines)', + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }], + ], +} |