Telemetry media_measurement plus play action and tests.
[chromium-blink-merge.git] / ppapi / ppapi_internal.gyp
blob845a84a2d1e57c9a6e08dd771c9744e1534ca677
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,  # Use higher warning level.
8   },
9   'target_defaults': {
10     'conditions': [
11       # Linux shared libraries should always be built -fPIC.
12       #
13       # TODO(ajwong): For internal pepper plugins, which are statically linked
14       # into chrome, do we want to build w/o -fPIC?  If so, how can we express
15       # that in the build system?
16       ['os_posix==1 and OS!="android" and OS!="mac"', {
17         'cflags': ['-fPIC', '-fvisibility=hidden'],
19         # This is needed to make the Linux shlib build happy. Without this,
20         # -fvisibility=hidden gets stripped by the exclusion in common.gypi
21         # that is triggered when a shared library build is specified.
22         'cflags/': [['include', '^-fvisibility=hidden$']],
23       }],
24     ],
25   },
26   'includes': [
27     'ppapi_sources.gypi',
28     'ppapi_host.gypi',
29     'ppapi_ipc.gypi',
30     'ppapi_proxy.gypi',
31     'ppapi_shared.gypi',
32     'ppapi_tests.gypi',
33   ],
34   'targets': [
35     {
36       'target_name': 'ppapi_shared',
37       'type': '<(component)',
38       'variables': {
39         # Set the ppapi_shared_target variable, so that we will pull in the
40         # sources from ppapi_shared.gypi (and only from there). We follow the
41         # same pattern for the other targets defined within this file.
42         'ppapi_shared_target': 1,
43       },
44       'dependencies': [
45         '../base/base.gyp:base',
46         '../base/base.gyp:base_i18n',
47         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
48         '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
49         '../gpu/gpu.gyp:command_buffer_client',
50         '../gpu/gpu.gyp:gles2_implementation',
51         '../media/media.gyp:shared_memory_support',
52         '../skia/skia.gyp:skia',
53         # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
54         '../third_party/WebKit/public/blink.gyp:blink',
55         '../third_party/icu/icu.gyp:icuuc',
56         '../ui/surface/surface.gyp:surface',
57         '../url/url.gyp:url_lib',
58         'ppapi.gyp:ppapi_c',
59       ],
60       'export_dependent_settings': [
61         '../base/base.gyp:base',
62         '../third_party/WebKit/public/blink.gyp:blink',
63       ],
64       'conditions': [
65         ['OS=="mac"', {
66           'link_settings': {
67             'libraries': [
68               '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
69             ],
70           },
71         }],
72       ],
73       # Disable c4267 warnings until we fix size_t to int truncations.
74       'msvs_disabled_warnings': [ 4267, ],
75     },
76   ],
77   'conditions': [
78     ['component=="static_library"', {
79       # In a static build, build ppapi_ipc separately.
80       'targets': [
81         {
82           'target_name': 'ppapi_ipc',
83           'type': 'static_library',
84           'variables': {
85             'ppapi_ipc_target': 1,
86           },
87           'dependencies': [
88             '../base/base.gyp:base',
89             '../gpu/gpu.gyp:gpu_ipc',
90             '../ipc/ipc.gyp:ipc',
91             '../skia/skia.gyp:skia',
92             'ppapi.gyp:ppapi_c',
93             'ppapi_shared',
94           ],
95           'all_dependent_settings': {
96             'include_dirs': [
97                 '..',
98             ],
99           },
100         },
101         {
102           'target_name': 'ppapi_proxy',
103           'type': 'static_library',
104           'variables': {
105             'ppapi_proxy_target': 1,
106           },
107           'dependencies': [
108             '../base/base.gyp:base',
109             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
110             '../gpu/gpu.gyp:gles2_implementation',
111             '../gpu/gpu.gyp:gpu_ipc',
112             '../media/media.gyp:shared_memory_support',
113             '../ipc/ipc.gyp:ipc',
114             '../skia/skia.gyp:skia',
115             # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
116             '../third_party/WebKit/public/blink.gyp:blink',
117             '../third_party/icu/icu.gyp:icuuc',
118             '../third_party/icu/icu.gyp:icui18n',
119             '../ui/surface/surface.gyp:surface',
120             'ppapi.gyp:ppapi_c',
121             'ppapi_shared',
122             'ppapi_ipc',
123           ],
124           'all_dependent_settings': {
125             'include_dirs': [
126                 '..',
127             ],
128           },
129           # Disable c4267 warnings until we fix size_t to int truncations.
130           'msvs_disabled_warnings': [ 4267, ],
131         },
132       ],
133     },
134     { # component != static_library
135       # In the component build, we'll just build ppapi_ipc in to ppapi_proxy.
136       'targets': [
137         {
138           'target_name': 'ppapi_proxy',
139           'type': 'shared_library',
140           'variables': {
141             # Setting both variables means we pull in the sources from both
142             # ppapi_ipc.gypi and ppapi_proxy.gypi.
143             'ppapi_ipc_target': 1,
144             'ppapi_proxy_target': 1,
145           },
146           'dependencies': [
147             '../base/base.gyp:base',
148             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
149             '../gpu/gpu.gyp:gles2_implementation',
150             '../gpu/gpu.gyp:gpu_ipc',
151             '../media/media.gyp:shared_memory_support',
152             '../ipc/ipc.gyp:ipc',
153             '../skia/skia.gyp:skia',
154             # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
155             '../third_party/WebKit/public/blink.gyp:blink',
156             '../third_party/icu/icu.gyp:icuuc',
157             '../third_party/icu/icu.gyp:icui18n',
158             '../ui/surface/surface.gyp:surface',
159             'ppapi.gyp:ppapi_c',
160             'ppapi_shared',
161           ],
162           'all_dependent_settings': {
163             'include_dirs': [
164                 '..',
165             ],
166           },
167           # Disable c4267 warnings until we fix size_t to int truncations.
168           'msvs_disabled_warnings': [ 4267, ],
169         },
170         {
171           # In component build, this is just a phony target that makes sure
172           # ppapi_proxy is built, since that's where the ipc sources go in the
173           # component build.
174           'target_name': 'ppapi_ipc',
175           'type': 'none',
176           'dependencies': [
177             'ppapi_proxy',
178           ],
179         },
180       ],
181     }],
182     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
183       # In windows builds, we also want to define some targets to build in
184       # 64-bit mode for use by nacl64.exe (the NaCl helper process for 64-bit
185       # Windows).
186       'targets': [
187         {
188           'target_name': 'ppapi_shared_win64',
189           'type': '<(component)',
190           'variables': {
191             'nacl_win64_target': 1,
192             'ppapi_shared_target': 1,
193           },
194           'dependencies': [
195             'ppapi.gyp:ppapi_c',
196             '../base/base.gyp:base_nacl_win64',
197             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
198           ],
199           'defines': [
200             '<@(nacl_win64_defines)',
201           ],              
202           'export_dependent_settings': [
203             '../base/base.gyp:base_nacl_win64',
204           ],
205           'configurations': {
206             'Common_Base': {
207               'msvs_target_platform': 'x64',
208             },
209           },
210         },
211         {
212           'target_name': 'ppapi_ipc_win64',
213           'type': 'static_library',
214           'variables': {
215             'nacl_win64_target': 1,
216             'ppapi_ipc_target': 1,
217           },
218           'dependencies': [
219             '../base/base.gyp:base_nacl_win64',
220             '../ipc/ipc.gyp:ipc_win64',
221             '../gpu/gpu.gyp:gpu_ipc_win64',
222             'ppapi.gyp:ppapi_c',
223             'ppapi_shared_win64',
224           ],
225           'export_dependent_settings': [
226             '../gpu/gpu.gyp:gpu_ipc_win64',
227           ],
228           'defines': [
229             '<@(nacl_win64_defines)',
230           ],              
231           'all_dependent_settings': {
232             'include_dirs': [
233                '..',
234             ],
235           },
236           'configurations': {
237             'Common_Base': {
238               'msvs_target_platform': 'x64',
239             },
240           },
241       }],
242     }],
243   ],