[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SDL c102 transition

On Tue, Mar 11, 2003 at 12:56:17PM +0100, Josselin Mouette wrote:
> On Mon, 2003-03-10 at 23:42, Martin Godisch wrote:
> > On Mon, Mar 10, 2003 at 19:27:56 +0100, Josselin Mouette wrote:
> > 
> > > > If nobody is working on sdl, I may NMU it so that I can perform the c102
> > > > transition for libsmpeg.
> > > 
> > > Does SDL need a transition for the C++ ABI ? AFAIK it is pure C code and
> > > shouldn't need it.
> > 
> > What about libsdl-mixer1.2?

> I was about to ask some advice about it. SDL_mixer doesn't contain any
> C++ code, but it links to smpeg which is C++. For a reason I don't
> understand, libtool adds an explicit -lstdc++ at link time, and I don't
> see why it would be necessary. The case is similar to that of GLU, as
> SDL_mixer only uses C exports of smpeg functions, and is pure C.
> What I don't know is what happens when a C++ program uses SDL_mixer -
> but it shouldn't be a problem, as there are no C++ symbols involved.
> So there are three possibilities :
> 1) Let everything as is and hope it works,
> 2) make a c102 transition for SDL_mixer,

> Comments welcome.

Fortunately, C++ symbol names tend not to collide across ABIs because of
name mangling (one of the main reasons we've *had* an ABI change).  If
libsdl-mixer1.2 links against C++, I think the worst case is that a
C++-using app might load two versions of libstdc++ at the same time.  If
SDL_mixer itself doesn't export any C++ symbols, it should be fine to
just recompile without changing the package name, I think.  (If more is
needed, we'll surely find out before the release and can rename the
package if necessary.)

> 3) do the necessary so that SDL_mixer doesn't link unnecessary with
> libsdtc++ anymore (is that a libtool bug ?).

And how.  I'm considering ripping the .la files out of all of my packages
because of this; see #180496.

Steve Langasek
postmodern programmer

Attachment: pgpriPIlLpJ9N.pgp
Description: PGP signature

Reply to: