Skip to content
The Jenkins Controller is preparing for shutdown. No new builds can be started.
Success

Changes

Summary

  1. GLhandleARB set to void * on OS X, unsigned int everywhere else (details)
  2. Add debug targets to match those in gluegen and jogl (details)
  3. Remove stub includes that are duplicates of gluegen's and jogl's (details)
  4. Remove obsolete Netbeans build files (details)
  5. Include Khronos derived glcorearb.h before cl_gl.h, avoiding typedef (details)
Commit 5a5a23a533df0ec5f47f94a7bda901e703b25040 by Wade Walker
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.
The file was modifiedmake/stub_includes/GL3/gl3.h (diff)
The file was modifiedmake/stub_includes/GL3/glext.h (diff)
Commit 6affe9ce21fddc307712545a38caf735da52c1cf by Wade Walker
Add debug targets to match those in gluegen and jogl
The file was modified.externalToolBuilders/jocl-ant.launch (diff)
The file was modified.project (diff)
The file was modifiedmake/build.xml (diff)
Commit 02ef8884a2ca07de510bbc3fb17ff2a68083ad14 by Wade Walker
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.
The file was removedmake/stub_includes/common/stddef.h (diff)
The file was removedmake/stub_includes/gl/gltypes.h (diff)
The file was removedmake/stub_includes/jvm/jni_md.h (diff)
The file was removedmake/stub_includes/common/stdint.h (diff)
The file was modifiedmake/config/cl-impl.cfg (diff)
The file was removedmake/stub_includes/jvm/jni.h (diff)
The file was modifiedmake/build.xml (diff)
The file was removedmake/stub_includes/GL3/glext.h (diff)
The file was modifiedmake/stub_includes/opencl.h (diff)
The file was removedmake/stub_includes/GL3/gl3.h (diff)
Commit 263bc4eba018a78f76dcc311c55372697d592627 by Wade Walker
Remove obsolete Netbeans build files

The new Jogamp standard Ant build has been working correctly for a while
now, so we can delete the old Netbeans build files safely.
The file was removedobsolete.make-nb/Makefile (diff)
The file was removedobsolete.make-nb/nbproject/project.properties (diff)
The file was removedobsolete.make-nb/nbproject/genfiles.properties (diff)
The file was removedobsolete.make-nb/build.xml (diff)
The file was removedobsolete.make-nb/nbproject/.gitignore (diff)
The file was removedobsolete.make-nb/nbproject/build-impl.xml (diff)
The file was removedobsolete.make-nb/manifest_template.mf (diff)
The file was removedobsolete.make-nb/crosscompiler.xml (diff)
The file was removedobsolete.make-nb/nbproject/project.xml (diff)
Commit f7c50fca34df0b5d393ffab0da09bce19ddfba64 by Sven Gothel
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.

+++

OSX 10.10 32bit:
  sizeof int: 4
  sizeof long: 4
  sizeof long long: 8
  sizeof intptr_t: 4
  sizeof uintptr_t: 4
  sizeof ptrdiff_t: 4
  sizeof size_t: 4
  sizeof float: 4
  sizeof double: 8
  sizeof long double: 16

OSX 10.10 64bit:
  sizeof int: 4
  sizeof long: 8
  sizeof long long: 8
  sizeof intptr_t: 8
  sizeof uintptr_t: 8
  sizeof ptrdiff_t: 8
  sizeof size_t: 8
  sizeof float: 4
  sizeof double: 8
  sizeof long double: 16
The file was removedmake/scripts/make.jocl.all.macosx-clang.sh (diff)
The file was modifiedmake/scripts/make.jocl.all.macosx.sh (diff)
The file was addedmake/scripts/make.jocl.all.macosx-java6.sh (diff)
The file was modifiedmake/config/cl-impl.cfg (diff)