On Wed Apr 16 14:34:05 2008, geoff wrote: > Now that 0.6.1 is out, please consider adding the attached patch to the > Parrot trunk ... I'd like help with platform porting concerns, and I'd > really like to reduce the size of my local diffs. :-)
Here's what I get on linux/amd64: Determining if your platform supports OpenGL...................yes, GLUT 4. ... [EMAIL PROTECTED] parrot-trunk % ./parrot examples/opengl/triangle.pir error:imcc:Constant 'GL_MANGLE_C1' value must be a number, stringliteral or register in file 'opengl_defines.pasm' line 1394 included from 'examples/opengl/triangle.pir' line 1 The relevant portion of opengl_defines.pasm: .macro_const GL_MAD_ATI 0x8968 .macro_const GL_MAGNITUDE_BIAS_NV 0x8718 .macro_const GL_MAGNITUDE_SCALE_NV 0x8712 .macro_const GL_MANGLE_C1 "DO .macro_const GL_MANGLE_C2 "This .macro_const GL_MANGLE_C3 "get .macro_const GL_MANGLE_C4 get .macro_const GL_MAP1_BINORMAL_EXT 0x8446 .macro_const GL_MAP1_COLOR_4 0x0D90 .macro_const GL_MAP1_GRID_DOMAIN 0x0DD0 It looks like this is a parsing bug, caused by some weird stuff in one of my header files. The top of my /usr/include/GL/gl_mangle.h looks like this: #if 0 #define GL_MANGLE_C1 "DO NOT EDIT!!! - TO REGENERATE from gl.h, EXECUTE THIS FILE IN SHELL (/bin/sh) and save the output" #define GL_MANGLE_C2 "This file is used to create GL function protypes and aliases for the function names" files="gl.h glext.h" #define GL_MANGLE_C3 "get regeneration header - copy everything in this file above the 'REGENERATE_TO_END' line" awk '!done; /^\/\*REGENERATE_TO_END/ {done=1}' $0 echo "" #define GL_MANGLE_C4 get aliases grep '^GLAPI' $files | sed -e 's/.*ENTRY gl\([^( ]*\).*$/#define gl\1 MANGLE(\1)/' | sort | uniq echo "" echo "#endif /* GL_MANGLE_H */" exit #endif /* REGENERATION */ Pretty, huh. Mark