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 fb68d0ec4d121aaac31fd6e4c317a59976ef034c..dbbe9ae10bebdd71f441fda00c7dbfa187603a84 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -598,7 +598,7 @@ config("internal_config") {
     ":cppgc_header_features",
   ]
 
-  if (is_component_build) {
+  if (is_component_build || is_electron_build) {
     defines += [ "BUILDING_V8_SHARED" ]
   }
 
@@ -5733,7 +5733,7 @@ if (current_toolchain == v8_generator_toolchain) {
       "src/interpreter/bytecodes.h",
     ]
 
-    configs = [ ":internal_config" ]
+    configs = [ ":internal_config_base" ]
 
     deps = [
       ":v8_libbase",
@@ -5771,6 +5771,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",
