build: add enable_pepper_flash flag to GN build (#14349)
* chore: reformat BUILD.gn * build: add enable_pepper_flash flag to GN build Fixes #14339. * build: move pepper flash under components/ * [ci skip] build: add electron.icns to mac app resources * build: [gyp] update config to use component pepper flash * build: [gyp] copy pepper shared libraries into executable folder in component build
This commit is contained in:
parent
2f759151d2
commit
ccd63b5ed0
3 changed files with 164 additions and 39 deletions
95
BUILD.gn
95
BUILD.gn
|
@ -32,6 +32,7 @@ declare_args() {
|
||||||
enable_desktop_capturer = true
|
enable_desktop_capturer = true
|
||||||
enable_run_as_node = true
|
enable_run_as_node = true
|
||||||
enable_osr = false
|
enable_osr = false
|
||||||
|
enable_view_api = false
|
||||||
|
|
||||||
# Provide a fake location provider for mocking
|
# Provide a fake location provider for mocking
|
||||||
# the geolocation responses. Disable it if you
|
# the geolocation responses. Disable it if you
|
||||||
|
@ -39,7 +40,8 @@ declare_args() {
|
||||||
# Should not be enabled for release build.
|
# Should not be enabled for release build.
|
||||||
enable_fake_location_provider = !is_official_build
|
enable_fake_location_provider = !is_official_build
|
||||||
|
|
||||||
enable_view_api = false
|
# Enable flash plugin support.
|
||||||
|
enable_pepper_flash = true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_mas_build) {
|
if (is_mas_build) {
|
||||||
|
@ -77,6 +79,9 @@ config("features") {
|
||||||
if (enable_view_api) {
|
if (enable_view_api) {
|
||||||
defines += [ "ENABLE_VIEW_API" ]
|
defines += [ "ENABLE_VIEW_API" ]
|
||||||
}
|
}
|
||||||
|
if (enable_pepper_flash) {
|
||||||
|
defines += [ "ENABLE_PEPPER_FLASH" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
npm_action("atom_browserify_sandbox") {
|
npm_action("atom_browserify_sandbox") {
|
||||||
|
@ -294,15 +299,11 @@ static_library("electron_lib") {
|
||||||
set_sources_assignment_filter(sources_assignment_filter)
|
set_sources_assignment_filter(sources_assignment_filter)
|
||||||
|
|
||||||
if (is_component_build) {
|
if (is_component_build) {
|
||||||
defines += [
|
defines += [ "NODE_SHARED_MODE" ]
|
||||||
"NODE_SHARED_MODE",
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enable_fake_location_provider) {
|
if (enable_fake_location_provider) {
|
||||||
defines += [
|
defines += [ "OVERRIDE_LOCATION_PROVIDER" ]
|
||||||
"OVERRIDE_LOCATION_PROVIDER"
|
|
||||||
]
|
|
||||||
sources += filenames_gypi.lib_sources_location_provider
|
sources += filenames_gypi.lib_sources_location_provider
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,6 +427,10 @@ static_library("electron_lib") {
|
||||||
"atom/browser/api/atom_api_text_field.h",
|
"atom/browser/api/atom_api_text_field.h",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (enable_pepper_flash) {
|
||||||
|
deps += [ "components/pepper_flash" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
electron_paks("packed_resources") {
|
electron_paks("packed_resources") {
|
||||||
|
@ -479,12 +484,8 @@ if (is_mac) {
|
||||||
sources = []
|
sources = []
|
||||||
public_deps = []
|
public_deps = []
|
||||||
if (is_component_ffmpeg) {
|
if (is_component_ffmpeg) {
|
||||||
sources += [
|
sources += [ "$root_out_dir/libffmpeg.dylib" ]
|
||||||
"$root_out_dir/libffmpeg.dylib",
|
public_deps += [ "//third_party/ffmpeg:ffmpeg" ]
|
||||||
]
|
|
||||||
public_deps += [
|
|
||||||
"//third_party/ffmpeg:ffmpeg",
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
outputs = [
|
outputs = [
|
||||||
"{{bundle_contents_dir}}/Libraries/{{source_file_part}}",
|
"{{bundle_contents_dir}}/Libraries/{{source_file_part}}",
|
||||||
|
@ -517,8 +518,8 @@ if (is_mac) {
|
||||||
":electron_lib",
|
":electron_lib",
|
||||||
]
|
]
|
||||||
deps = [
|
deps = [
|
||||||
":electron_framework_resources",
|
|
||||||
":electron_framework_libraries",
|
":electron_framework_libraries",
|
||||||
|
":electron_framework_resources",
|
||||||
":electron_xibs",
|
":electron_xibs",
|
||||||
]
|
]
|
||||||
if (!is_mas_build) {
|
if (!is_mas_build) {
|
||||||
|
@ -620,6 +621,7 @@ if (is_mac) {
|
||||||
sources = [
|
sources = [
|
||||||
"$root_out_dir/resources/default_app.asar",
|
"$root_out_dir/resources/default_app.asar",
|
||||||
"$root_out_dir/resources/electron.asar",
|
"$root_out_dir/resources/electron.asar",
|
||||||
|
"atom/browser/resources/mac/electron.icns",
|
||||||
]
|
]
|
||||||
outputs = [
|
outputs = [
|
||||||
"{{bundle_resources_dir}}/{{source_file_part}}",
|
"{{bundle_resources_dir}}/{{source_file_part}}",
|
||||||
|
@ -809,51 +811,80 @@ group("chromium_browsertests") {
|
||||||
template("dist_zip") {
|
template("dist_zip") {
|
||||||
_runtime_deps_target = "${target_name}__deps"
|
_runtime_deps_target = "${target_name}__deps"
|
||||||
_runtime_deps_file =
|
_runtime_deps_file =
|
||||||
"$root_out_dir/gen.runtime/" +
|
"$root_out_dir/gen.runtime/" + get_label_info(target_name, "dir") + "/" +
|
||||||
get_label_info(target_name, "dir") + "/" +
|
|
||||||
get_label_info(target_name, "name") + ".runtime_deps"
|
get_label_info(target_name, "name") + ".runtime_deps"
|
||||||
|
|
||||||
group(_runtime_deps_target) {
|
group(_runtime_deps_target) {
|
||||||
forward_variables_from(invoker, [ "deps", "data_deps", "data" ])
|
forward_variables_from(invoker,
|
||||||
|
[
|
||||||
|
"deps",
|
||||||
|
"data_deps",
|
||||||
|
"data",
|
||||||
|
])
|
||||||
write_runtime_deps = _runtime_deps_file
|
write_runtime_deps = _runtime_deps_file
|
||||||
}
|
}
|
||||||
|
|
||||||
action(target_name) {
|
action(target_name) {
|
||||||
script = "//electron/build/zip.py"
|
script = "//electron/build/zip.py"
|
||||||
deps = [ ":$_runtime_deps_target" ]
|
deps = [
|
||||||
|
":$_runtime_deps_target",
|
||||||
|
]
|
||||||
forward_variables_from(invoker, [ "outputs" ])
|
forward_variables_from(invoker, [ "outputs" ])
|
||||||
args = rebase_path(outputs + [ _runtime_deps_file ], root_build_dir) + [target_cpu, target_os]
|
args = rebase_path(outputs + [ _runtime_deps_file ], root_build_dir) + [
|
||||||
|
target_cpu,
|
||||||
|
target_os,
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
copy("electron_license") {
|
copy("electron_license") {
|
||||||
sources = [ "LICENSE" ]
|
sources = [
|
||||||
outputs = [ "$root_build_dir/{{source_file_part}}" ]
|
"LICENSE",
|
||||||
|
]
|
||||||
|
outputs = [
|
||||||
|
"$root_build_dir/{{source_file_part}}",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
copy("chromium_licenses") {
|
copy("chromium_licenses") {
|
||||||
deps = [ "//components/resources:about_credits" ]
|
deps = [
|
||||||
sources = [ "$root_gen_dir/components/resources/about_credits.html" ]
|
"//components/resources:about_credits",
|
||||||
outputs = [ "$root_build_dir/LICENSES.chromium.html" ]
|
]
|
||||||
|
sources = [
|
||||||
|
"$root_gen_dir/components/resources/about_credits.html",
|
||||||
|
]
|
||||||
|
outputs = [
|
||||||
|
"$root_build_dir/LICENSES.chromium.html",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
group("licenses") {
|
group("licenses") {
|
||||||
data_deps = [ ":electron_license", ":chromium_licenses" ]
|
data_deps = [
|
||||||
|
":electron_license",
|
||||||
|
":chromium_licenses",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
action("electron_version") {
|
action("electron_version") {
|
||||||
script = "build/write_version.py"
|
script = "build/write_version.py"
|
||||||
outputs = [ "$root_build_dir/version" ]
|
outputs = [
|
||||||
|
"$root_build_dir/version",
|
||||||
|
]
|
||||||
args = rebase_path(outputs, root_build_dir) + [ electron_version ]
|
args = rebase_path(outputs, root_build_dir) + [ electron_version ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dist_zip("electron_dist_zip") {
|
dist_zip("electron_dist_zip") {
|
||||||
data_deps = [ ":electron_app", ":licenses", ":electron_version" ]
|
data_deps = [
|
||||||
outputs = [ "$root_build_dir/dist.zip" ]
|
":electron_app",
|
||||||
|
":licenses",
|
||||||
|
":electron_version",
|
||||||
|
]
|
||||||
|
outputs = [
|
||||||
|
"$root_build_dir/dist.zip",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
group("electron") {
|
group("electron") {
|
||||||
deps = [ ":electron_app" ]
|
deps = [
|
||||||
|
":electron_app",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
57
components/pepper_flash/BUILD.gn
Normal file
57
components/pepper_flash/BUILD.gn
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# Copyright (c) 2018 GitHub, Inc.
|
||||||
|
# Use of this source code is governed by the MIT license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
|
||||||
|
component("pepper_flash") {
|
||||||
|
visibility = [ "//electron:electron_lib" ]
|
||||||
|
defines = [ "IS_PEPPER_FLASH_IMPL" ]
|
||||||
|
sources = [
|
||||||
|
"//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc",
|
||||||
|
"//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h",
|
||||||
|
"//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc",
|
||||||
|
"//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_drm_renderer_host.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_drm_renderer_host.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_font_file_host.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_font_file_host.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_fullscreen_host.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_fullscreen_host.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_menu_host.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_menu_host.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_renderer_host.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_flash_renderer_host.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_helper.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_helper.h",
|
||||||
|
"//chrome/renderer/pepper/pepper_shared_memory_message_filter.cc",
|
||||||
|
"//chrome/renderer/pepper/pepper_shared_memory_message_filter.h",
|
||||||
|
]
|
||||||
|
deps = [
|
||||||
|
"//content/public/browser",
|
||||||
|
"//content/public/renderer",
|
||||||
|
"//media:media_features",
|
||||||
|
"//ppapi/host",
|
||||||
|
"//ppapi/proxy",
|
||||||
|
"//ppapi/proxy:ipc",
|
||||||
|
"//ppapi/shared_impl",
|
||||||
|
"//services/device/public/mojom",
|
||||||
|
"//skia",
|
||||||
|
"//third_party/adobe/flash:flapper_version_h",
|
||||||
|
"//ui/base",
|
||||||
|
]
|
||||||
|
if (is_mac) {
|
||||||
|
sources += [
|
||||||
|
"//chrome/browser/renderer_host/pepper/monitor_finder_mac.h",
|
||||||
|
"//chrome/browser/renderer_host/pepper/monitor_finder_mac.mm",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
51
electron.gyp
51
electron.gyp
|
@ -196,6 +196,11 @@
|
||||||
'<(libchromiumcontent_dir)/ffmpeg.dll',
|
'<(libchromiumcontent_dir)/ffmpeg.dll',
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
|
['enable_pepper_flash==1', {
|
||||||
|
'copied_libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/pepper_flash.dll',
|
||||||
|
],
|
||||||
|
}],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'destination': '<(PRODUCT_DIR)',
|
'destination': '<(PRODUCT_DIR)',
|
||||||
|
@ -238,6 +243,11 @@
|
||||||
'<(libchromiumcontent_dir)/libffmpeg.so',
|
'<(libchromiumcontent_dir)/libffmpeg.so',
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
|
['enable_pepper_flash==1', {
|
||||||
|
'copied_libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/libpepper_flash.so',
|
||||||
|
],
|
||||||
|
}],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'destination': '<(PRODUCT_DIR)',
|
'destination': '<(PRODUCT_DIR)',
|
||||||
|
@ -340,14 +350,36 @@
|
||||||
],
|
],
|
||||||
'link_settings': {
|
'link_settings': {
|
||||||
'conditions': [
|
'conditions': [
|
||||||
['OS=="win"', {
|
['libchromiumcontent_component', {
|
||||||
'libraries': [
|
'conditions': [
|
||||||
'<(libchromiumcontent_dir)/pepper_flash.lib',
|
['OS=="win"', {
|
||||||
]
|
'libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/pepper_flash.dll',
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
['OS=="mac"', {
|
||||||
|
'libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/libpepper_flash.dylib',
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
['OS=="linux"', {
|
||||||
|
'libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/libpepper_flash.so',
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
],
|
||||||
}, {
|
}, {
|
||||||
'libraries': [
|
'conditions': [
|
||||||
'<(libchromiumcontent_dir)/libpepper_flash.a',
|
['OS=="win"', {
|
||||||
]
|
'libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/pepper_flash.lib',
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
'libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/libpepper_flash.a',
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
],
|
||||||
}],
|
}],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -710,6 +742,11 @@
|
||||||
'<(libchromiumcontent_dir)/libffmpeg.dylib',
|
'<(libchromiumcontent_dir)/libffmpeg.dylib',
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
|
['enable_pepper_flash==1', {
|
||||||
|
'copied_libraries': [
|
||||||
|
'<(libchromiumcontent_dir)/libpepper_flash.dylib',
|
||||||
|
],
|
||||||
|
}],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'destination': '<(PRODUCT_DIR)/<(product_name) Framework.framework/Versions/A/Libraries',
|
'destination': '<(PRODUCT_DIR)/<(product_name) Framework.framework/Versions/A/Libraries',
|
||||||
|
|
Loading…
Add table
Reference in a new issue