electron/patches/common/chromium/build_gn.patch
Robo 66ced07545 build: update electron patches (#14623)
* build: remove common/icu/no_inline_default_constructor.patch

It was added in https://github.com/electron/libchromiumcontent/pull/207,
the issue is no longer valid in the GN build.

* build: remove common/icu/build_gn.patch

In GN release build all code including node are linked
statically in a single binary, the workaround is no longer valid.

* build: remove ununsed patches

* build: remove is_electron_gn_build arg

* build: remove component mode crt config patch

* build: remove executable config patch for character_data_generator

* build: remove latency_info.patch

* build: remove exec_script_whitelist patch

* build: update patches/common/v8/build_gn.patch

* build: remove common/chromium/fix-arm64-linking-error.patch

It was added in a1df18ca36
to workaround a linker issue.

* build: remove common/chromium/protobuf_build_gn.patch

It was added to workaround a VS linker bug, it has been fixed
in Update 1

* build: remove common/chromium/disable-recursive-surface-sync.patch

It was added in 6bc6626e2c
to fix dcheck on macOS, it no longer appears to be an issue.
2018-09-15 06:40:18 -05:00

44 lines
1.6 KiB
Diff

diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index 9e38ee0e592b..bd54ce154b13 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") {
# even if the value is overridden, which is wasteful. See first bullet.
declare_args() {
+ is_electron_build = false
+ is_mas_build = false
+
# Set to enable the official build level of optimization. This has nothing
# to do with branding, but enables an additional level of optimization above
# release (!is_debug). This might be better expressed as a tri-state
@@ -539,6 +542,7 @@ default_compiler_configs = [
"//build/config/compiler:thin_archive",
"//build/config/coverage:default_coverage",
"//build/config/sanitizers:default_sanitizer_flags",
+ "//electron/build/config:mas_build",
]
if (is_win) {
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 9a10137aa405..bb33e5450eaa 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -579,10 +579,13 @@ config("compiler") {
ldflags += [ "-Wl,--lto-O0" ]
}
- cflags += [ "-fwhole-program-vtables" ]
- if (!is_win) {
- ldflags += [ "-fwhole-program-vtables" ]
- }
+ # -fwhole-program-vtables doesn't work well in Electron right now, as it's
+ # not a single binary and the optimizations break interfaces used across
+ # binary boundaries.
+ # cflags += [ "-fwhole-program-vtables" ]
+ # if (!is_win) {
+ # ldflags += [ "-fwhole-program-vtables" ]
+ #}
# Work-around for http://openradar.appspot.com/20356002
if (is_mac) {