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.
7 'chromium_code': 1, # Use higher warning level.
11 # Linux shared libraries should always be built -fPIC.
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$']],
36 # GN version: //ppapi:ppapi_shared
37 'target_name': 'ppapi_shared',
38 'type': '<(component)',
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,
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',
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',
61 'export_dependent_settings': [
62 '../base/base.gyp:base',
68 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
72 ['chrome_multiple_dll==1', {
74 '../third_party/WebKit/public/blink.gyp:blink_minimal',
76 'export_dependent_settings': [
77 '../third_party/WebKit/public/blink.gyp:blink_minimal',
81 '../third_party/WebKit/public/blink.gyp:blink',
83 'export_dependent_settings': [
84 '../third_party/WebKit/public/blink.gyp:blink',
88 # Disable c4267 warnings until we fix size_t to int truncations.
89 'msvs_disabled_warnings': [ 4267, ],
93 ['component=="static_library"', {
94 # In a static build, build ppapi_ipc separately.
97 # GN version: //ppapi:ppapi_ipc
98 'target_name': 'ppapi_ipc',
99 'type': 'static_library',
101 'ppapi_ipc_target': 1,
104 '../base/base.gyp:base',
105 '../gpu/gpu.gyp:gpu_ipc',
106 '../ipc/ipc.gyp:ipc',
107 '../skia/skia.gyp:skia',
108 '../ui/events/ipc/events_ipc.gyp:events_ipc',
112 'all_dependent_settings': {
119 # GN version: //ppapi:ppapi_proxy
120 'target_name': 'ppapi_proxy',
121 'type': 'static_library',
123 'ppapi_proxy_target': 1,
126 '../base/base.gyp:base',
127 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
128 '../gin/gin.gyp:gin',
129 '../gpu/gpu.gyp:gles2_implementation',
130 '../gpu/gpu.gyp:gpu_ipc',
131 '../media/media.gyp:shared_memory_support',
132 '../ipc/ipc.gyp:ipc',
133 '../skia/skia.gyp:skia',
134 '../third_party/icu/icu.gyp:icuuc',
135 '../third_party/icu/icu.gyp:icui18n',
136 '../ui/events/events.gyp:events_base',
137 '../ui/surface/surface.gyp:surface',
142 'all_dependent_settings': {
147 # Disable c4267 warnings until we fix size_t to int truncations.
148 'msvs_disabled_warnings': [ 4267, ],
150 ['chrome_multiple_dll==1', {
152 '../third_party/WebKit/public/blink.gyp:blink_minimal',
156 '../third_party/WebKit/public/blink.gyp:blink',
163 { # component != static_library
164 # In the component build, we'll just build ppapi_ipc in to ppapi_proxy.
167 # GN version: //ppapi:ppapi_proxy
168 'target_name': 'ppapi_proxy',
169 'type': 'shared_library',
171 # Setting both variables means we pull in the sources from both
172 # ppapi_ipc.gypi and ppapi_proxy.gypi.
173 'ppapi_ipc_target': 1,
174 'ppapi_proxy_target': 1,
177 '../base/base.gyp:base',
178 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
179 '../gin/gin.gyp:gin',
180 '../gpu/gpu.gyp:gles2_implementation',
181 '../gpu/gpu.gyp:gpu_ipc',
182 '../media/media.gyp:shared_memory_support',
183 '../ipc/ipc.gyp:ipc',
184 '../skia/skia.gyp:skia',
185 '../third_party/icu/icu.gyp:icuuc',
186 '../third_party/icu/icu.gyp:icui18n',
187 '../ui/events/events.gyp:events_base',
188 '../ui/events/ipc/events_ipc.gyp:events_ipc',
189 '../ui/surface/surface.gyp:surface',
193 'all_dependent_settings': {
198 # Disable c4267 warnings until we fix size_t to int truncations.
199 'msvs_disabled_warnings': [ 4267, ],
201 ['chrome_multiple_dll==1', {
203 '../third_party/WebKit/public/blink.gyp:blink_minimal',
207 '../third_party/WebKit/public/blink.gyp:blink',
213 # In component build, this is just a phony target that makes sure
214 # ppapi_proxy is built, since that's where the ipc sources go in the
216 'target_name': 'ppapi_ipc',
224 ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
225 # In windows builds, we also want to define some targets to build in
226 # 64-bit mode for use by nacl64.exe (the NaCl helper process for 64-bit
230 # GN version: //ppapi:ppapi_shared
231 # (Should be automagical when compiling in the 64-bit toolchain.)
232 'target_name': 'ppapi_shared_win64',
233 'type': '<(component)',
235 'nacl_win64_target': 1,
236 'ppapi_shared_target': 1,
240 '../base/base.gyp:base_win64',
241 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
242 '../gpu/gpu.gyp:command_buffer_common_win64',
243 '../ipc/ipc.gyp:ipc_win64',
244 '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
247 '<@(nacl_win64_defines)',
249 'export_dependent_settings': [
250 '../base/base.gyp:base_win64',
254 'msvs_target_platform': 'x64',
259 # GN version: //ppapi:ppapi_ipc
260 # (Should be automagical when compiling in the 64-bit toolchain.)
261 'target_name': 'ppapi_ipc_win64',
262 'type': 'static_library',
264 'nacl_win64_target': 1,
265 'ppapi_ipc_target': 1,
268 '../base/base.gyp:base_win64',
269 '../ipc/ipc.gyp:ipc_win64',
270 '../gpu/gpu.gyp:gpu_ipc_win64',
271 '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
273 'ppapi_shared_win64',
275 'export_dependent_settings': [
276 '../gpu/gpu.gyp:gpu_ipc_win64',
279 '<@(nacl_win64_defines)',
281 'all_dependent_settings': {
288 'msvs_target_platform': 'x64',