On Wed, 2008-05-28 at 20:39 +0200, Ron Blaschke wrote:
> I've applied the patch against a clean r27888 and got:
> 
> Generating runtime/parrot/include................................done.
> 
> Generating OpenGL bindings...
> step gen::opengl died during execution: 'GLOBAL_LOGGER_NAME' is defined 
> as 'GLOBAL_LOGGER_NAMEW', but no 'GLOBAL_LOGGER_NAMEW' has been defined 
> at config/gen/opengl.pm line 403.
> 
>   at Configure.pl line 66

/me laughs

I'm pretty sure I know what happened there:

1. I made the Win32 header globs too generous, so they included some
system headers.

2. The OpenGL #define detector saw something in a non-OpenGL header that
started with 'GL', and assumed it needed to care about it.

3. The #define parser couldn't follow the path of macros defined to
macros in this case, so went boom.

OK, I have to step away from my desk for a bit, but can you test the
following fix?  I'll regenerate the patch when I get back.

On line 325 of config/gen/opengl.pm, where it sets the list of
Win32/MSVC globs, change from:

    (map {("$_/*.h", "$_/gl/*.h")} @include_paths_win32),

to:

    (map "$_/gl/*.h" => @include_paths_win32),

In other words, let's assume the *parent* of the /gl/ directory will be
in the include path list, and force to only glob the /gl/ child of that
parent.  The original version would also glob all the files in the
parent itself, which is causing the problem you see.


-'f


Reply via email to