macOS: Fix build of widevinecdmadapter.plugin (issue #2314)
This commit is contained in:
parent
cd6b88f7e4
commit
e40b500177
12
BUILD.gn
12
BUILD.gn
|
@ -784,6 +784,7 @@ static_library("libcef_static") {
|
||||||
"//third_party/libxml",
|
"//third_party/libxml",
|
||||||
"//third_party/WebKit/public:blink",
|
"//third_party/WebKit/public:blink",
|
||||||
"//third_party/widevine/cdm:headers",
|
"//third_party/widevine/cdm:headers",
|
||||||
|
"//third_party/widevine/cdm:widevinecdmadapter",
|
||||||
"//third_party/icu",
|
"//third_party/icu",
|
||||||
"//third_party/zlib:minizip",
|
"//third_party/zlib:minizip",
|
||||||
"//tools/v8_context_snapshot:v8_context_snapshot",
|
"//tools/v8_context_snapshot:v8_context_snapshot",
|
||||||
|
@ -800,11 +801,6 @@ static_library("libcef_static") {
|
||||||
"//v8",
|
"//v8",
|
||||||
]
|
]
|
||||||
|
|
||||||
if (!is_mac) {
|
|
||||||
# TODO(cef): Enable for Mac once Widevine build errors are resolved.
|
|
||||||
deps += [ "//third_party/widevine/cdm:widevinecdmadapter" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_win) {
|
if (is_win) {
|
||||||
sources += gypi_paths2.includes_win + [
|
sources += gypi_paths2.includes_win + [
|
||||||
"libcef/browser/browser_main_win.cc",
|
"libcef/browser/browser_main_win.cc",
|
||||||
|
@ -1361,8 +1357,7 @@ if (is_mac) {
|
||||||
"$root_out_dir/cef_extensions.pak",
|
"$root_out_dir/cef_extensions.pak",
|
||||||
"$root_out_dir/devtools_resources.pak",
|
"$root_out_dir/devtools_resources.pak",
|
||||||
"$root_out_dir/v8_context_snapshot.bin",
|
"$root_out_dir/v8_context_snapshot.bin",
|
||||||
# TODO(cef): Restore this line once Widevine build errors are resolved.
|
"$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin",
|
||||||
# "$root_out_dir/$widevine_cdm_path/widevinecdmadapter.plugin",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
public_deps = [
|
public_deps = [
|
||||||
|
@ -1371,8 +1366,7 @@ if (is_mac) {
|
||||||
":pak_200_percent",
|
":pak_200_percent",
|
||||||
":pak_devtools",
|
":pak_devtools",
|
||||||
":pak_extensions",
|
":pak_extensions",
|
||||||
# TODO(cef): Restore this line once Widevine build errors are resolved.
|
"//third_party/widevine/cdm:widevinecdmadapter",
|
||||||
# "//third_party/widevine/cdm:widevinecdmadapter",
|
|
||||||
"//tools/v8_context_snapshot:v8_context_snapshot",
|
"//tools/v8_context_snapshot:v8_context_snapshot",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -352,4 +352,9 @@ patches = [
|
||||||
# https://bitbucket.org/chromiumembedded/cef/issues/2274
|
# https://bitbucket.org/chromiumembedded/cef/issues/2274
|
||||||
'name': 'win_rt_2274',
|
'name': 'win_rt_2274',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# macOS: Fix build of widevinecdmadapter.plugin.
|
||||||
|
# https://bitbucket.org/chromiumembedded/cef/issues/2314
|
||||||
|
'name': 'mac_widevine_2314',
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
diff --git third_party/widevine/cdm/BUILD.gn third_party/widevine/cdm/BUILD.gn
|
||||||
|
index a3eac59cc2eb..d14e71e0319b 100644
|
||||||
|
--- third_party/widevine/cdm/BUILD.gn
|
||||||
|
+++ third_party/widevine/cdm/BUILD.gn
|
||||||
|
@@ -111,14 +111,8 @@ if (widevine_cdm_binary_files != []) {
|
||||||
|
]
|
||||||
|
|
||||||
|
if (is_mac) {
|
||||||
|
- ldflags = [
|
||||||
|
- # Not to strip important symbols by -Wl,-dead_strip.
|
||||||
|
- "-Wl,-exported_symbol,_PPP_GetInterface",
|
||||||
|
- "-Wl,-exported_symbol,_PPP_InitializeModule",
|
||||||
|
- "-Wl,-exported_symbol,_PPP_ShutdownModule",
|
||||||
|
- ]
|
||||||
|
- #TODO(jrummell) Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
|
||||||
|
- } else if (is_posix && !is_mac) {
|
||||||
|
+ ldflags = [ "-Wl,-install_name,@loader_path/libwidevinecdm.dylib" ]
|
||||||
|
+ } else if (is_posix) {
|
||||||
|
cflags = [ "-fvisibility=hidden" ]
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
|
@ -842,11 +842,11 @@ elif platform == 'macosx':
|
||||||
valid_build_dir = build_dir
|
valid_build_dir = build_dir
|
||||||
dst_dir = os.path.join(output_dir, 'Debug')
|
dst_dir = os.path.join(output_dir, 'Debug')
|
||||||
make_dir(dst_dir, options.quiet)
|
make_dir(dst_dir, options.quiet)
|
||||||
|
framework_dst_dir = os.path.join(dst_dir, '%s.framework' % framework_name)
|
||||||
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
|
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
|
||||||
os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet)
|
framework_dst_dir, options.quiet)
|
||||||
copy_file(
|
move_file(os.path.join(framework_dst_dir, 'Resources/widevinecdmadapter.plugin'), \
|
||||||
os.path.join(script_dir, 'distrib/mac/widevinecdmadapter.plugin'),
|
os.path.join(dst_dir, 'widevinecdmadapter.plugin'), options.quiet)
|
||||||
dst_dir, options.quiet)
|
|
||||||
|
|
||||||
if not options.nosymbols:
|
if not options.nosymbols:
|
||||||
# create the symbol output directory
|
# create the symbol output directory
|
||||||
|
@ -869,11 +869,11 @@ elif platform == 'macosx':
|
||||||
dst_dir = os.path.join(output_dir, 'Release')
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
make_dir(dst_dir, options.quiet)
|
make_dir(dst_dir, options.quiet)
|
||||||
if mode != 'client':
|
if mode != 'client':
|
||||||
|
framework_dst_dir = os.path.join(dst_dir, '%s.framework' % framework_name)
|
||||||
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
|
copy_dir(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/%s.framework' % framework_name), \
|
||||||
os.path.join(dst_dir, '%s.framework' % framework_name), options.quiet)
|
framework_dst_dir, options.quiet)
|
||||||
copy_file(
|
move_file(os.path.join(framework_dst_dir, 'Resources/widevinecdmadapter.plugin'), \
|
||||||
os.path.join(script_dir, 'distrib/mac/widevinecdmadapter.plugin'),
|
os.path.join(dst_dir, 'widevinecdmadapter.plugin'), options.quiet)
|
||||||
dst_dir, options.quiet)
|
|
||||||
else:
|
else:
|
||||||
copy_dir(
|
copy_dir(
|
||||||
os.path.join(build_dir, 'cefclient.app'),
|
os.path.join(build_dir, 'cefclient.app'),
|
||||||
|
|
Loading…
Reference in New Issue