Re: gnome-common macros stuff (was Re: pkg-config comments)



On Sun, Nov 26, 2000 at 05:00:20PM +0100, Martin Baulig wrote:
> a) You cannot use the .m4 file which is distributed with a package to check
>    whether you have this package - as soon as you use one of the macros from
>    this .m4 file, you must already have the package installed, so checking for
>    it is useless.
pkg-config makes most package .m4 files obsolete. Only very peculiar packages
need their own .m4 file.

There's no need whatsoever for a .m4 file that checks if deps exist. that's
what pkg-config does.

> And for this "oh pkg-config does wonders" league - pkg-config is wonderful and
> nice tool, but it cannot do everything - and especially it is impossible to go
> without the macros in gnome-common if we switch everything to pkg-config:

> d) pkg-config can only be used to check for things which "we" (ie. the GNOME
>    project) maintain, but not for system libraries and operating system details.
So we distribute .pm files for system libraries with pkg-config until we get
them included in the library itself.
 
> e) When you check for things which are developed outside of GNOME CVS and have
>    a .pc file - just using pkg-config to check for them is ultra-lame since
>    it'll abort with a "checking for foo .... not found" and how the hell do
>    the person who's getting this error message know what is `foo' and where
>    he can get `foo' ?

You can point him to a webpage for the package he's trying to compile that
lists all the dependencies, and where to get what (or the README)

>    For such stuff it's just very convenient to have a m4 macro somewhere which
>    you can use.

The reasons listed above are just misuse of the .m4 files. They're supposed
to be used to include macros specific to the library, to check for various
non-generic things, not to do dependency checking.

If you want to continue writing a .m4 macro for every package we make,
then pkg-config has absolutely 0 value.


Martijn




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