Subject: Re: building mesa-apps w/ XFree 4
To: Bernd Ernesti <netbsd@arresum.inka.de>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-pkg
Date: 07/05/2001 18:56:30
On Thu, 5 Jul 2001, Bernd Ernesti wrote:

> On Thu, Jul 05, 2001 at 10:45:29AM -0500, Frederick Bruckman wrote:
> > I think the problem may be line's in bsd.prefs.mk such as:
> >
> > .if exists(${X11BASE}/include/GL/glu.h)
> > __BUILTIN_GLU!=         ${EGREP} -c BuildGLULibrary  ${X11BASE}/lib/X11/config/X11.tmpl || ${TRUE}
> > .else
> > __BUILTIN_GLU=          0
> > .endif
> >
> > which will trigger even if X11.tmpl has "#define BuildGLULibrary NO".
>
> This should never happen, such a define has to go into host.def.

At least two people who are running XFree 4 don't have
/usr/X11R6/include/GL/glu.h. I'm just trying to figure out why.

> X11.tmpl should never be changed and I don't think the xfree people
> will do such a change.

Well, it did change between 3.3.6 and 4.0.3. I just realized I have
the XFree 4 includes (in /usr/xsrc/xfree), even though I don't have
XFree 4 installed. I see the problem now...

> define BuildGLXLibrary         (BuildGlxExt && !BuildServersOnly)

Thank you. The crux of it is, we're supposed to be setting BuildGlxExt
to YES in NetBSD.cf, unconditionally. It probably wasn't noticed
because early Xfree 4 testers had a non-empty host.def (I know I did).

Here's the long story. Imake.tmpl pulls in site.def which pulls in
X11.tmpl, which has:

#ifndef BuildGlxExt
#define BuildGlxExt             NO
#endif

Then Imake.tmpl pulls in NetBSD.cf which pulls in xfree86.cf, which
has, in XFree 4:

#ifndef BuildGlxExt
#  define BuildGlxExt    YES
#endif

[This is set to YES unconditionally on NetBSD/1.5.1/i386, or rather,
it's set to yes conditionally on the XF86* servers being built.]

Now Imake.tmpl pulls in site.def again, which pulls in X11.tmpl again,
but BuildGlxExt is still set to NO, which means

> define BuildGLXLibrary         (BuildGlxExt && !BuildServersOnly)

sets BuildGLXLibrary to NO, and

> #ifndef BuildGLULibrary
> #define BuildGLULibrary         (BuildGLXLibrary && HasCplusplus)
> #endif

sets BuildGLULibrary to NO.

> > 2) "locate glu.h"?
>
> [..]
> /usr/X11R6/include/GL/glu.h

Scratch my first idea, that it was mis-located. I wonder if you have
that because it was turned on in XFree 4.0.[12], or if you had a
non-empty host.def, or if it's supplied by a package? (Please try
"pkg_info -F /usr/X11R6/include/GL/glu.h.) In either case, I think we
should ensure that it gets built and installed for XFree 4/NetBSD. I'm
not sure what we should do, in pkgsrc, about supporting systems that
don't have it.


Frederick