OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |