Port Mesa to build on a P64 platform (e.g., Win64).  P64 platforms
use 64-bit pointers and 32-bit longs.  So, operations like casting pointers
to unsigned long and back to pointer won't work.  glheader.h now
includes files to define uintptr_t, which should instead be used for
this sort of operation.  It is an integer type that is the same size
as a pointer.
diff --git a/src/mesa/shader/nvfragparse.c b/src/mesa/shader/nvfragparse.c
index e51ba31..f7e10b8 100644
--- a/src/mesa/shader/nvfragparse.c
+++ b/src/mesa/shader/nvfragparse.c
@@ -373,7 +373,7 @@
       parseState->pos += (-i);
       return GL_FALSE;
    }
-   len = _mesa_strlen((const char *) token);
+   len = (GLint)_mesa_strlen((const char *) token);
    parseState->pos += (i - len);
    return GL_TRUE;
 }