Remove LSan options/suppressions from test_env.py.
[chromium-blink-merge.git] / ppapi / ppapi_internal.gyp
blob6c526c06c5f4db48c9aabc6973b9998116f5c7c3
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       # GN version: //ppapi/shared_impl and //ppapi/thunk
37       'target_name': 'ppapi_shared',
38       'type': '<(component)',
39       'variables': {
40         # Set the ppapi_shared_target variable, so that we will pull in the
41         # sources from ppapi_shared.gypi (and only from there). We follow the
42         # same pattern for the other targets defined within this file.
43         'ppapi_shared_target': 1,
44       },
45       'dependencies': [
46         '../base/base.gyp:base',
47         '../base/base.gyp:base_i18n',
48         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
49         '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
50         '../gpu/gpu.gyp:command_buffer_client',
51         '../gpu/gpu.gyp:gles2_implementation',
52         '../ipc/ipc.gyp:ipc',
53         '../media/media.gyp:shared_memory_support',
54         '../skia/skia.gyp:skia',
55         '../third_party/icu/icu.gyp:icuuc',
56         '../ui/events/events.gyp:events_base',
57         '../ui/surface/surface.gyp:surface',
58         '../url/url.gyp:url_lib',
59         'ppapi.gyp:ppapi_c',
60       ],
61       'export_dependent_settings': [
62         '../base/base.gyp:base',
63       ],
64       'conditions': [
65         ['OS=="mac"', {
66           'link_settings': {
67             'libraries': [
68               '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
69             ],
70           },
71         }],
72         ['chrome_multiple_dll==1', {
73           'dependencies': [
74             '../third_party/WebKit/public/blink.gyp:blink_minimal',
75           ],
76           'export_dependent_settings': [
77             '../third_party/WebKit/public/blink.gyp:blink_minimal',
78           ],
79         }, {
80           'dependencies': [
81             '../third_party/WebKit/public/blink.gyp:blink',
82           ],
83           'export_dependent_settings': [
84             '../third_party/WebKit/public/blink.gyp:blink',
85           ],
86         }],
87       ],
88     },
89   ],
90   'conditions': [
91     ['component=="static_library"', {
92       # In a static build, build ppapi_ipc separately.
93       'targets': [
94         {
95           # GN version: //ppapi/proxy:ipc
96           'target_name': 'ppapi_ipc',
97           'type': 'static_library',
98           'variables': {
99             'ppapi_ipc_target': 1,
100           },
101           'dependencies': [
102             '../base/base.gyp:base',
103             '../gpu/gpu.gyp:gpu_ipc',
104             '../ipc/ipc.gyp:ipc',
105             '../skia/skia.gyp:skia',
106             '../ui/events/ipc/events_ipc.gyp:events_ipc',
107             'ppapi.gyp:ppapi_c',
108             'ppapi_shared',
109           ],
110           'all_dependent_settings': {
111             'include_dirs': [
112                 '..',
113             ],
114           },
115         },
116         {
117           # GN version: //ppapi/proxy
118           'target_name': 'ppapi_proxy',
119           'type': 'static_library',
120           'variables': {
121             'ppapi_proxy_target': 1,
122           },
123           'dependencies': [
124             '../base/base.gyp:base',
125             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
126             '../gin/gin.gyp:gin',
127             '../gpu/gpu.gyp:gles2_implementation',
128             '../gpu/gpu.gyp:gpu_ipc',
129             '../media/media.gyp:shared_memory_support',
130             '../ipc/ipc.gyp:ipc',
131             '../skia/skia.gyp:skia',
132             '../third_party/icu/icu.gyp:icuuc',
133             '../third_party/icu/icu.gyp:icui18n',
134             '../ui/events/events.gyp:events_base',
135             '../ui/surface/surface.gyp:surface',
136             'ppapi.gyp:ppapi_c',
137             'ppapi_shared',
138             'ppapi_ipc',
139           ],
140           'all_dependent_settings': {
141             'include_dirs': [
142                 '..',
143             ],
144           },
145           'conditions': [
146             ['chrome_multiple_dll==1', {
147               'dependencies': [
148                 '../third_party/WebKit/public/blink.gyp:blink_minimal',
149               ],
150             }, {
151               'dependencies': [
152                 '../third_party/WebKit/public/blink.gyp:blink',
153               ],
154             }],
155           ],
156         },
157       ],
158     },
159     { # component != static_library
160       # In the component build, we'll just build ppapi_ipc in to ppapi_proxy.
161       'targets': [
162         {
163           # GN version: //ppapi:ppapi_proxy
164           'target_name': 'ppapi_proxy',
165           'type': 'shared_library',
166           'variables': {
167             # Setting both variables means we pull in the sources from both
168             # ppapi_ipc.gypi and ppapi_proxy.gypi.
169             'ppapi_ipc_target': 1,
170             'ppapi_proxy_target': 1,
171           },
172           'dependencies': [
173             '../base/base.gyp:base',
174             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
175             '../gin/gin.gyp:gin',
176             '../gpu/gpu.gyp:gles2_implementation',
177             '../gpu/gpu.gyp:gpu_ipc',
178             '../media/media.gyp:shared_memory_support',
179             '../ipc/ipc.gyp:ipc',
180             '../skia/skia.gyp:skia',
181             '../third_party/icu/icu.gyp:icuuc',
182             '../third_party/icu/icu.gyp:icui18n',
183             '../ui/events/events.gyp:events_base',
184             '../ui/events/ipc/events_ipc.gyp:events_ipc',
185             '../ui/surface/surface.gyp:surface',
186             'ppapi.gyp:ppapi_c',
187             'ppapi_shared',
188           ],
189           'all_dependent_settings': {
190             'include_dirs': [
191                 '..',
192             ],
193           },
194           'conditions': [
195             ['chrome_multiple_dll==1', {
196               'dependencies': [
197                 '../third_party/WebKit/public/blink.gyp:blink_minimal',
198               ],
199             }, {
200               'dependencies': [
201                 '../third_party/WebKit/public/blink.gyp:blink',
202               ],
203             }],
204           ],
205         },
206         {
207           # In component build, this is just a phony target that makes sure
208           # ppapi_proxy is built, since that's where the ipc sources go in the
209           # component build.
210           'target_name': 'ppapi_ipc',
211           'type': 'none',
212           'dependencies': [
213             'ppapi_proxy',
214           ],
215         },
216       ],
217     }],
218     ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
219       # In windows builds, we also want to define some targets to build in
220       # 64-bit mode for use by nacl64.exe (the NaCl helper process for 64-bit
221       # Windows).
222       'targets': [
223         {
224           # GN version: //ppapi:ppapi_shared
225           # (Should be automagical when compiling in the 64-bit toolchain.)
226           'target_name': 'ppapi_shared_win64',
227           'type': '<(component)',
228           'variables': {
229             'nacl_win64_target': 1,
230             'ppapi_shared_target': 1,
231           },
232           'dependencies': [
233             'ppapi.gyp:ppapi_c',
234             '../base/base.gyp:base_win64',
235             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
236             '../gpu/gpu.gyp:command_buffer_common_win64',
237             '../ipc/ipc.gyp:ipc_win64',
238             '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
239           ],
240           'defines': [
241             '<@(nacl_win64_defines)',
242           ],
243           'export_dependent_settings': [
244             '../base/base.gyp:base_win64',
245           ],
246           'configurations': {
247             'Common_Base': {
248               'msvs_target_platform': 'x64',
249             },
250           },
251         },
252         {
253           # GN version: //ppapi:ppapi_ipc
254           # (Should be automagical when compiling in the 64-bit toolchain.)
255           'target_name': 'ppapi_ipc_win64',
256           'type': 'static_library',
257           'variables': {
258             'nacl_win64_target': 1,
259             'ppapi_ipc_target': 1,
260           },
261           'dependencies': [
262             '../base/base.gyp:base_win64',
263             '../ipc/ipc.gyp:ipc_win64',
264             '../gpu/gpu.gyp:gpu_ipc_win64',
265             '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
266             'ppapi.gyp:ppapi_c',
267             'ppapi_shared_win64',
268           ],
269           'export_dependent_settings': [
270             '../gpu/gpu.gyp:gpu_ipc_win64',
271           ],
272           'defines': [
273             '<@(nacl_win64_defines)',
274           ],
275           'all_dependent_settings': {
276             'include_dirs': [
277                '..',
278             ],
279           },
280           'configurations': {
281             'Common_Base': {
282               'msvs_target_platform': 'x64',
283             },
284           },
285       }],
286     }],
287   ],