GLhandleARB set to void * on OS X, unsigned int everywhere else
The OpenCL headers on OS X include gltypes.h, which defines GLhandleARB as void *, but the stub headers gl3.h and glext.h in JOCL were defining it as unsigned int. Put in a typedef to match how Khronos fixes the problem. See http://sourceforge.net/p/glew/bugs/206/, https://bitbucket.org/alfonse/glloadgen/issue/33/mac-compilation-error, https://www.opengl.org/registry/api/GL/glext.h, and https://www.khronos.org/bugzilla/show_bug.cgi?id=762 for more information.
Remove stub includes that are duplicates of gluegen's and jogl's
Removes jocl stub includes that are already defined in gluegen and jogl, and refers to those in gluegen and jogl instead. Requires the literalInclude parameter to the gluegen Ant task, since it must now refer to files outside the jocl project.
Include Khronos derived glcorearb.h before cl_gl.h, avoiding typedef mismatch w/ APPLE's GL
LLVM's clang reports a typedef mismatch of GLintptr and GLsizeiptr between the Khronos derived glcorearb.h (from JOGL) and APPLE's gltypes.h when producing 32bit builds.
+++
In file included from /usr/local/projects/jogamp/jocl/build-macosx-java6/gensrc/native/jocl/CLAbstractImpl_JNI.c:15: /usr/local/projects/jogamp/jogl/make/stub_includes/opengl/GL/glcorearb.h:604:19: error: typedef redefinition with different types ('ptrdiff_t' (aka 'int') vs 'intptr_t' (aka 'long')) typedef ptrdiff_t GLintptr; ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gltypes.h:51:18: note: previous definition is here typedef intptr_t GLintptr;
+++
I.e. Khronos uses ptrdiff_t (aka 'int' on 32bit), where APPLE uses intptr_t (aka 'long' on 32bit).
On OSX 32bit both ('int' and 'long') have the same sizeof value, i.e. 4 bytes, see below, hence the ABI is compatible!
However, clang produces a typedef mismatch.
Fix includes the Khronos derived (JOGL) glcorearb.h before cl_gl.h, hence favors the former 'canonical' definition.