PATCH: cups dynamical dependency

Vincent Béron vberon at mecano.gme.usherb.ca
Sun Nov 10 22:35:01 CST 2002


Le dim 10/11/2002 à 23:18, Dimitrie O. Paun a écrit :
> On November 10, 2002 02:40 pm, Marcus Meissner wrote:
> 
> >        Do not link against -lcups directly, but dynamically load it
> >        if present. (just like freetype etc.)
> [...]
> > +#ifdef HAVE_CUPS
> > +           /* dynamically load CUPS if not yet loaded */
> > +           if (!cupshandle) {
> > +               cupshandle = wine_dlopen(CUPS_SONAME, RTLD_NOW, NULL, 0);
> > +               if (!cupshandle) cupshandle = (void*)-1;
> > +           }
> > +#endif
> 
> Well, if we do this dynamically, why have this HAVE_CUPS check which is a
> compile time check? IMO we should just include a copy of the CUPS headers
> that we need, and drop the compile time check altogether. In fact, this
> check is misleading, as it suggests that we've verified some sort of
> compatibility with CUPS which we haven't. We _assume_ that a certain API
> is available at runtime, so why pretend we use something that's on the
> machine we compile on?

I don't think including foreign headers is the way to go. Better
pressure packagers to have CUPS-devel installed when they compile. For
self-compilation, if CUPS is not installed at compile-time, it won't be
there at runtime (except if installed since then, or if CUPS-devel is
not installed).

Foreign headers mean you must track new versions, etc. It doesn't seem
to be the right thing to do.

Vincent




More information about the wine-devel mailing list