Index: chrome/BUILD.gn |
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn |
index 6b9f5c0b28a745b28f0ad9ccb8c4987fa695f51f..b7b0460dfae7da2e9210110b3d0d6323f3376588 100644 |
--- a/chrome/BUILD.gn |
+++ b/chrome/BUILD.gn |
@@ -527,6 +527,7 @@ if (is_win) { |
":chrome_app_strings_bundle_data", |
":chrome_resources", |
":chrome_versioned_bundle_data", |
+ ":widevine_add_framework_signature", |
"//build/config/sanitizers:deps", |
"//chrome/common:version_header", |
] |
@@ -651,6 +652,32 @@ if (is_win) { |
] |
} |
+ # On official builds, Widevine needs a signature file for the framework. |
+ # Copy this file directly into the final output directory. |
+ if (is_chrome_branded && enable_pepper_cdms) { |
+ copy("widevine_add_framework_signature") { |
+ sources = [ |
+ "$root_out_dir/$chrome_framework_name.sig", |
+ ] |
+ |
+ final_directory = "$root_out_dir/$chrome_product_full_name.app/Contents/Versions/$chrome_version_full/$chrome_framework_name.framework/" |
Robert Sesek
2017/02/21 16:15:00
I think this is just re-introducing the issue I ra
jrummell
2017/02/21 19:54:56
I tried that earlier. With "sources += [ "$root_ou
Robert Sesek
2017/02/21 22:26:48
Shouldn't it be copied into Contents/Versions/58.0
jrummell
2017/02/22 01:02:08
Yes. I had the directories all expanded in the Fin
|
+ if (defined(chrome_framework_version)) { |
+ final_directory += "Versions/$chrome_framework_version/" |
+ } |
+ outputs = [ |
+ "$final_directory/{{source_file_part}}", |
+ ] |
+ |
+ deps = [ |
+ ":chrome_versioned_bundle_data", |
+ ":sign_chrome_framework_for_widevine", |
+ ] |
+ } |
+ } else { |
+ group("widevine_add_framework_signature") { |
+ } |
+ } |
+ |
action("clean_up_old_versions") { |
script = "//chrome/tools/build/mac/clean_up_old_versions.py" |
outputs = [ |
@@ -862,12 +889,25 @@ if (is_win) { |
":widevine_cdm_library_copy", |
"//third_party/widevine/cdm:widevinecdmadapter", |
] |
+ |
+ # Signatures are only generated for official chrome. |
+ if (is_chrome_branded) { |
+ sources += [ |
+ "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin.sig", |
+ "$root_out_dir/libwidevinecdm.dylib.sig", |
+ ] |
+ public_deps += [ ":sign_cdm_adapter_for_widevine" ] |
+ } |
} |
copy("widevine_cdm_library_copy") { |
sources = [ |
"$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib", |
] |
+ if (is_chrome_branded) { |
+ sources += |
+ [ "$root_out_dir/$widevine_cdm_path/libwidevinecdm.dylib.sig" ] |
+ } |
outputs = [ |
"$root_out_dir/{{source_file_part}}", |
] |
@@ -887,6 +927,25 @@ if (is_win) { |
"//third_party/widevine/cdm:widevine_cdm_manifest", |
] |
} |
+ |
+ widevine_sign_file("sign_cdm_adapter_for_widevine") { |
+ file = "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin" |
+ deps = [ |
+ "//third_party/widevine/cdm:widevinecdmadapter", |
+ ] |
+ } |
+ |
+ widevine_sign_file("sign_chrome_framework_for_widevine") { |
+ file = "$root_out_dir/$chrome_framework_name.framework/" |
+ if (defined(chrome_framework_version)) { |
+ file += "Versions/$chrome_framework_version/" |
+ } |
+ file += "$chrome_framework_name" |
+ signature_file = "$root_out_dir/$chrome_framework_name.sig" |
+ deps = [ |
+ ":chrome_framework", |
+ ] |
+ } |
} |
group("widevine_cdm_library") { |