summaryrefslogtreecommitdiffstats
path: root/chrome/nacl.gypi
diff options
context:
space:
mode:
authorgregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 20:30:46 +0000
committergregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 20:30:46 +0000
commitdd36368e83b0a988294e0f80e73d910dae00adfd (patch)
tree25a5492827da91b861d4377e93297472dfd1fd4a /chrome/nacl.gypi
parent1aa74be036b0319e55a2668f30f74cdfe8b4c8b7 (diff)
downloadchromium_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.gypi101
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',
+ },
+ },
+ },
+ ],
+ }],
+ ],
+}