• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2015 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.
4
5{
6  'variables': {
7    'chromium_code': 1,
8  },
9  'includes': [
10    'mojo_edk.gypi',
11  ],
12  'target_defaults' : {
13    'include_dirs': [
14      '..',
15    ],
16    'direct_dependent_settings': {
17      'include_dirs': [
18        '..',
19      ],
20    },
21  },
22  'targets': [
23    {
24      # GN version: //mojo/edk/system/ports
25      'target_name': 'mojo_system_ports',
26      'type': 'static_library',
27      'dependencies': [
28        '../base/base.gyp:base',
29        '../crypto/crypto.gyp:crypto',
30      ],
31      'sources': [
32        '<@(mojo_edk_ports_sources)',
33      ],
34    },
35    {
36      # GN version: //mojo/edk/system
37      'target_name': 'mojo_system_impl',
38      'type': '<(component)',
39      'dependencies': [
40        '../base/base.gyp:base',
41        '../crypto/crypto.gyp:crypto',
42        'mojo_public.gyp:mojo_public_system',
43        'mojo_system_ports',
44      ],
45      'defines': [
46        'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
47      ],
48      'sources': [
49        '<@(mojo_edk_system_impl_sources)',
50        '<@(mojo_edk_system_impl_non_nacl_sources)',
51      ],
52      'conditions': [
53        ['OS=="android"', {
54          'dependencies': [
55            '../third_party/ashmem/ashmem.gyp:ashmem',
56          ],
57        }],
58        ['OS=="android" or chromeos==1', {
59          'defines': [
60            'MOJO_EDK_LEGACY_PROTOCOL',
61          ],
62        }],
63        ['OS=="win"', {
64           # Structure was padded due to __declspec(align()), which is
65           # uninteresting.
66          'msvs_disabled_warnings': [ 4324 ],
67        }],
68        ['OS=="mac" and OS!="ios"', {
69          'sources': [
70            'edk/system/mach_port_relay.cc',
71            'edk/system/mach_port_relay.h',
72          ],
73        }],
74      ],
75    },
76    {
77      # GN version: //mojo/edk/js
78      'target_name': 'mojo_js_lib',
79      'type': 'static_library',
80      'dependencies': [
81        '../base/base.gyp:base',
82        '../gin/gin.gyp:gin',
83        '../v8/src/v8.gyp:v8',
84      ],
85      'export_dependent_settings': [
86        '../base/base.gyp:base',
87        '../gin/gin.gyp:gin',
88      ],
89      'sources': [
90        # Sources list duplicated in GN build.
91        'edk/js/core.cc',
92        'edk/js/core.h',
93        'edk/js/drain_data.cc',
94        'edk/js/drain_data.h',
95        'edk/js/handle.cc',
96        'edk/js/handle.h',
97        'edk/js/handle_close_observer.h',
98        'edk/js/mojo_runner_delegate.cc',
99        'edk/js/mojo_runner_delegate.h',
100        'edk/js/support.cc',
101        'edk/js/support.h',
102        'edk/js/threading.cc',
103        'edk/js/threading.h',
104        'edk/js/waiting_callback.cc',
105        'edk/js/waiting_callback.h',
106      ],
107    },
108    {
109      # GN version: //mojo/edk/test:test_support_impl
110      'target_name': 'mojo_test_support_impl',
111      'type': 'static_library',
112      'dependencies': [
113        '../base/base.gyp:base',
114      ],
115      'sources': [
116        'edk/test/test_support_impl.cc',
117        'edk/test/test_support_impl.h',
118      ],
119    },
120    {
121      # GN version: //mojo/edk/test:test_support
122      'target_name': 'mojo_common_test_support',
123      'type': 'static_library',
124      'dependencies': [
125        '../base/base.gyp:base',
126        '../base/base.gyp:test_support_base',
127        '../testing/gtest.gyp:gtest',
128        'mojo_system_impl',
129      ],
130      'sources': [
131        'edk/test/mojo_test_base.cc',
132        'edk/test/mojo_test_base.h',
133        'edk/test/multiprocess_test_helper.cc',
134        'edk/test/multiprocess_test_helper.h',
135        'edk/test/scoped_ipc_support.cc',
136        'edk/test/scoped_ipc_support.h',
137        'edk/test/test_utils.h',
138        'edk/test/test_utils_posix.cc',
139        'edk/test/test_utils_win.cc',
140      ],
141      'conditions': [
142        ['OS=="ios"', {
143          'sources!': [
144            'edk/test/multiprocess_test_helper.cc',
145          ],
146        }],
147      ],
148    },
149    {
150      # GN version: //mojo/edk/test:run_all_unittests
151      'target_name': 'mojo_run_all_unittests',
152      'type': 'static_library',
153      'dependencies': [
154        '../base/base.gyp:base',
155        '../base/base.gyp:test_support_base',
156        '../testing/gtest.gyp:gtest',
157        'mojo_common_test_support',
158        'mojo_public.gyp:mojo_public_test_support',
159        'mojo_system_impl',
160        'mojo_test_support_impl',
161      ],
162      'sources': [
163        'edk/test/run_all_unittests.cc',
164      ],
165    },
166    {
167      # GN version: //mojo/edk/test:run_all_perftests
168      'target_name': 'mojo_run_all_perftests',
169      'type': 'static_library',
170      'dependencies': [
171        '../base/base.gyp:base',
172        '../base/base.gyp:test_support_base',
173        '../testing/gtest.gyp:gtest',
174        'mojo_common_test_support',
175        'mojo_public.gyp:mojo_public_test_support',
176        'mojo_system_impl',
177        'mojo_test_support_impl',
178      ],
179      'sources': [
180        'edk/test/run_all_perftests.cc',
181      ],
182    },
183  ],
184  'conditions': [
185    ['OS == "win" and target_arch=="ia32"', {
186      'targets': [
187        {
188          # GN version: //mojo/edk/system/ports
189          'target_name': 'mojo_system_ports_win64',
190          'type': 'static_library',
191          'dependencies': [
192            '../base/base.gyp:base_win64',
193            '../crypto/crypto.gyp:crypto_nacl_win64',
194          ],
195          'sources': [
196            '<@(mojo_edk_ports_sources)',
197          ],
198          'configurations': {
199            'Common_Base': {
200              'msvs_target_platform': 'x64',
201            },
202          },
203        },
204        {
205          # GN version: //mojo/edk/system
206          'target_name': 'mojo_system_impl_win64',
207          'type': '<(component)',
208          'dependencies': [
209            '../base/base.gyp:base_win64',
210            '../crypto/crypto.gyp:crypto_nacl_win64',
211            'mojo_public.gyp:mojo_public_system_win64',
212            'mojo_system_ports_win64',
213          ],
214          'defines': [
215            'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
216          ],
217          'sources': [
218            '<@(mojo_edk_system_impl_sources)',
219            '<@(mojo_edk_system_impl_non_nacl_sources)',
220          ],
221          # Structure was padded due to __declspec(align()), which is
222          # uninteresting.
223          'msvs_disabled_warnings': [ 4324 ],
224          'configurations': {
225            'Common_Base': {
226              'msvs_target_platform': 'x64',
227            },
228          },
229        },
230      ],
231    }],
232  ]
233}
234