On 07/19/2011 05:59 PM, Paul Berry wrote:
On 19 July 2011 13:15, Ian Romanick<i...@freedesktop.org>  wrote:
src/egl/main/eglcompiler.h
src/gallium/include/pipe/p_compiler.h
src/mapi/mapi/u_compiler.h
src/mesa/main/compiler.h

None of those headers should ever cross paths.  The only one of those
that anything under src/mesa/main or src/glsl should *ever* hit is
src/mesa/main/compiler.h.  Where did the colliding definition come from?

The colliding definition was in src/mapi/mapi/u_compiler.h.  At least
one of the conflicting paths is:

glsl/link_functions.cpp includes
mesa/main/core.h, which includes
mesa/main/mtypes.h, which includes
mapi/glapi/glapi.h, which includes
mapi/glapi/glthread.h, which includes
mapi/mapi/u_thread.h, which includes
mapi/mapi/u_compiler.h

mesa/main/core.h also includes
mesa/main/compiler.h

I don't know whether there are other conflicting paths.

This conflict doesn't lead to compile errors right now (presumably
because mesa/main/compiler.h gets included first, and the definition
of INLINE in mapi/mapi/u_compiler.h only happens if INLINE is not
already defined).  However, in patch 2/4 of this patch series, I had
to make glsl/glsl_parser_extras.h include main/mtypes.h (so that I
could add a function to glsl_parser_extras.h that referred to gl_api).
  That must have changed the order in which the files get included so
that mapi/mapi/u_compiler.h got included first.

Thanks for the explanation. I'm OK with your original patch. I don't think any of us has time for more elaborate refactoring right now.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to