Subject: Re: pkg/33575:
To: None <gnats-bugs@NetBSD.org>
From: Aaron J. Grier <agrier@poofygoof.com>
List: pkgsrc-bugs
Date: 05/28/2006 14:36:01
On Sun, May 28, 2006 at 09:35:03AM +0000, Thomas Klausner wrote:
>  > textproc/expat does not build with builtin expat library
>  
>  textproc/expat is a replacement for a builtin expat library, so I
>  don't understand this sentence.

if the builtin version of expat satisfies textproc/expat/buildlink3.mk,
(which I have forced in my example to accept a builtin version of >=
1.95.6), the logic in textproc/expat/builtin.mk will fail:

###
### The section below only applies if we are not including this file
### solely to determine whether a built-in implementation exists.
###
CHECK_BUILTIN.expat?=   no
.if !empty(CHECK_BUILTIN.expat:M[nN][oO])

.  if !empty(USE_BUILTIN.expat:M[nN][oO])
BUILDLINK_API_DEPENDS.expat+=   expat>=1.95.4
.  endif

.  if !empty(USE_BUILTIN.expat:M[yY][eE][sS])

[
  at this point:
  USE_BUILTIN.expat=YES
  H_EXPAT=/usr/X11R6/include/expat.h
  X11BASE=${DESTDIR}/usr/X11R6
  DESTDIR= (empty)
]

.    if !empty(H_EXPAT:M${X11BASE}/)

[
  the above comparison will always fail since it's missing the wildcard
  at the end of the expression.
]

BUILDLINK_PREFIX.expat= ${X11BASE}
.      include "../../mk/x11.buildlink3.mk"
.      include "../../mk/x11.builtin.mk"
.    else
BUILDLINK_PREFIX.expat= /usr
.    endif
.  endif 

.endif  # CHECK_BUILTIN.expat

[
  instead of BUILDLINK_PREFIX.expat= ${X11BASE} as desired, we get
  BUILDLINK_PREFIX.expat= /usr, which causes the expat-needing program
  to fail compilation.
]

-- 
  Aaron J. Grier | "Not your ordinary poofy goof." | agrier@poofygoof.com
              "silly brewer, saaz are for pils!"  --  virt