Index: build/config/gcc/BUILD.gn |
diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1f3cc8d3f55f5822aea4fd445f4bd80a27089000 |
--- /dev/null |
+++ b/build/config/gcc/BUILD.gn |
@@ -0,0 +1,19 @@ |
+# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
scottmg
2014/04/16 18:15:02
2014
|
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# This config causes functions not to be automatically exported from shared |
+# libraries. By default, all symbols are exported by tthis means there are |
scottmg
2014/04/16 18:15:02
"by tthis" to "but this"
|
+# lots of exports that slow everything down. In general we explicitly mark |
+# which functiosn we want to export from components. |
+# |
+# Some third_party code assumes all functions are exported so this is separated |
+# into its own config so such libraries can remove this config to make symbols |
+# public again. |
+# |
+# See http://gcc.gnu.org/wiki/Visibility |
+config("symbol_visibility_hidden") { |
+ # Note that -fvisibility-inlines-hidden is set globally in the compiler |
+ # config since that can almost always be applied. |
+ cflags = [ "-fvisibility=hidden" ] |
+} |