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]

libsoname and ....


Hi,

I think it is time to fix libsoname for libstdc++ once for all. The
current scheme is not working. We should fix it for egcs 1.1. I
propose we do the following:

1. Like glibc 2, the real shared libstdc++ file has name,
libstdc++-ABI-version-reversion.so. Its soname is a symlink from
libstdc++-ABI-version-reversion.so to libstdc++-ABI.so.version. 
They are installed in $(libdir)

2. The static libstc++.a is installed in $(libsubdir) along with
a symlink from $(libdir)/libstdc++-ABI.so.version to libstc++.so.

The reason we need libstdc++-ABI-version-reversion.so instead of
libstdc++-version-reversion.so is on some systems, like Linux,
you can have shared libstdc++ libraries with different ABIs, but
the same version of libstdc++, at the same time. We can have a
default ABI name, like egcs-1.0 or egcs-1.1. On Linux, we can use
egcs-1.1-libc5, egcs-1.1-glibc2.0 and egcs-1.1-glibc2.1.

3. The C++ header files should go into ${prefix}/include/g++-API.

Here I made a differennce between API and ABI. We may have multiple
ABIs, but only one API on Linux.

It will make everyone happy including gcc 2.8.1. I can supply a patch
for it.

Thanks.


-- 
H.J. Lu (hjl@gnu.org)


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