Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
| 6 import("//build/config/features.gni") | 6 import("//build/config/features.gni") |
| 7 import("//chrome/process_version_rc_template.gni") | 7 import("//chrome/process_version_rc_template.gni") |
| 8 import("//media/cdm/ppapi/cdm_paths.gni") | 8 import("//media/cdm/ppapi/cdm_paths.gni") |
| 9 import("//media/cdm/ppapi/ppapi_cdm_adapter.gni") | 9 import("//media/cdm/ppapi/ppapi_cdm_adapter.gni") |
| 10 import("//ppapi/features/features.gni") | 10 import("//ppapi/features/features.gni") |
| 11 import("//third_party/widevine/cdm/widevine.gni") | 11 import("//third_party/widevine/cdm/widevine.gni") |
| 12 | 12 |
| 13 widevine_arch = current_cpu | 13 widevine_arch = current_cpu |
| 14 if (widevine_arch == "x86") { | 14 if (widevine_arch == "x86") { |
| 15 widevine_arch = "ia32" | 15 widevine_arch = "ia32" |
| 16 } | 16 } |
| 17 | 17 |
| 18 widevine_cdm_binary_files = [] | 18 widevine_cdm_binary_files = [] |
| 19 widevine_cdm_manifest_file = [] | 19 widevine_cdm_manifest_file = [] |
| 20 | 20 |
| 21 if (is_android) { | 21 if (is_android) { |
| 22 # Always available on Android regardless of branding. | 22 # Always available on Android regardless of branding. |
| 23 widevine_cdm_version_h_file = "android/widevine_cdm_version.h" | 23 widevine_cdm_version_h_file = "android/widevine_cdm_version.h" |
| 24 } else if (is_chrome_branded) { | 24 } else if (is_chrome_branded) { |
| 25 if (is_chromeos) { | 25 if (is_chromeos) { |
| 26 # TODO(hmchen): Revert this change and the other in is_linux after the | |
| 27 # libwidevinecdm.so issue is fixed. | |
|
xhwang
2017/04/01 00:56:41
Please file a bug and add bug number here for trac
| |
| 28 enable_widevine = true | |
| 26 widevine_cdm_version_h_file = | 29 widevine_cdm_version_h_file = |
| 27 "chromeos/$widevine_arch/widevine_cdm_version.h" | 30 "chromeos/$widevine_arch/widevine_cdm_version.h" |
| 28 widevine_cdm_binary_files = [ "chromeos/$widevine_arch/libwidevinecdm.so" ] | |
| 29 } else if (is_linux) { | 31 } else if (is_linux) { |
| 32 enable_widevine = true | |
| 30 widevine_cdm_version_h_file = "linux/$widevine_arch/widevine_cdm_version.h" | 33 widevine_cdm_version_h_file = "linux/$widevine_arch/widevine_cdm_version.h" |
| 31 widevine_cdm_binary_files = [ "linux/$widevine_arch/libwidevinecdm.so" ] | |
| 32 } else if (is_win) { | 34 } else if (is_win) { |
| 33 widevine_cdm_version_h_file = "win/$widevine_arch/widevine_cdm_version.h" | 35 widevine_cdm_version_h_file = "win/$widevine_arch/widevine_cdm_version.h" |
| 34 widevine_cdm_binary_files = [ | 36 widevine_cdm_binary_files = [ |
| 35 "win/$widevine_arch/widevinecdm.dll", | 37 "win/$widevine_arch/widevinecdm.dll", |
| 36 "win/$widevine_arch/widevinecdm.dll.lib", | 38 "win/$widevine_arch/widevinecdm.dll.lib", |
| 37 "win/$widevine_arch/widevinecdm.dll.sig", | 39 "win/$widevine_arch/widevinecdm.dll.sig", |
| 38 ] | 40 ] |
| 39 widevine_cdm_manifest_file = [ "win/$widevine_arch/manifest.json" ] | 41 widevine_cdm_manifest_file = [ "win/$widevine_arch/manifest.json" ] |
| 40 } else if (is_mac) { | 42 } else if (is_mac) { |
| 41 widevine_cdm_version_h_file = "mac/$widevine_arch/widevine_cdm_version.h" | 43 widevine_cdm_version_h_file = "mac/$widevine_arch/widevine_cdm_version.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 75 "widevine_cdm_common.h", | 77 "widevine_cdm_common.h", |
| 76 ] | 78 ] |
| 77 | 79 |
| 78 public_deps = [ | 80 public_deps = [ |
| 79 ":version_h", # Forward permission to use version header. | 81 ":version_h", # Forward permission to use version header. |
| 80 "//media:media_features", | 82 "//media:media_features", |
| 81 "//ppapi/features", | 83 "//ppapi/features", |
| 82 ] | 84 ] |
| 83 } | 85 } |
| 84 | 86 |
| 87 copy("copy_widevinecdm") { | |
| 88 if (is_linux) { | |
| 89 widevine_cdm_binary_files = [ "linux/$widevine_arch/libwidevinecdm.so" ] | |
| 90 } else if (is_chromeos) { | |
| 91 widevine_cdm_binary_files = [ "chromeos/$widevine_arch/libwidevinecdm.so" ] | |
| 92 } | |
| 93 sources = widevine_cdm_binary_files | |
| 94 outputs = [ | |
| 95 "$root_out_dir/$widevine_cdm_path/{{source_file_part}}", | |
| 96 ] | |
| 97 } | |
| 98 | |
| 85 if (widevine_cdm_binary_files != []) { | 99 if (widevine_cdm_binary_files != []) { |
| 86 copy("widevinecdm") { | 100 copy("widevinecdm") { |
| 87 sources = widevine_cdm_binary_files | 101 sources = widevine_cdm_binary_files |
| 88 outputs = [ | 102 outputs = [ |
| 89 "$root_out_dir/$widevine_cdm_path/{{source_file_part}}", | 103 "$root_out_dir/$widevine_cdm_path/{{source_file_part}}", |
| 90 ] | 104 ] |
| 91 | 105 |
| 92 # TODO(jrummell) | 106 # TODO(jrummell) |
| 93 # 'COPY_PHASE_STRIP': 'NO', | 107 # 'COPY_PHASE_STRIP': 'NO', |
| 94 } | 108 } |
| 95 } else if (enable_widevine && enable_pepper_cdms) { | 109 } else if (enable_widevine && enable_pepper_cdms) { |
| 96 assert(!is_chrome_branded, "Branded Chrome should have binary files to copy.") | 110 if (!is_linux && !is_chromeos) { |
| 111 assert(!is_chrome_branded, "Branded Chrome should have binary files to copy. ") | |
| 112 } | |
| 97 assert(!is_android, "Android should not have enable_pepper_cdms.") | 113 assert(!is_android, "Android should not have enable_pepper_cdms.") |
| 98 shared_library("widevinecdm") { | 114 shared_library("widevinecdm") { |
| 99 output_dir = "$root_out_dir/$widevine_cdm_path" | 115 output_dir = "$root_out_dir/$widevine_cdm_path/stub_cdm" |
| 100 sources = [ | 116 sources = [ |
| 101 "//media/cdm/stub/stub_cdm.cc", | 117 "//media/cdm/stub/stub_cdm.cc", |
| 102 "//media/cdm/stub/stub_cdm.h", | 118 "//media/cdm/stub/stub_cdm.h", |
| 103 ] | 119 ] |
| 104 | 120 |
| 105 defines = [ "CDM_IMPLEMENTATION" ] | 121 defines = [ "CDM_IMPLEMENTATION" ] |
| 106 | 122 |
| 107 deps = [ | 123 deps = [ |
| 108 ":version_h", | 124 ":version_h", |
| 125 ":copy_widevinecdm", | |
| 109 "//base", | 126 "//base", |
| 110 "//build/config/sanitizers:deps", | 127 "//build/config/sanitizers:deps", |
| 111 ] | 128 ] |
| 112 | 129 |
| 130 public_deps = [ ":copy_widevinecdm" ] | |
| 131 | |
| 113 if (is_mac) { | 132 if (is_mac) { |
| 114 ldflags = [ | 133 ldflags = [ |
| 115 # Not to strip important symbols by -Wl,-dead_strip. | 134 # Not to strip important symbols by -Wl,-dead_strip. |
| 116 "-Wl,-exported_symbol,_PPP_GetInterface", | 135 "-Wl,-exported_symbol,_PPP_GetInterface", |
| 117 "-Wl,-exported_symbol,_PPP_InitializeModule", | 136 "-Wl,-exported_symbol,_PPP_InitializeModule", |
| 118 "-Wl,-exported_symbol,_PPP_ShutdownModule", | 137 "-Wl,-exported_symbol,_PPP_ShutdownModule", |
| 119 ] | 138 ] |
| 120 #TODO(jrummell) Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | 139 #TODO(jrummell) Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path', |
| 121 } else if (is_posix && !is_mac) { | 140 } else if (is_posix && !is_mac) { |
| 122 cflags = [ "-fvisibility=hidden" ] | 141 cflags = [ "-fvisibility=hidden" ] |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 160 ":widevinecdm", | 179 ":widevinecdm", |
| 161 ":widevinecdmadapter_resources", | 180 ":widevinecdmadapter_resources", |
| 162 ] | 181 ] |
| 163 data_deps = [ | 182 data_deps = [ |
| 164 ":widevine_cdm_manifest", | 183 ":widevine_cdm_manifest", |
| 165 ":widevinecdm", | 184 ":widevinecdm", |
| 166 ] | 185 ] |
| 167 | 186 |
| 168 if (is_linux) { | 187 if (is_linux) { |
| 169 ldflags = | 188 ldflags = |
| 170 [ rebase_path("$root_out_dir/$widevine_cdm_path/libwidevinecdm.so", | 189 [ rebase_path("$root_out_dir/$widevine_cdm_path/stub_cdm/libwidevinecd m.so", |
| 171 root_build_dir) ] | 190 root_build_dir) ] |
| 172 } else if (is_win) { | 191 } else if (is_win) { |
| 173 ldflags = | 192 ldflags = |
| 174 [ rebase_path("$root_out_dir/$widevine_cdm_path/widevinecdm.dll.lib", | 193 [ rebase_path("$root_out_dir/$widevine_cdm_path/widevinecdm.dll.lib", |
| 175 root_build_dir) ] | 194 root_build_dir) ] |
| 176 } else if (is_mac) { | 195 } else if (is_mac) { |
| 177 ldflags = | 196 ldflags = |
| 178 [ rebase_path("$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", | 197 [ rebase_path("$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", |
| 179 root_build_dir) ] | 198 root_build_dir) ] |
| 180 } | 199 } |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 204 "../scripts/signer.py", | 223 "../scripts/signer.py", |
| 205 ] | 224 ] |
| 206 outputs = [ | 225 outputs = [ |
| 207 "$root_out_dir/installer/widevine/{{source_file_part}}", | 226 "$root_out_dir/installer/widevine/{{source_file_part}}", |
| 208 ] | 227 ] |
| 209 } | 228 } |
| 210 } else { | 229 } else { |
| 211 group("widevine_signature_scripts") { | 230 group("widevine_signature_scripts") { |
| 212 } | 231 } |
| 213 } | 232 } |
| OLD | NEW |