aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorMarc Schink <jaylink-dev@marcschink.de>2015-02-21 17:37:37 -0500
committerMarc Schink <jaylink-dev@marcschink.de>2015-03-02 03:23:47 -0500
commit14082a97fb637d16b89f138eca02f5cc3acd1f10 (patch)
treef00fe7fb5a2a8b9a3fdd1b29e9f1f6671098c7da /configure.ac
parentb8d75852403839bd5dc7abd67c5c80da210a6466 (diff)
downloadlibjaylink-14082a97fb637d16b89f138eca02f5cc3acd1f10.zip
libjaylink-14082a97fb637d16b89f138eca02f5cc3acd1f10.tar.gz
libjaylink-14082a97fb637d16b89f138eca02f5cc3acd1f10.tar.bz2
Mark visibility of public API and private functions.
Add macros JAYLINK_API and JAYLINK_PRIV to mark public API and private symbols. JAYLINK_API is used to mark symbols which should be part of the public API whereas JAYLINK_PRIV is used to mark symbols which should be accessible among internal files but not be part of the public API. To prevent symbol leakage all non-static symbols are treated as marked with JAYLINK_PRIV unless explicitly marked with JAYLINK_API. JAYLINK_API and JAYLINK_PRIV use the visibility feature of gcc which requires version 4.0 or greater. See: http://gcc.gnu.org/wiki/Visibility
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac7
1 files changed, 4 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 770b3d4..23ca6d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
##
## This file is part of the libjaylink project.
##
-## Copyright (C) 2014 Marc Schink <jaylink-dev@marcschink.de>
+## Copyright (C) 2014-2015 Marc Schink <jaylink-dev@marcschink.de>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -26,8 +26,9 @@ AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
-# Enable additional compiler warnings via -Wall and -Wextra.
-CFLAGS="$CFLAGS -Wall -Wextra -Werror"
+# Enable additional compiler warnings via -Wall and -Wextra. Use hidden
+# visibility for all non-static symbols by default with -fvisibility=hidden.
+CFLAGS="$CFLAGS -Wall -Wextra -Werror -fvisibility=hidden"
# Checks for programs.
AC_PROG_CC