Mark visibility of public API and private functions.
commit14082a97fb637d16b89f138eca02f5cc3acd1f10
authorMarc Schink <jaylink-dev@marcschink.de>
Sat, 21 Feb 2015 22:37:37 +0000 (21 17:37 -0500)
committerMarc Schink <jaylink-dev@marcschink.de>
Mon, 2 Mar 2015 08:23:47 +0000 (2 03:23 -0500)
treef00fe7fb5a2a8b9a3fdd1b29e9f1f6671098c7da
parentb8d75852403839bd5dc7abd67c5c80da210a6466
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
17 files changed:
Doxyfile
configure.ac
libjaylink/buffer.c
libjaylink/core.c
libjaylink/device.c
libjaylink/discovery.c
libjaylink/error.c
libjaylink/jtag.c
libjaylink/libjaylink-internal.h
libjaylink/libjaylink.h
libjaylink/list.c
libjaylink/log.c
libjaylink/swd.c
libjaylink/swo.c
libjaylink/target.c
libjaylink/transport.c
libjaylink/util.c