This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Generating an interface description for libraries


Is there any way to generate or characterize the external interface
presented by a set of source which is intended to form a shared library
(which may have version numbering implications)?

This information is in the source, in the form of the external function
and object interfaces.  We can *nearly* get this information by using
"nm" on the object files or resultant library.  But there are a number
of limitations to this:
*	Symbols for C functions doesn't capture the return or input
parameters.
*	Similarly, C++ doesn't capture the return types.
*	The type of globals isn't incorporated.
...and probable other stuff as well.

What I am after is some characterization of an interface, which can then
be compared to a previous version to determine whether it is equivalent,
a superset (backwards compatible), a subset, intersection, or separate.

This is me being very lazy, and wondering about automatic versioning and
compatibility management of versioned libraries.

Yes, I know about libtool...


Si.


-- 
Simon A Watts
Software Engineer
Philips Medical Systems
mailto:simon.watts@marconi.com
tel: +44(0) 1252 747 311


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]