Roll src/third_party/WebKit 640e652:eec14d5 (svn 200948:200949)
[chromium-blink-merge.git] / base / base_nacl.gyp
blob47cf840550f141903e597385deba2bb728498184
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'includes': [
10     # base.gypi must be included before common_untrusted.gypi.
11     #
12     # TODO(sergeyu): Replace the target_defaults magic in base.gypi with a
13     # sources variables lists. That way order of includes will not matter.
14     'base.gypi',
15     '../build/common_untrusted.gypi',
16   ],
17   'conditions': [
18     ['disable_nacl==0 and disable_nacl_untrusted==0', {
19       'targets': [
20         {
21           'target_name': 'base_nacl',
22           'type': 'none',
23           'variables': {
24             'base_target': 1,
25             'nacl_untrusted_build': 1,
26             'nlib_target': 'libbase_nacl.a',
27             'build_glibc': 0,
28             'build_newlib': 0,
29             'build_irt': 1,
30             'build_pnacl_newlib': 1,
31             'sources': [
32               'base_switches.cc',
33               'base_switches.h',
34               'strings/string16.cc',
35               'sync_socket_nacl.cc',
36               'time/time_posix.cc',
37             ],
38             'gcc_compile_flags': [
39               '-fno-strict-aliasing',
40             ],
41           },
42         },
43         {
44           'target_name': 'base_i18n_nacl',
45           'type': 'none',
46           'variables': {
47             'base_i18n_target': 1,
48             'nacl_untrusted_build': 1,
49             'nlib_target': 'libbase_i18n_nacl.a',
50             'build_glibc': 0,
51             'build_newlib': 0,
52             'build_irt': 0,
53             'build_pnacl_newlib': 1,
54             'sources': [
55               'base_switches.cc',
56               'base_switches.h',
57               'strings/string16.cc',
58               'sync_socket_nacl.cc',
59               'time/time_posix.cc',
60             ],
61           },
62           'dependencies': [
63             '../third_party/icu/icu_nacl.gyp:icudata_nacl',
64             '../third_party/icu/icu_nacl.gyp:icui18n_nacl',
65             '../third_party/icu/icu_nacl.gyp:icuuc_nacl',
66           ],
67         },
68         {
69           'target_name': 'base_nacl_nonsfi',
70           'type': 'none',
71           'variables': {
72             'base_target': 1,
73             'nacl_untrusted_build': 1,
74             'nlib_target': 'libbase_nacl_nonsfi.a',
75             'build_glibc': 0,
76             'build_newlib': 0,
77             'build_irt': 0,
78             'build_pnacl_newlib': 0,
79             'build_nonsfi_helper': 1,
81             'sources': [
82               'base_switches.cc',
83               'base_switches.h',
85               # For PathExists and ReadFromFD.
86               'files/file_util.cc',
87               'files/file_util_posix.cc',
89               # For MessageLoopForIO based on libevent.
90               'message_loop/message_pump_libevent.cc',
91               'message_loop/message_pump_libevent.h',
93               # For UnixDomainSocket::SendMsg and RecvMsg.
94               'posix/unix_domain_socket_linux.cc',
96               # For GetKnownDeadTerminationStatus and GetTerminationStatus.
97               'process/kill_posix.cc',
99               # For ForkWithFlags.
100               'process/launch.h',
101               'process/launch_posix.cc',
103               # Unlike libbase_nacl, for Non-SFI build, we need to use
104               # rand_util_posix for random implementation, instead of
105               # rand_util_nacl.cc, which is based on IRT. rand_util_nacl.cc is
106               # excluded below.
107               'rand_util_posix.cc',
109               # For CancelableSyncSocket.
110               'sync_socket_nacl.cc',
111             ],
112           },
113           'sources!': [
114             'rand_util_nacl.cc',
115           ],
116           'dependencies': [
117             '../third_party/libevent/libevent_nacl_nonsfi.gyp:event_nacl_nonsfi',
118           ],
119         },
120         {
121           'target_name': 'test_support_base_nacl_nonsfi',
122           'type': 'none',
123           'variables': {
124             'nacl_untrusted_build': 1,
125             'nlib_target': 'libtest_support_base_nacl_nonsfi.a',
126             'build_glibc': 0,
127             'build_newlib': 0,
128             'build_irt': 0,
129             'build_pnacl_newlib': 0,
130             'build_nonsfi_helper': 1,
132             'sources': [
133               'test/gtest_util.cc',
134               'test/launcher/unit_test_launcher_nacl_nonsfi.cc',
135               'test/gtest_xml_unittest_result_printer.cc',
136               'test/test_switches.cc',
137             ],
138           },
139           'dependencies': [
140             'base_nacl_nonsfi',
141             '../testing/gtest_nacl.gyp:gtest_nacl',
142           ],
143         },
144       ],
145     }],
146   ],