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