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