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]

version coding of libstdc++ in egcs-1.1


Currently libstdc++ and libg++ use different versioning schemes. The
question: will the versioning schema change for egcs-1.1?

At least on Linux, the libc version, the gcc version and the stdc++
version are coded in the library name, i.e:

ARLIB   = libg++-$(LIBSTDCXX_INTERFACE)$(LIBC_INTERFACE)$(CXX_INTERFACE)-$(VERSION).a
MARLINK = libg++$(LIBC_INTERFACE)$(CXX_INTERFACE).a.$(LIBSTDCXX_INTERFACE)
SHLIB   = libg++-$(LIBSTDCXX_INTERFACE)$(LIBC_INTERFACE)$(CXX_INTERFACE)-$(VERSION).so
MSHLINK = libg++$(LIBC_INTERFACE)$(CXX_INTERFACE).so.$(LIBSTDCXX_INTERFACE)

BUILD_LIBS = $(ARLIB) marlink $(ARLINK) $(SHLIB) mshlink $(SHLINK)
SHFLAGS    = -Wl,-soname,$(MSHLINK)

Will the stdc++ for 1.1 use a similiar versioning schema? The
--enable-version-specific-runtime-libs switch only seems to address
the needs for egcs developers only, who want to keep different
versions of the stdc++ library. All programs linked with a shared
libstdc++ break, if the installed compiler is removed in favour of a
newer version (or the installed shared lib is kept, but programs would
have to use the exact version number in itīs LD_LIBRARY_PATH or
LD_RUN_PATH, at least on Solaris).  For platforms other than Linux,
only the coding of the CXX_INTERFACE in the library name would be
needed.


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