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