Subject: Re: problem in geography/shapelib/buildlink3.mk?
To: None <pkgsrc-users@NetBSD.org>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: pkgsrc-users
Date: 04/17/2006 10:48:02
On Mon, 17 Apr 2006 09:49:09 -0400, Johnny Lam <jlam@pkgsrc.org> wrote:

> Thomas Klausner wrote:
> > On Sun, Apr 16, 2006 at 07:36:14PM -0400, Steven M. Bellovin wrote:
> >> I believe that geography/shapelib/buildlink3.mk needs
> >>
> >> 	BUILDLINK_INCDIRS.shapelib:=     include/libshp
> >>
> >> added so that applications can find the #include file.  Am I correct?  Or
> >> should applications that use it be patched to say #include<libshp/shaplfil.h>?
> > 
> > If a program installs its header files in a subdirectory, it should
> > be well-defined and packages using it should use #include <foo/bar.h>,
> > or it should provide a pkg-config sniplet or config script that
> > provides the appropriate C(PP)FLAGS.
> > 
> > I don't think it's up to buildlink3 to fix this. (Though of course
> > it can be used as a workaround.)
> 
> You can also just add
> 
>    CPPFLAGS+=  -I${BUILDLINK_PREFIX.shapelib}/include/libshp
> 
> to the Makefile of the package that uses shapelib in this way to avoid 
> needing to patch anything.
> 
Thanks.  I know lots of ways around the problem.  My question was more
philosophical: where should it be fixed, in the client packages or in
shapelib.  The answer I'm hearing is the former.  (Obviously, it's a
judgment call, since pkgsrc does support BUILDLINK_INCDIRS and some
packages use it.)

		--Steven M. Bellovin, http://www.cs.columbia.edu/~smb