[
https://issues.apache.org/jira/browse/QPID-3163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Conway updated QPID-3163:
------------------------------
Description:
Currently qpid libraries built with gcc export all symbols, public and private.
This makes it difficult to define the public interface of our libraries and to
create automated tools that can verify compatibility between library versions
or detect incompatible changes.
gcc provides a flag flag to make symbols hidden by default
(--fvisibility=hidden), and the qpid source code already has macros to mark
public functions, the FOO_EXTERN macros defined to support exporting the public
API on Windows. By suitably defining these macros for gcc we can control the
symbols exported by our libraries.
For more details:
http://gcc.gnu.org/wiki/Visibility
http://gcc.gnu.org/faq.html#dso
was:
Currently qpid libraries built with gcc export all symbols, public and private.
This makes it difficult to define the public interface of our libraries and to
create automated tools that can verify compatibility between library versions
or detect incompatible changes.
gcc provides a flag flag to make symbols hidden by default
(--fvisibility=hidden), and the qpid source code already has macros to mark
public functions, the FOO_EXTERN macros defined to support exporting the public
API on Windows. By suitably defining these macros for gcc we can control the
symbols exported by our libraries.
> Define public/private library symbols with gcc
> ----------------------------------------------
>
> Key: QPID-3163
> URL: https://issues.apache.org/jira/browse/QPID-3163
> Project: Qpid
> Issue Type: Improvement
> Components: C++ Client
> Affects Versions: 0.11
> Reporter: Alan Conway
> Assignee: Alan Conway
> Fix For: 0.11
>
>
> Currently qpid libraries built with gcc export all symbols, public and
> private. This makes it difficult to define the public interface of our
> libraries and to create automated tools that can verify compatibility
> between library versions or detect incompatible changes.
> gcc provides a flag flag to make symbols hidden by default
> (--fvisibility=hidden), and the qpid source code already has macros to mark
> public functions, the FOO_EXTERN macros defined to support exporting the
> public API on Windows. By suitably defining these macros for gcc we can
> control the symbols exported by our libraries.
> For more details:
> http://gcc.gnu.org/wiki/Visibility
> http://gcc.gnu.org/faq.html#dso
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]