qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-3163) Define public/private library symbols with gcc
Date Thu, 28 Jul 2011 14:54:09 GMT

     [ 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:dev-subscribe@qpid.apache.org


Mime
View raw message