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,
46 '../base/base.gyp:base',
47 '../base/base.gyp:base_i18n',
48 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
49 '../build/temp_gyp/googleurl.gyp:googleurl',
50 '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
51 '../gpu/gpu.gyp:command_buffer_client',
52 '../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 # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
57 '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
58 '../ui/surface/surface.gyp:surface',
60 'export_dependent_settings': [
61 '../base/base.gyp:base',
62 '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
68 '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
73 # Disable c4267 warnings until we fix size_t to int truncations.
74 'msvs_disabled_warnings': [ 4267, ],
78 ['component=="static_library"', {
79 # In a static build, build ppapi_ipc separately.
82 'target_name': 'ppapi_ipc',
83 'type': 'static_library',
85 'ppapi_ipc_target': 1,
88 '../base/base.gyp:base',
89 '../gpu/gpu.gyp:gpu_ipc',
91 '../skia/skia.gyp:skia',
95 'all_dependent_settings': {
102 'target_name': 'ppapi_proxy',
103 'type': 'static_library',
105 'ppapi_proxy_target': 1,
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 '../third_party/icu/icu.gyp:icuuc',
116 # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
117 '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
118 '../ui/surface/surface.gyp:surface',
123 'all_dependent_settings': {
131 { # component != static_library
132 # In the component build, we'll just build ppapi_ipc in to ppapi_proxy.
135 'target_name': 'ppapi_proxy',
136 'type': 'shared_library',
138 # Setting both variables means we pull in the sources from both
139 # ppapi_ipc.gypi and ppapi_proxy.gypi.
140 'ppapi_ipc_target': 1,
141 'ppapi_proxy_target': 1,
144 '../base/base.gyp:base',
145 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
146 '../gpu/gpu.gyp:gles2_implementation',
147 '../gpu/gpu.gyp:gpu_ipc',
148 '../media/media.gyp:shared_memory_support',
149 '../ipc/ipc.gyp:ipc',
150 '../skia/skia.gyp:skia',
151 '../third_party/icu/icu.gyp:icuuc',
152 # TODO(ananta) : The WebKit dependency needs to move to a new target for NACL.
153 '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
154 '../ui/surface/surface.gyp:surface',
158 'all_dependent_settings': {
163 # Disable c4267 warnings until we fix size_t to int truncations.
164 'msvs_disabled_warnings': [ 4267, ],
167 # In component build, this is just a phony target that makes sure
168 # ppapi_proxy is built, since that's where the ipc sources go in the
170 'target_name': 'ppapi_ipc',
178 ['disable_nacl!=1 and OS=="win" and target_arch=="ia32"', {
179 # In windows builds, we also want to define some targets to build in
180 # 64-bit mode for use by nacl64.exe (the NaCl helper process for 64-bit
184 'target_name': 'ppapi_shared_win64',
185 'type': '<(component)',
187 'nacl_win64_target': 1,
188 'ppapi_shared_target': 1,
192 '../base/base.gyp:base_nacl_win64',
193 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64',
196 '<@(nacl_win64_defines)',
198 'export_dependent_settings': [
199 '../base/base.gyp:base_nacl_win64',
203 'msvs_target_platform': 'x64',
208 'target_name': 'ppapi_ipc_win64',
209 'type': 'static_library',
211 'nacl_win64_target': 1,
212 'ppapi_ipc_target': 1,
215 '../base/base.gyp:base_nacl_win64',
216 '../ipc/ipc.gyp:ipc_win64',
217 '../gpu/gpu.gyp:gpu_ipc_win64',
219 'ppapi_shared_win64',
221 'export_dependent_settings': [
222 '../gpu/gpu.gyp:gpu_ipc_win64',
225 '<@(nacl_win64_defines)',
227 'all_dependent_settings': {
234 'msvs_target_platform': 'x64',