OLD | NEW |
| (Empty) |
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. | |
4 | |
5 { | |
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'], | |
18 | |
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/gfx/gfx.gyp:gfx_geometry', | |
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 ], | |
73 }, | |
74 ], | |
75 'conditions': [ | |
76 ['component=="static_library"', { | |
77 # In a static build, build ppapi_ipc separately. | |
78 'targets': [ | |
79 { | |
80 # GN version: //ppapi/proxy:ipc | |
81 'target_name': 'ppapi_ipc', | |
82 'type': 'static_library', | |
83 'variables': { | |
84 'ppapi_ipc_target': 1, | |
85 }, | |
86 'dependencies': [ | |
87 '../base/base.gyp:base', | |
88 '../gpu/gpu.gyp:command_buffer_traits', | |
89 '../ipc/ipc.gyp:ipc', | |
90 '../skia/skia.gyp:skia', | |
91 '../ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry', | |
92 'ppapi.gyp:ppapi_c', | |
93 'ppapi_shared', | |
94 ], | |
95 'all_dependent_settings': { | |
96 'include_dirs': [ | |
97 '..', | |
98 ], | |
99 }, | |
100 }, | |
101 { | |
102 # GN version: //ppapi/proxy | |
103 'target_name': 'ppapi_proxy', | |
104 'type': 'static_library', | |
105 'variables': { | |
106 'ppapi_proxy_target': 1, | |
107 }, | |
108 'dependencies': [ | |
109 '../base/base.gyp:base', | |
110 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn
amic_annotations', | |
111 '../gin/gin.gyp:gin', | |
112 '../gpu/command_buffer/command_buffer.gyp:gles2_utils', | |
113 '../gpu/gpu.gyp:gles2_implementation', | |
114 '../gpu/gpu.gyp:command_buffer_traits', | |
115 '../media/media.gyp:shared_memory_support', | |
116 '../ipc/ipc.gyp:ipc', | |
117 '../mojo/mojo_edk.gyp:mojo_system_impl', | |
118 '../skia/skia.gyp:skia', | |
119 '../third_party/icu/icu.gyp:icuuc', | |
120 '../third_party/icu/icu.gyp:icui18n', | |
121 '../ui/surface/surface.gyp:surface', | |
122 '../ui/gfx/gfx.gyp:gfx_geometry', | |
123 'ppapi.gyp:ppapi_c', | |
124 'ppapi_shared', | |
125 'ppapi_ipc', | |
126 ], | |
127 'all_dependent_settings': { | |
128 'include_dirs': [ | |
129 '..', | |
130 ], | |
131 }, | |
132 'conditions': [ | |
133 ['chrome_multiple_dll==1', { | |
134 'dependencies': [ | |
135 '../third_party/WebKit/public/blink.gyp:blink_minimal', | |
136 ], | |
137 }, { | |
138 'dependencies': [ | |
139 '../third_party/WebKit/public/blink.gyp:blink', | |
140 ], | |
141 }], | |
142 ], | |
143 }, | |
144 ], | |
145 }, | |
146 { # component != static_library | |
147 # In the component build, we'll just build ppapi_ipc in to ppapi_proxy. | |
148 'targets': [ | |
149 { | |
150 # GN version: //ppapi:ppapi_proxy | |
151 'target_name': 'ppapi_proxy', | |
152 'type': 'shared_library', | |
153 'variables': { | |
154 # Setting both variables means we pull in the sources from both | |
155 # ppapi_ipc.gypi and ppapi_proxy.gypi. | |
156 'ppapi_ipc_target': 1, | |
157 'ppapi_proxy_target': 1, | |
158 }, | |
159 'dependencies': [ | |
160 '../base/base.gyp:base', | |
161 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn
amic_annotations', | |
162 '../gin/gin.gyp:gin', | |
163 '../gpu/command_buffer/command_buffer.gyp:gles2_utils', | |
164 '../gpu/gpu.gyp:gles2_implementation', | |
165 '../gpu/gpu.gyp:command_buffer_traits', | |
166 '../media/media.gyp:shared_memory_support', | |
167 '../mojo/mojo_edk.gyp:mojo_system_impl', | |
168 '../ipc/ipc.gyp:ipc', | |
169 '../skia/skia.gyp:skia', | |
170 '../third_party/icu/icu.gyp:icuuc', | |
171 '../third_party/icu/icu.gyp:icui18n', | |
172 '../ui/gfx/gfx.gyp:gfx_geometry', | |
173 '../ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry', | |
174 '../ui/surface/surface.gyp:surface', | |
175 'ppapi.gyp:ppapi_c', | |
176 'ppapi_shared', | |
177 ], | |
178 'all_dependent_settings': { | |
179 'include_dirs': [ | |
180 '..', | |
181 ], | |
182 }, | |
183 'conditions': [ | |
184 ['chrome_multiple_dll==1', { | |
185 'dependencies': [ | |
186 '../third_party/WebKit/public/blink.gyp:blink_minimal', | |
187 ], | |
188 }, { | |
189 'dependencies': [ | |
190 '../third_party/WebKit/public/blink.gyp:blink', | |
191 ], | |
192 }], | |
193 ], | |
194 }, | |
195 { | |
196 # In component build, this is just a phony target that makes sure | |
197 # ppapi_proxy is built, since that's where the ipc sources go in the | |
198 # component build. | |
199 'target_name': 'ppapi_ipc', | |
200 'type': 'none', | |
201 'dependencies': [ | |
202 'ppapi_proxy', | |
203 ], | |
204 }, | |
205 ], | |
206 }], | |
207 ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', { | |
208 # In windows builds, we also want to define some targets to build in | |
209 # 64-bit mode for use by nacl64.exe (the NaCl helper process for 64-bit | |
210 # Windows). | |
211 'targets': [ | |
212 { | |
213 # GN version: //ppapi:ppapi_shared | |
214 # (Should be automagical when compiling in the 64-bit toolchain.) | |
215 'target_name': 'ppapi_shared_win64', | |
216 'type': '<(component)', | |
217 'variables': { | |
218 'nacl_win64_target': 1, | |
219 'ppapi_shared_target': 1, | |
220 }, | |
221 'dependencies': [ | |
222 'ppapi.gyp:ppapi_c', | |
223 '../base/base.gyp:base_win64', | |
224 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn
amic_annotations_win64', | |
225 '../gpu/gpu.gyp:command_buffer_common_win64', | |
226 '../ipc/ipc.gyp:ipc_win64', | |
227 '../ui/gfx/gfx.gyp:gfx_geometry_win64', | |
228 ], | |
229 'defines': [ | |
230 '<@(nacl_win64_defines)', | |
231 ], | |
232 'export_dependent_settings': [ | |
233 '../base/base.gyp:base_win64', | |
234 ], | |
235 'configurations': { | |
236 'Common_Base': { | |
237 'msvs_target_platform': 'x64', | |
238 }, | |
239 }, | |
240 }, | |
241 { | |
242 # GN version: //ppapi:ppapi_ipc | |
243 # (Should be automagical when compiling in the 64-bit toolchain.) | |
244 'target_name': 'ppapi_ipc_win64', | |
245 'type': 'static_library', | |
246 'variables': { | |
247 'nacl_win64_target': 1, | |
248 'ppapi_ipc_target': 1, | |
249 }, | |
250 'dependencies': [ | |
251 '../base/base.gyp:base_win64', | |
252 '../ipc/ipc.gyp:ipc_win64', | |
253 '../gpu/gpu.gyp:command_buffer_traits_win64', | |
254 '../ui/gfx/gfx.gyp:gfx_geometry_win64', | |
255 '../ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry_win64'
, | |
256 'ppapi.gyp:ppapi_c', | |
257 'ppapi_shared_win64', | |
258 ], | |
259 'export_dependent_settings': [ | |
260 '../gpu/gpu.gyp:command_buffer_traits_win64', | |
261 ], | |
262 'defines': [ | |
263 '<@(nacl_win64_defines)', | |
264 ], | |
265 'all_dependent_settings': { | |
266 'include_dirs': [ | |
267 '..', | |
268 ], | |
269 }, | |
270 'configurations': { | |
271 'Common_Base': { | |
272 'msvs_target_platform': 'x64', | |
273 }, | |
274 }, | |
275 }], | |
276 }], | |
277 ], | |
278 } | |
OLD | NEW |