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 _______________________________________________ Libcdio-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/libcdio-devel
