Index: build/config/gcc/BUILD.gn |
diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn |
index b0fc9812cf5153eb7dc7dd636a47b8815db7a47d..43162b608167157ff382de1c03b611c4da6506f0 100644 |
--- a/build/config/gcc/BUILD.gn |
+++ b/build/config/gcc/BUILD.gn |
@@ -20,6 +20,18 @@ config("symbol_visibility_hidden") { |
cflags = [ "-fvisibility=hidden" ] |
} |
+# Set the appropriate default symbol visibility based on existing |
+# configurations. |
+config("default_symbol_visibility") { |
+ # XCTests inject a dynamic library into an iOS application. If fvisibility |
+ # is set to hidden, then some symbols from the application needed by XCTests |
+ # are not available. Make sure all symbols are exported for Debug |
+ # configuration on iOS so XCTests will work. |
+ if (!is_ios || is_release) { |
+ configs = [ ":symbol_visibility_hidden" ] |
+ } |
+} |
+ |
# The rpath is the dynamic library search path. Setting this config on a link |
# step will put the directory where the build generates shared libraries into |
# the rpath. |