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 'target_name': 'ppapi_shared',
37 'type': '<(component)',
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,
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',
52 '../media/media.gyp:shared_memory_support',
53 '../skia/skia.gyp:skia',
54 '../third_party/icu/icu.gyp:icuuc',
55 '../ui/events/events.gyp:events_base',
56 '../ui/surface/surface.gyp:surface',
57 '../url/url.gyp:url_lib',
60 'export_dependent_settings': [
61 '../base/base.gyp:base',
67 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
71 ['chrome_multiple_dll==1', {
73 '../third_party/WebKit/public/blink.gyp:blink_minimal',
75 'export_dependent_settings': [
76 '../third_party/WebKit/public/blink.gyp:blink_minimal',
80 '../third_party/WebKit/public/blink.gyp:blink',
82 'export_dependent_settings': [
83 '../third_party/WebKit/public/blink.gyp:blink',
87 # Disable c4267 warnings until we fix size_t to int truncations.
88 'msvs_disabled_warnings': [ 4267, ],
92 ['component=="static_library"', {
93 # In a static build, build ppapi_ipc separately.
96 'target_name': 'ppapi_ipc',
97 'type': 'static_library',
99 'ppapi_ipc_target': 1,
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',
110 'all_dependent_settings': {
117 'target_name': 'ppapi_proxy',
118 'type': 'static_library',
120 'ppapi_proxy_target': 1,
123 '../base/base.gyp:base',
124 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
125 '../gpu/gpu.gyp:gles2_implementation',
126 '../gpu/gpu.gyp:gpu_ipc',
127 '../media/media.gyp:shared_memory_support',
128 '../ipc/ipc.gyp:ipc',
129 '../skia/skia.gyp:skia',
130 '../third_party/icu/icu.gyp:icuuc',
131 '../third_party/icu/icu.gyp:icui18n',
132 '../ui/events/events.gyp:events_base',
133 '../ui/surface/surface.gyp:surface',
138 'all_dependent_settings': {
143 # Disable c4267 warnings until we fix size_t to int truncations.
144 'msvs_disabled_warnings': [ 4267, ],
146 ['chrome_multiple_dll==1', {
148 '../third_party/WebKit/public/blink.gyp:blink_minimal',
152 '../third_party/WebKit/public/blink.gyp:blink',
159 { # component != static_library
160 # In the component build, we'll just build ppapi_ipc in to ppapi_proxy.
163 'target_name': 'ppapi_proxy',
164 'type': 'shared_library',
166 # Setting both variables means we pull in the sources from both
167 # ppapi_ipc.gypi and ppapi_proxy.gypi.
168 'ppapi_ipc_target': 1,
169 'ppapi_proxy_target': 1,
172 '../base/base.gyp:base',
173 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
174 '../gpu/gpu.gyp:gles2_implementation',
175 '../gpu/gpu.gyp:gpu_ipc',
176 '../media/media.gyp:shared_memory_support',
177 '../ipc/ipc.gyp:ipc',
178 '../skia/skia.gyp:skia',
179 '../third_party/icu/icu.gyp:icuuc',
180 '../third_party/icu/icu.gyp:icui18n',
181 '../ui/events/events.gyp:events_base',
182 '../ui/events/ipc/events_ipc.gyp:events_ipc',
183 '../ui/surface/surface.gyp:surface',
187 'all_dependent_settings': {
192 # Disable c4267 warnings until we fix size_t to int truncations.
193 'msvs_disabled_warnings': [ 4267, ],
195 ['chrome_multiple_dll==1', {
197 '../third_party/WebKit/public/blink.gyp:blink_minimal',
201 '../third_party/WebKit/public/blink.gyp:blink',
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
210 'target_name': 'ppapi_ipc',
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
224 'target_name': 'ppapi_shared_win64',
225 'type': '<(component)',
227 'nacl_win64_target': 1,
228 'ppapi_shared_target': 1,
232 '../base/base.gyp:base_win64',
233 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
234 '../ipc/ipc.gyp:ipc_win64',
235 '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
238 '<@(nacl_win64_defines)',
240 'export_dependent_settings': [
241 '../base/base.gyp:base_win64',
245 'msvs_target_platform': 'x64',
250 'target_name': 'ppapi_ipc_win64',
251 'type': 'static_library',
253 'nacl_win64_target': 1,
254 'ppapi_ipc_target': 1,
257 '../base/base.gyp:base_win64',
258 '../ipc/ipc.gyp:ipc_win64',
259 '../gpu/gpu.gyp:gpu_ipc_win64',
260 '../ui/events/latency_info_nacl.gyp:latency_info_nacl_win64',
262 'ppapi_shared_win64',
264 'export_dependent_settings': [
265 '../gpu/gpu.gyp:gpu_ipc_win64',
268 '<@(nacl_win64_defines)',
270 'all_dependent_settings': {
277 'msvs_target_platform': 'x64',