aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r--docs/markdown/snippets/visibility.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/markdown/snippets/visibility.md b/docs/markdown/snippets/visibility.md
new file mode 100644
index 0000000..4b67105
--- /dev/null
+++ b/docs/markdown/snippets/visibility.md
@@ -0,0 +1,13 @@
+## Keyword argument for GNU symbol visibility
+
+Build targets got a new keyword, `symbol_visibility` that controls how
+symbols are exported from shared libraries. This is most commonly used
+to hide implementation symbols like this:
+
+```meson
+shared_library('mylib', ...
+ gnu_symbol_visibility: 'hidden')
+```
+
+In this case only symbols explicitly marked as visible in the source
+files get exported.