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 change visibility on mksnapshot in order to target mksnapshot for mksnapshot zip.

diff --git a/BUILD.gn b/BUILD.gn
index c13cf053a80d212b836a9be3ec6e76b11627a19d..ca07c3ef538388f3efa982abf526e763c8b66cab 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -715,7 +715,7 @@ config("internal_config") {
     ":cppgc_header_features",
   ]
 
-  if (is_component_build) {
+  if (is_component_build || is_electron_build) {
     defines += [ "BUILDING_V8_SHARED" ]
   }
 
@@ -6546,7 +6546,7 @@ if (current_toolchain == v8_generator_toolchain) {
       "src/interpreter/bytecodes.h",
     ]
 
-    configs = [ ":internal_config" ]
+    configs = [ ":internal_config_base" ]
 
     deps = [
       ":v8_libbase",
@@ -6558,7 +6558,6 @@ if (current_toolchain == v8_generator_toolchain) {
 
 if (current_toolchain == v8_snapshot_toolchain) {
   v8_executable("mksnapshot") {
-    visibility = [ ":*" ]  # Only targets in this file can depend on this.
 
     sources = [
       "src/snapshot/embedded/embedded-empty.cc",
