libcdio-devel
[Top][All Lists]
Advanced

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

Re: [Libcdio-devel] libdio 0.76cvs last call?


From: Nicolas Boullis
Subject: Re: [Libcdio-devel] libdio 0.76cvs last call?
Date: Wed, 21 Sep 2005 19:51:03 +0200
User-agent: Mutt/1.5.9i

Hi,

On Tue, Sep 20, 2005 at 10:32:14PM -0400, R. Bernstein wrote:
> 
> So I've just made a change to CVS to add -lm if needed to
> libcdio_cdda.pc. See if this addresses properly to problem you
> mention.

<disclaimer>I know very little (not to say close to nothing) about 
pkg-config, except that it's close to useless/half-broken for dynamic 
linking on systems (like GNU/linux) that support recursive dynamic 
linking...</disclaimer>

Reading you .pc.in files, It seems that some point is missing: shouldn't 
libcdio_cdda, libcdio_paranoia and libiso9600 require libcdio? And 
shouldn't libcdio_paranoia also require libcdio_cdda?

Anyway, this does not solve the issue I saw, the libcdio_cdda.so library 
is still not linked with libm. I just changed it in CVS.


> I've looked at this and moved the structure that cdio/cdda.h was using
> from cdio/paranoia.h int cdio/cdda.h
> 
> I think you are right from a dependency standpoint and the recent
> change makes sense. But, alas, this may not also be without some
> consequence. (The location of definitions I think comes from
> cdparanoia, but if so it admitted that there might be some work needed
> to better separate OS and driver dependencies.)
> 
> In some applications such as those that have I used with libcdio's
> paranoia, I had only:
> 
> #include <cdio/cdda.h>  /* pulls in #include <cdio/paranoia.h> 
>                            for versions < 0.76 */
> 
> In 0.76 with the recent change this won't work. Instead:
> 
> #include <cdio/paranoia.h> 
> 
> will work or:
> 
> #include <cdio/cdda.h>       /* These lines can be | In either order */
> #include <cdio/paranoia.h>   /* in either order    | these lines can be */
> 
> will also work. I've made the changes inside libcdio's example and
> test programs. The places where I've used paranoia outside (an
> alternate CDDA plugin for xine and vlc's libcdio-enabled plugin) I've
> changed. The only other place I am aware of might be gmerlin, so
> libcdio-devel is cc'd.

Well, I think that people who need some declarations from cdio/cdda.h 
should not include cdio/paranoia.h and expect that cdio/paranoia.h will 
always include cdio/cdda.h. I'd call that wrong programming style, and 
I would advise to always use all the headers files that you need 
declarations from... (But to be honnest, I think I do such mistakes 
quite often...)


Cheers,

Nicolas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]