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

Side by Side Diff: media/media_cdm.gypi

Issue 1989893004: media: Use platform specific folders for CDMs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: specify both paths in chrome.release Created 4 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
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 'includes': [ 6 'includes': [
7 'cdm_paths.gypi',
7 'media_variables.gypi', 8 'media_variables.gypi',
8 ], 9 ],
9 'variables': { 10 'variables': {
10 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|, 11 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|,
11 # and produce video frames filled with a solid color instead. 12 # and produce video frames filled with a solid color instead.
12 'use_fake_video_decoder%': 0, 13 'use_fake_video_decoder%': 0,
13 # Set |use_libvpx_in_clear_key_cdm| to 1 to use libvpx for VP8 decoding in 14 # Set |use_libvpx_in_clear_key_cdm| to 1 to use libvpx for VP8 decoding in
14 # |clearkeycdm|. 15 # |clearkeycdm|.
15 'use_libvpx_in_clear_key_cdm%': 0, 16 'use_libvpx_in_clear_key_cdm%': 0,
16 }, 17 },
17 'conditions': [ 18 'conditions': [
18 ['enable_pepper_cdms==1', { 19 ['enable_pepper_cdms==1', {
19 'includes': [ 20 'includes': [
20 '../build/util/version.gypi', 21 '../build/util/version.gypi',
21 ], 22 ],
22 'targets': [ 23 'targets': [
23 { 24 {
24 # GN version: //media/cdm/ppapi:clearkeycdm 25 # GN version: //media/cdm/ppapi:clearkeycdm
25 'target_name': 'clearkeycdm', 26 'target_name': 'clearkeycdm',
27 'product_dir': '<(PRODUCT_DIR)/<(clearkey_cdm_path)',
26 'type': 'none', 28 'type': 'none',
27 # TODO(tomfinegan): Simplify this by unconditionally including all the 29 # TODO(tomfinegan): Simplify this by unconditionally including all the
28 # decoders, and changing clearkeycdm to select which decoder to use 30 # decoders, and changing clearkeycdm to select which decoder to use
29 # based on environment variables. 31 # based on environment variables.
30 'conditions': [ 32 'conditions': [
31 ['use_fake_video_decoder == 1' , { 33 ['use_fake_video_decoder == 1' , {
32 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], 34 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'],
33 'sources': [ 35 'sources': [
34 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc', 36 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc',
35 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h', 37 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h',
(...skipping 26 matching lines...) Expand all
62 ], 64 ],
63 }], 65 }],
64 ['os_posix == 1 and OS != "mac"', { 66 ['os_posix == 1 and OS != "mac"', {
65 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot. 67 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot.
66 }], 68 }],
67 ['OS == "mac" or OS == "win"', { 69 ['OS == "mac" or OS == "win"', {
68 'type': 'shared_library', 70 'type': 'shared_library',
69 }], 71 }],
70 ['OS == "mac"', { 72 ['OS == "mac"', {
71 'xcode_settings': { 73 'xcode_settings': {
72 'DYLIB_INSTALL_NAME_BASE': '@loader_path', 74 'DYLIB_INSTALL_NAME_BASE': '@rpath',
73 }, 75 },
74 }] 76 }]
75 ], 77 ],
76 'defines': ['CDM_IMPLEMENTATION'], 78 'defines': ['CDM_IMPLEMENTATION'],
77 'dependencies': [ 79 'dependencies': [
78 'media', 80 'media',
79 '../url/url.gyp:url_lib', 81 '../url/url.gyp:url_lib',
80 # Include the following for media::AudioBus. 82 # Include the following for media::AudioBus.
81 'shared_memory_support', 83 'shared_memory_support',
82 '<(DEPTH)/base/base.gyp:base', 84 '<(DEPTH)/base/base.gyp:base',
(...skipping 23 matching lines...) Expand all
106 'extra_variable_files': [ 'cdm/ppapi/external_clear_key/BRANDING' ], 108 'extra_variable_files': [ 'cdm/ppapi/external_clear_key/BRANDING' ],
107 }, 109 },
108 'sources': [ 110 'sources': [
109 'clearkeycdmadapter.ver', 111 'clearkeycdmadapter.ver',
110 ], 112 ],
111 'includes': [ 113 'includes': [
112 '../chrome/version_resource_rules.gypi', 114 '../chrome/version_resource_rules.gypi',
113 ], 115 ],
114 }, 116 },
115 { 117 {
116 # GN version: //media/cdm/ppapi:clearkeycdmadapter 118 'target_name': 'clearkeycdmadapter_binary',
117 'target_name': 'clearkeycdmadapter', 119 'product_name': 'clearkeycdmadapter',
118 'type': 'none', 120 'type': 'none',
119 # Check whether the plugin's origin URL is valid. 121 # Check whether the plugin's origin URL is valid.
120 'defines': ['CHECK_DOCUMENT_URL'], 122 'defines': ['CHECK_DOCUMENT_URL'],
121 'dependencies': [ 123 'dependencies': [
122 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', 124 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
123 'media_cdm_adapter.gyp:cdmadapter', 125 'media_cdm_adapter.gyp:cdmadapter',
124 'clearkeycdm', 126 'clearkeycdm',
125 'clearkeycdmadapter_resources', 127 'clearkeycdmadapter_resources',
126 ], 128 ],
127 'sources': [ 129 'sources': [
128 '<(SHARED_INTERMEDIATE_DIR)/clearkeycdmadapter_version.rc', 130 '<(SHARED_INTERMEDIATE_DIR)/clearkeycdmadapter_version.rc',
129 ], 131 ],
130 'conditions': [ 132 'conditions': [
131 ['os_posix == 1 and OS != "mac"', { 133 ['os_posix == 1 and OS != "mac"', {
132 # Because clearkeycdm has type 'loadable_module' (see comments), 134 # Because clearkeycdm has type 'loadable_module' (see comments),
133 # we must explicitly specify this dependency. 135 # we must explicitly specify this dependency.
134 'libraries': [ 136 'libraries': [
135 '-lrt', 137 '-lrt',
136 # Built by clearkeycdm. 138 # Built by clearkeycdm.
137 '<(PRODUCT_DIR)/libclearkeycdm.so', 139 '<(PRODUCT_DIR)/<(clearkey_cdm_path)/libclearkeycdm.so',
138 ], 140 ],
139 }], 141 }],
142 ['OS == "mac"', {
143 'xcode_settings': {
144 'LD_RUNPATH_SEARCH_PATHS' : [ '@loader_path/.' ],
145 },
146 }, {
147 # Put Clear Key CDM adapter to the correct path directly except
148 # for mac. On mac strip_save_dsym doesn't work with product_dir
149 # so we rely on "clearkeycdmadapter" target to copy it over.
150 # See http://crbug.com/611990
151 'product_dir': '<(PRODUCT_DIR)/<(clearkey_cdm_path)',
152 }]
140 ], 153 ],
141 }, 154 },
142 ], 155 {
156 # GN version: //media/cdm/ppapi:clearkeycdmadapter
157 # On Mac this copies the clearkeycdmadapter binary to
158 # <(clearkey_cdm_path). On all other platforms the binary is already
159 # in <(clearkey_cdm_path). See "product_dir" above.
160 'target_name': 'clearkeycdmadapter',
161 'type': 'none',
162 'dependencies': [
163 'clearkeycdmadapter_binary',
164 ],
165 'conditions': [
166 ['OS == "mac"', {
167 'copies': [{
168 'destination': '<(PRODUCT_DIR)/<(clearkey_cdm_path)',
169 'files': [ '<(PRODUCT_DIR)/clearkeycdmadapter.plugin' ],
170 }],
171 }],
172 ],
173 }],
143 }], 174 }],
144 ], 175 ],
145 } 176 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698