From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jeremy Apthorp <nornagon@nornagon.net>
Date: Tue, 16 Apr 2019 10:43:04 -0700
Subject: build_gn.patch

We force V8 into 'shared library' mode so that it exports its symbols, which is
necessary for native modules to load.

Also, some fixes relating to mksnapshot on ARM.

diff --git a/BUILD.gn b/BUILD.gn
index fec387d31eb5842f4fb0ff617f10b2254c0ee260..2385ccc74d41c10a3f61179f31073062250afcdc 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -606,7 +606,7 @@ config("internal_config") {
     ":cppgc_header_features",
   ]
 
-  if (is_component_build) {
+  if (is_component_build || is_electron_build) {
     defines += [ "BUILDING_V8_SHARED" ]
   }
 
@@ -5826,7 +5826,7 @@ if (current_toolchain == v8_generator_toolchain) {
       "src/interpreter/bytecodes.h",
     ]
 
-    configs = [ ":internal_config" ]
+    configs = [ ":internal_config_base" ]
 
     deps = [
       ":v8_libbase",
@@ -5864,6 +5864,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
 
     configs = [ ":internal_config" ]
 
+    configs += [ "//electron/build/config:build_time_executable" ]
+
     deps = [
       ":v8_base_without_compiler",
       ":v8_compiler_for_mksnapshot",
