Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: webkit/media/webkit_media.gypi

Issue 15028015: Conditionally build support for Pepper-based CDMs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Conditionally compile External Clear Key tests Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 'conditions': [ 7 'conditions': [
8 ['OS == "android" or OS == "ios"', { 8 ['OS == "android" or OS == "ios"', {
9 # Android and iOS don't use ffmpeg. 9 # Android and iOS don't use ffmpeg.
10 'use_ffmpeg%': 0, 10 'use_ffmpeg%': 0,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 }], 113 }],
114 ['google_tv == 1', { 114 ['google_tv == 1', {
115 'sources': [ 115 'sources': [
116 'android/media_source_delegate.cc', 116 'android/media_source_delegate.cc',
117 'android/media_source_delegate.h', 117 'android/media_source_delegate.h',
118 ], 118 ],
119 'sources!': [ 119 'sources!': [
120 'crypto/key_systems_info.cc', 120 'crypto/key_systems_info.cc',
121 ], 121 ],
122 }], 122 }],
123 ['enable_pepper_cdms != 1', {
124 'sources!': [
125 'crypto/ppapi_decryptor.cc',
126 'crypto/ppapi_decryptor.h',
127 ],
128 }],
123 ], 129 ],
124 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 130 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
125 'msvs_disabled_warnings': [ 4267, ], 131 'msvs_disabled_warnings': [ 4267, ],
126 }, 132 },
127 { 133 {
128 'target_name': 'clearkeycdm', 134 'target_name': 'clearkeycdm',
129 'type': 'none', 135 'type': 'none',
130 # TODO(tomfinegan): Simplify this by unconditionally including all the 136 # TODO(tomfinegan): Simplify this by unconditionally including all the
131 # decoders, and changing clearkeycdm to select which decoder to use 137 # decoders, and changing clearkeycdm to select which decoder to use
132 # based on environment variables. 138 # based on environment variables.
(...skipping 24 matching lines...) Expand all
157 ['use_libvpx == 1 and use_fake_video_decoder == 0' , { 163 ['use_libvpx == 1 and use_fake_video_decoder == 0' , {
158 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'], 164 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'],
159 'dependencies': [ 165 'dependencies': [
160 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx', 166 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
161 ], 167 ],
162 'sources': [ 168 'sources': [
163 'crypto/ppapi/libvpx_cdm_video_decoder.cc', 169 'crypto/ppapi/libvpx_cdm_video_decoder.cc',
164 'crypto/ppapi/libvpx_cdm_video_decoder.h', 170 'crypto/ppapi/libvpx_cdm_video_decoder.h',
165 ], 171 ],
166 }], 172 }],
167 ['os_posix == 1 and OS != "mac"', { 173 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
168 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots. 174 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots.
169 }, { # 'os_posix != 1 or OS == "mac"' 175 }],
176 ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', {
170 'type': 'shared_library', 177 'type': 'shared_library',
171 }], 178 }],
172 ['OS == "mac"', { 179 ['OS == "mac"', {
173 'xcode_settings': { 180 'xcode_settings': {
174 'DYLIB_INSTALL_NAME_BASE': '@loader_path', 181 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
175 }, 182 },
176 }] 183 }]
177 ], 184 ],
178 'defines': ['CDM_IMPLEMENTATION'], 185 'defines': ['CDM_IMPLEMENTATION'],
179 'dependencies': [ 186 'dependencies': [
(...skipping 19 matching lines...) Expand all
199 'dependencies': [ 206 'dependencies': [
200 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', 207 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
201 'clearkeycdm', 208 'clearkeycdm',
202 ], 209 ],
203 'sources': [ 210 'sources': [
204 'crypto/ppapi/cdm_wrapper.cc', 211 'crypto/ppapi/cdm_wrapper.cc',
205 'crypto/ppapi/cdm/content_decryption_module.h', 212 'crypto/ppapi/cdm/content_decryption_module.h',
206 'crypto/ppapi/linked_ptr.h', 213 'crypto/ppapi/linked_ptr.h',
207 ], 214 ],
208 'conditions': [ 215 'conditions': [
209 ['os_posix == 1 and OS != "mac"', { 216 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
210 'cflags': ['-fvisibility=hidden'], 217 'cflags': ['-fvisibility=hidden'],
211 'type': 'loadable_module', 218 'type': 'loadable_module',
212 # Allow the plugin wrapper to find the CDM in the same directory. 219 # Allow the plugin wrapper to find the CDM in the same directory.
213 'ldflags': ['-Wl,-rpath=\$$ORIGIN'], 220 'ldflags': ['-Wl,-rpath=\$$ORIGIN'],
214 'libraries': [ 221 'libraries': [
215 # Built by clearkeycdm. 222 # Built by clearkeycdm.
216 '<(PRODUCT_DIR)/libclearkeycdm.so', 223 '<(PRODUCT_DIR)/libclearkeycdm.so',
217 ], 224 ],
218 }], 225 }],
219 ['OS == "win"', { 226 ['OS == "win" and enable_pepper_cdms==1', {
220 'type': 'shared_library', 227 'type': 'shared_library',
221 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 228 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
222 'msvs_disabled_warnings': [ 4267, ], 229 'msvs_disabled_warnings': [ 4267, ],
223 }], 230 }],
224 ['OS == "mac"', { 231 ['OS == "mac" and enable_pepper_cdms==1', {
225 'type': 'loadable_module', 232 'type': 'loadable_module',
226 'product_extension': 'plugin', 233 'product_extension': 'plugin',
227 'xcode_settings': { 234 'xcode_settings': {
228 'OTHER_LDFLAGS': [ 235 'OTHER_LDFLAGS': [
229 # Not to strip important symbols by -Wl,-dead_strip. 236 # Not to strip important symbols by -Wl,-dead_strip.
230 '-Wl,-exported_symbol,_PPP_GetInterface', 237 '-Wl,-exported_symbol,_PPP_GetInterface',
231 '-Wl,-exported_symbol,_PPP_InitializeModule', 238 '-Wl,-exported_symbol,_PPP_InitializeModule',
232 '-Wl,-exported_symbol,_PPP_ShutdownModule' 239 '-Wl,-exported_symbol,_PPP_ShutdownModule'
233 ], 240 ],
234 'DYLIB_INSTALL_NAME_BASE': '@loader_path', 241 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
235 }, 242 },
236 }], 243 }],
237 ], 244 ],
238 } 245 }
239 ], 246 ],
240 } 247 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698