svn commit: r362304 - head/x11-toolkits/pango

Baptiste Daroussin bapt at FreeBSD.org
Sun Jul 20 21:28:01 UTC 2014


On Sun, Jul 20, 2014 at 04:52:56PM +0200, Tijl Coosemans wrote:
> On Sun, 20 Jul 2014 13:31:24 +0200 Baptiste Daroussin wrote:
> > On Sun, Jul 20, 2014 at 01:26:40PM +0200, John Marino wrote:
> >> On 7/20/2014 13:22, Tijl Coosemans wrote:
> >>> On Sun, 20 Jul 2014 08:15:16 +0000 (UTC) John Marino wrote:
> >>>> Author: marino
> >>>> Date: Sun Jul 20 08:15:16 2014
> >>>> New Revision: 362304
> >>>> URL: http://svnweb.freebsd.org/changeset/ports/362304
> >>>> QAT: https://qat.redports.org/buildarchive/r362304/
> >>>>
> >>>> Log:
> >>>>   x11-toolkits/pango: require explicit linking
> >>>>   
> >>>>   This new configure argument will list all required libraries in the
> >>>>   generated pkgconf files.  Before any library indirectly pulled in, such
> >>>>   as libm, was not listed.
> >>>>   
> >>>>   This fixes numerous regression in dports and it's more correct anyway.
> >>> 
> >>> No, this is wrong.  Each port should link to the libraries it needs on
> >>> its own.  No port should rely on other ports to pull in libraries for
> >>> them.
> >> 
> >> Then I guess we really don't need pkgconfig .pc files at all then?
> >> (This is the point of .pc files, it tells how to link.  libm is directly
> >> used by pango)
> >> 
> >> so no, it is not wrong.  The generated pc file was wrong, now it's not.
> >> This is why the configuration argument exists.
> 
> A .pc file normally has 1 library in the Libs field (the library the .pc
> file is created for) and 0 items in the Requires field.  Dependencies go
> in the Libs.private or Requires.private fields.  The only reason to add
> dependencies to Libs or Requires is if the headers of the library expose
> the API of those dependencies (e.g. the library headers define macros or
> inline functions that expand to calls to functions in a dependency (such
> as Gtk macros that expand to Glib function calls)).
> 
> The pango headers don't even include math.h or complex.h so they cannot
> expose its API.  The generated .pc file was correct, now it is wrong.
> 
> The reason the configure argument exists is probably because this is an
> old .pc file from before the .private fields existed.
> 
> > The good question is "does pango exposes parts of libm or not?" if yes
> > then libm should be listed in the libraries of pango.pc is not it should
> > only appears in the private field.

Libs.private are also there to handle the needed library when something request
static linking so having -lm in libs.private could make sense

Otherwise I do agrree

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-ports-head/attachments/20140720/cfea6211/attachment.sig>


More information about the svn-ports-head mailing list