Jogamp
gluegen.git
7 months agoMerge remote-tracking branch 'remotes/xranby/aarch64' master pulled rc
Sven Gothel [Wed, 22 Feb 2017 14:04:42 +0000 (15:04 +0100)]
Merge remote-tracking branch 'remotes/xranby/aarch64'

7 months agoFactor out Cleaner access for general use (Cleaning up NIO DirectBuffer)
Sven Gothel [Wed, 22 Feb 2017 14:00:05 +0000 (15:00 +0100)]
Factor out Cleaner access for general use (Cleaning up NIO DirectBuffer)

7 months agoHowToBuild: Refine and add Debian 9 (Stretch)
Sven Gothel [Wed, 22 Feb 2017 13:58:45 +0000 (14:58 +0100)]
HowToBuild: Refine and add Debian 9 (Stretch)

10 months agoBug 1295: Add linux-aarch64 GNU/Linux AArch64 crosscompile support
Xerxes Rånby [Mon, 12 Dec 2016 07:32:08 +0000 (08:32 +0100)]
Bug 1295: Add linux-aarch64 GNU/Linux AArch64 crosscompile support

make/lib/gluegen-cpptasks-linux-aarch64.xml:
  Add missing -DisLinux=true required when crosscompiling
  Remove -marm -mfloat-abi=hard flags unrecognisable by aarch64 crosscompile toolchain

make/lib/toolchain/aarch64-linux-gnueabi/bin/*:
  Symlink to /usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-*

make/scripts/make.gluegen.all.linux-aarch64-cross.sh:
  New crosscompile script

make/stub_includes/platform/glibc-compat-symbols.h:
  glibc 2.17 is the first glibc version that support aarch64
  however memcpy is not versioned for aarch64
  Disable versioning for linux glibc/aarch64

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>

10 months agoBug 1295: Add linux-aarch64 GNU/Linux AArch64 support
Xerxes Ranby [Fri, 27 May 2016 06:49:02 +0000 (08:49 +0200)]
Bug 1295: Add linux-aarch64 GNU/Linux AArch64 support

make/build.xml: New target declare.linux.aarch64
                Update target declare.linux to depend on declare.linux.aarch64
make/gluegen-cpp-tasks-base.xml: Fix aarch64 jre/lib/arm -> jre/lib/aarch64
make/lib/gluegen-cpptasks-linux-aarch64.xml: Added
make/scripts/make.gluegen.all.linux-aarch64.sh: Added

Tested on DragonBoard 410c running Linaro Debian
Platform: LINUX / Linux 4.4.8-linaro-lt-qcom (4.4.8), aarch64 (ARM64, EABI_AARCH64), 4 cores, littleEndian true
MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
  int8    1 / 1, int16   2 / 2
  int     4 / 4, long    8 / 8
  int32   4 / 4, int64   8 / 8
  float   4 / 4, double  8 / 8, ldouble 16 / 16
  pointer 8 / 8, page    4096
Platform: Java Version: 1.8.0_91 (1.8.0u91), VM: OpenJDK 64-Bit Server VM, Runtime: OpenJDK Runtime Environment
Platform: Java Vendor: Oracle Corporation, http://java.oracle.com/, JavaSE: true, Java6: true, AWT enabled: true

Signed-off-by: Xerxes Ranby <xerxes@gudinna.com>

10 months agoAdd GitLab CI .gitlab-ci.yml, build and test each commit on aarch64 and x86-64 linux...
Xerxes Rånby [Sat, 10 Dec 2016 21:58:04 +0000 (22:58 +0100)]
Add GitLab CI .gitlab-ci.yml, build and test each commit on aarch64 and x86-64 linux systems.

23 months agoBump scripts to jre1.8.0_66
Sven Gothel [Mon, 16 Nov 2015 02:08:37 +0000 (03:08 +0100)]
Bump scripts to jre1.8.0_66

23 months agoBug 1268 - DynamicLibraryBundleInfo: Add NativeLibrary's 'searchSystemPath' and ...
Sven Gothel [Sun, 15 Nov 2015 03:44:32 +0000 (04:44 +0100)]
Bug 1268 - DynamicLibraryBundleInfo: Add NativeLibrary's 'searchSystemPath' and 'searchSystemPathFirst' attributes

NativeLibrary can be instantiate by defining
'searchSystemPath' and 'searchSystemPathFirst' arguments,
allowing to specify the system path role while looking up the library.

Since NativeLibrary is utilized via DynamicLibraryBundleInfo upstream,
the latter interface shall allow users to specify those attributes.

2 years agoRemove deprectated classes and methods
Sven Gothel [Thu, 15 Oct 2015 12:03:53 +0000 (14:03 +0200)]
Remove deprectated classes and methods

2 years agoVersion Semantics Test: Bump for 2.3.2 -> 2.4.x
Sven Gothel [Mon, 12 Oct 2015 06:06:20 +0000 (08:06 +0200)]
Version Semantics Test: Bump for 2.3.2 -> 2.4.x

2 years agoBump to 2.4.0-rc
Sven Gothel [Sat, 10 Oct 2015 04:47:35 +0000 (06:47 +0200)]
Bump to 2.4.0-rc

2 years agoBump to 2.3.2 Release v2.3.2
Sven Gothel [Fri, 9 Oct 2015 04:18:28 +0000 (06:18 +0200)]
Bump to 2.3.2 Release

2 years agoBump semver to commit 4f50b49c955f2bde2bb7eb4c7493206ec6bb1f2f
Sven Gothel [Wed, 7 Oct 2015 08:43:39 +0000 (10:43 +0200)]
Bump semver to commit 4f50b49c955f2bde2bb7eb4c7493206ec6bb1f2f

+    Fix JLS Binary Compat: Moving methods and fields upwards for classes _and_ interfaces is OK
+
+    - We shall also travers all interfaces upwards
+    - All methods and fields found upwards must be tested for compatibility as well!
+
+    Further:
+    - Add class-name to Field- and MethodInfo via new intermediate AbstractMemberInfo.
+      The class-name is used to have allow differs to find a class move upwards!
+
+    - Pretty printing of class move binary-compatible change

2 years agoRefine new API methods: ExceptionUtils, Uri (Add @since, refine arguments and API...
Sven Gothel [Sat, 3 Oct 2015 18:11:43 +0000 (20:11 +0200)]
Refine new API methods: ExceptionUtils, Uri (Add @since, refine arguments and API doc)

2 years agoBug 1243 - Fix IOUtil.cleanPathString(..) special case ; Allow IOUtil and Uri to...
Sven Gothel [Sat, 3 Oct 2015 09:44:02 +0000 (11:44 +0200)]
Bug 1243 - Fix IOUtil.cleanPathString(..) special case ; Allow IOUtil and Uri to handle relative path

Fix IOUtil.cleanPathString(..) special case:
  Special case '/a/./../b' -> '/b'
  requires to resolve './' before '../'.

Allow IOUtil and Uri to handle relative path:
- IOUtil.getParentOf(..)
- IOUtil.cleanPathString(..)
  Handle cases:
   'a/./../b' -> 'b'
   '.././b' -> '../b'

- Uri: Handle null scheme

2 years agoBug 1237: Minor Cleanup: AssetURLContext and IOUtil.getResource(..) DEBUG Messages
Sven Gothel [Sat, 3 Oct 2015 02:28:32 +0000 (04:28 +0200)]
Bug 1237: Minor Cleanup: AssetURLContext and IOUtil.getResource(..) DEBUG Messages

2 years agoBug 1237 - Clarify IOUtil.getResource(..) for better efficiency, i.e. allow caller...
Sven Gothel [Sat, 3 Oct 2015 02:10:06 +0000 (04:10 +0200)]
Bug 1237 - Clarify IOUtil.getResource(..) for better efficiency, i.e. allow caller to skip relative futile lookup

IOUtil.getResource(..) and IOUtil.ClassResources, needs more clarity.

ClassLoader shall be passed explicitly next to the optional
relative context Class instance.

This allows better efficiency, i.e. caller can pass ClassLoader
but skip a possible relative lookup, if not existing.

2 years agoBug 1231: Usability of CustomCompress API incl zip-level; Replace test-exe deflated...
Sven Gothel [Thu, 24 Sep 2015 16:31:03 +0000 (18:31 +0200)]
Bug 1231: Usability of CustomCompress API incl zip-level; Replace test-exe deflated files w/ zip-level 9

2 years agoBug 1231: Add Windows x86_64 test executable ; Use 'WinMain' for Windows test-executa...
Sven Gothel [Thu, 24 Sep 2015 12:59:26 +0000 (14:59 +0200)]
Bug 1231: Add Windows x86_64 test executable ; Use 'WinMain' for Windows test-executable ; Use CustomInflate for Performance

- Use 'WinMain' for Windows test-executable
  This may have little difference than using std 'main' entry

- Add Windows x86_64 test executable
  Since the reporter claims the test executable works well
  on Windows i386, maybe utilizing a x86_64 test executable
  on same VM fixes the issue

- Use CustomInflate for Performance
  - Skips GZIP header
  - Adds own custom header [magic, deflate-size, inflate-size]
  - Own header allows simplified I/O read and deflation

2 years agoBug 1219: IOUtil.testDirExe: Issue Process.destroy() in finalize block to ensure...
Sven Gothel [Wed, 23 Sep 2015 04:42:28 +0000 (06:42 +0200)]
Bug 1219: IOUtil.testDirExe: Issue Process.destroy() in finalize block to ensure launched native exe process terminates.

See Bug 1219 comment 58: It seems that on some Windows platforms
the launched native process using our test-exe keeps running
even though we issued Process.waitFor().

Hence we issue Process.destroy() in the finalize block
to at least attempt to terminate it.

Note: The Process implementation is platform specific and may vary.

2 years agoBug 1219: IOUtil.testDirExe: Disable 'existingExe' DEBUG_EXE feature by hardcoded...
Sven Gothel [Mon, 21 Sep 2015 22:54:01 +0000 (00:54 +0200)]
Bug 1219: IOUtil.testDirExe: Disable 'existingExe' DEBUG_EXE feature by hardcoded 'DEBUG_EXE_EXISTING_FILE = false'

This is required for security, i.e. not allowing to execute any pre-existing files!

In case we need to manually debug this issue,
we can re-enable it manually and locally, but not in public builds!

2 years agoBug 1219: Fix IOUtil.StreamMonitor EOS handling
Sven Gothel [Mon, 21 Sep 2015 05:30:03 +0000 (07:30 +0200)]
Bug 1219: Fix IOUtil.StreamMonitor EOS handling

- Make StreamMonitor a daemon thread, i.e. not hindering VM from exit

- Earmark each InputStream's EOS state
  and only attempt to readByte if !eos

- End loop and hence the thread if all InputStream
  have reached EOS.

- Don't close the InputStream.
  Closing the InputStream is expected to be done
  by the owner, otherwise no EOS could even be reached!

- Flush the output PrintStream at thread exit

2 years agoBug 1219: IOUtil.testDirExe: Satisfactory when executed, more debug options
Sven Gothel [Mon, 21 Sep 2015 05:26:53 +0000 (07:26 +0200)]
Bug 1219: IOUtil.testDirExe: Satisfactory when executed, more debug options

IOUtil.testDirExe():
  - Satisfactory when executed
    Failure to execute produce an IOException right at ProcessBuilder.start().
    Hence we can allow an unexpected process exit value,
    since we only want to learn whether executable files are allowed.

  - More debug options
    DEBUG_EXE:          'jogamp.debug.IOUtil.Exe'
    DEBUG_EXE_NOSTREAM: 'jogamp.debug.IOUtil.Exe.NoStream'

    - if DEBUG_EXE
      - a pre-existing 'jogamp_exe_tst'+<SUFFIX> will be used as-is.

      - the test-exe will not be deleted

      - StreamMonitor is being used to dump stdout/stderr
        if !DEBUG_EXE_NOSTREAM.

2 years agoBug 1219: Use Win32 API for test PE exe, not console
Sven Gothel [Sat, 19 Sep 2015 19:32:18 +0000 (21:32 +0200)]
Bug 1219: Use Win32 API for test PE exe, not console

Previous test PE exe, commit 0ebc5398fa20d23214a37dc4930a1fa1617293c7,
was a console exe. A console exe opens a new console window
if not being launched from one.

New test PE exe is produced w/ '-mwindows', i.e. for Win32 API
w/o a console.

2 years agoBug 1219: Sporadic failure to determine 'executable temp base directory' on Windows...
Sven Gothel [Sat, 19 Sep 2015 03:56:29 +0000 (05:56 +0200)]
Bug 1219: Sporadic failure to determine 'executable temp base directory' on Windows using 'exe-windows-i586-268b.bin' (Fix attempt #1)

Replacing the tiny 268 byte sized 'exe-windows-i586-268b.bin' PE file
w/ a regular 2048 byte sized PE file 'exe-windows-i386-2048b.bin'.

File is produced via:
  c:\mingw\bin\gcc -nodefaultlibs -nostdlib -s -Os -o tiny.exe tiny.c

Adding the 305 byte sized gzipped version 'exe-windows-i386-2048b.bin.305b.gz'
to the gluegen-rt jar file to reduce the payload for non Windows platforms.

Adding special property 'jogamp.debug.IOUtil.Exe' to debug testing the exe file,
enable via '-Djogamp.debug.IOUtil.Exe'.

Passes here on all Windows machines, however, the prev. one worked here as well.

2 years agoFix Android LauncherTempFileCache: Cannot use gluegen-rt dependencies
Sven Gothel [Fri, 18 Sep 2015 09:11:34 +0000 (11:11 +0200)]
Fix Android LauncherTempFileCache: Cannot use gluegen-rt dependencies

GlueGen'w runtime dependency com.jogamp.common.util.InterruptSource
was introduced in commit 1c4e2d3ea379fe6578dfb84e10f22729b71b1ae5
but the launcher loads the same ..

2 years agoBug 1213: Use InterruptSource.Thread
Sven Gothel [Tue, 15 Sep 2015 04:36:35 +0000 (06:36 +0200)]
Bug 1213: Use InterruptSource.Thread

2 years agoBug 1213: Refine changes .. comments and API
Sven Gothel [Tue, 15 Sep 2015 03:12:14 +0000 (05:12 +0200)]
Bug 1213: Refine changes .. comments and API

- Use InterruptSource.Thread.create(..),
  while reducing InterruptSource.Thread ctors to 3 variants.

- Use InterruptSource.Thread instead of java.lang.Thread where possible

- Use SourcedInterruptedException where possible

- SingletonInstanceServerSocket: start(), stop() and run()
  - Persistent-Wait and Cancelable

- Add @since 2.3.2

2 years agoBug 1213 (related): Fix TaskBase, RunnableTask and FunctionTask implementation and...
Sven Gothel [Sat, 12 Sep 2015 15:29:31 +0000 (17:29 +0200)]
Bug 1213 (related): Fix TaskBase, RunnableTask and FunctionTask implementation and semantics

- TaskBase
  - requires 'volatile boolean isExecuted' for atomic query of same semantics
  - fix isInQueue(): condition was reverse in regars to 'isExecuted'
  - expose 'Thread getExecutionThread()' as learned within run() method.

- RunnableTask
  - deprecate: 'static invoke(final boolean waitUntilDone, final Runnable runnable)',
    since it's nonsense, use runnable.run() instead.

  - 'static RunnableTask invokeOnNewThread(..)'
    - uses InterruptSource.Thread
    - Persistent-Wait
    - Cancelable using InterruptedRuntimeException

- FunctionTask
  - deprecate 'static <U,V> U invoke(final boolean waitUntilDone, final Function<U,V> func, final V... args)',
    since it's nonsense, use func.eval(args) instead.

  - 'static FunctionTask<U,V> invokeOnNewThread(..)'
    - uses InterruptSource.Thread
    - Persistent-Wait
    - Cancelable using InterruptedRuntimeException

2 years agoBug 1213: Expose InterruptSource, SourcedInterruptedException and InterruptedRuntimeE...
Sven Gothel [Sat, 12 Sep 2015 15:13:52 +0000 (17:13 +0200)]
Bug 1213: Expose InterruptSource, SourcedInterruptedException and InterruptedRuntimeException

- InterruptSource interface declares methods to retrieve
  the source of a Thread.interrupt() call.

- InterruptSource.Thread implements InterruptSource,
  i.e. allows code running within such thread to learn about
  the interrupt source (stack trace).

- SourcedInterruptedException is a InterruptedException specialization
  which may include the source of the causing Thread.interrupt() call.

- InterruptedRuntimeException
  An unchecked RuntimeException propagating an InterruptedException
  where handling of the latter is not desired.
  The causing InterruptedException may be of type SourcedInterruptedException,
  hence a detailed stack trace analysis might be possible.

2 years agoSingletonJunitCase: Allow explicit disabling singletonLock to allow manual test cases...
Sven Gothel [Sat, 5 Sep 2015 03:00:14 +0000 (05:00 +0200)]
SingletonJunitCase: Allow explicit disabling singletonLock to allow manual test cases to run concurrently

2 years agoBug 1213 - RecursiveThreadGroupLockImpl01Unfairish.unlock() always interrupts origina...
Sven Gothel [Sat, 5 Sep 2015 02:42:53 +0000 (04:42 +0200)]
Bug 1213 - RecursiveThreadGroupLockImpl01Unfairish.unlock() always interrupts original-owner, even if not waiting at unlock()

RecursiveThreadGroupLockImpl01Unfairish.unlock():

An interrupt() is always issued
from group members on the original owner.

This shall only happen, if the original owner is waiting
within unlock() for all group members to be unlocked.

This extra interrupt causes side-effects, see Bug 1211.

Only issue the interrupt to wake-up the original owner
iff waiting within unlock!

+++

RecursiveLockImpl01CompleteFair:
  Issue 'Thread.interrupted()' to clear a slipped interrupt
  call after while-loop.

2 years agoWindows Scripts: Bump JVM to 1.8.0_60
Sven Gothel [Tue, 1 Sep 2015 21:36:46 +0000 (23:36 +0200)]
Windows Scripts: Bump JVM to 1.8.0_60

2 years agoRecursiveThreadGroupLockImpl01Unfairish: Add toString() in IllegalArgumentException...
Sven Gothel [Sat, 29 Aug 2015 19:02:32 +0000 (21:02 +0200)]
RecursiveThreadGroupLockImpl01Unfairish: Add toString() in IllegalArgumentException exceptions

2 years agoBug 1145, Bug 1172: Add performance counter for native-jar lookup: Property 'jogamp...
Sven Gothel [Tue, 18 Aug 2015 10:13:30 +0000 (12:13 +0200)]
Bug 1145, Bug 1172: Add performance counter for native-jar lookup: Property 'jogamp.debug.JNILibLoader.Perf'

2 years agoBug 1145: JNILibLoaderBase.addNativeJarLibsImpl: Proper order: #1 single-slim-jar...
Sven Gothel [Tue, 18 Aug 2015 10:12:25 +0000 (12:12 +0200)]
Bug 1145: JNILibLoaderBase.addNativeJarLibsImpl: Proper order: #1 single-slim-jar, #2 fat-jar, #3 Classpath + TAG.class

We shall attempt the official recommendation of deployment first (single-slim-jar)
not wasting time trying a 'nativeLibraryPath' lookup within the classpath.

2 years agoBug 1172: TempJarCache: Only copy native library files from 'natives/os.and.arch...
Sven Gothel [Tue, 18 Aug 2015 01:30:58 +0000 (03:30 +0200)]
Bug 1172: TempJarCache: Only copy native library files from 'natives/os.and.arch', reducing JAR search.

Since all native libraries are now contained within 'natives/os.and.arch',
we don't need to search the whole JAR file anymore
but simply can copy the content of the defined folder - if existing.

2 years agoBug 1145: Fix cc2: Null versions reported using the fat-jar (JogampVersion)
Sven Gothel [Tue, 18 Aug 2015 00:50:49 +0000 (02:50 +0200)]
Bug 1145: Fix cc2: Null versions reported using the fat-jar (JogampVersion)

In case we run fat-jar file, the package name is 'com.jogamp'
and all entries are based upon GlueGen.

JogampVersion will fall back trying to find a fat-jar Manifest
in case a null Manifest is being passed.

2 years agoBug 1194: Reinstate system-lib search for NativeLibrary.open(..) and PlatformPropsImp...
Sven Gothel [Tue, 18 Aug 2015 00:15:31 +0000 (02:15 +0200)]
Bug 1194: Reinstate system-lib search for NativeLibrary.open(..) and PlatformPropsImpl.findSysLib(..).

This patch partially reverts of commit d12e4d4ea279998b27457691038e709879dcaca6.

NativeLibrary.open(..) requires search of system libraries,
since it loads the actual 'tool library' for which we generate the JNI binding.
The 'tool library' is preferably the system wide installed version,
e.g. libGL.so etc.

PlatformPropsImpl.findSysLib(..) also requires finding system libraries
as needed for PlatformPropsImpl.queryElfFile(..), i.e. using libjava.so etc.

Only the JNI 'glue library', glueing java calls to the 'tool library',
shall not use the system wide library search since we shall only use
JogAmp provided instances here.

This patch also reinstates binary compatibility w/ prev. GlueGen JARs
since NativeLibrary.enumerateLibraryPath(..) is public.

+++

Further more 'NativeLibrary.enumerateLibraryPath(..)'
now adds OSX system framework search _before_ the user path
in case 'searchSystemPath && searchSystemPathFirst'.
Original code always added this search to the end,
which does not match the intended behavior (-> bug).

2 years agoMerge branch 'bug1194' of https://github.com/xranby/gluegen
Sven Gothel [Mon, 17 Aug 2015 23:04:21 +0000 (01:04 +0200)]
Merge branch 'bug1194' of https://github.com/xranby/gluegen

Conflicts:
src/java/com/jogamp/common/os/NativeLibrary.java

Due to commit for Bug 1145, bf4d8786cb732d86db333b43020ecf0af27f60bf

2 years agoMerge branch 'bug1145' of https://github.com/xranby/gluegen
Sven Gothel [Mon, 17 Aug 2015 23:01:51 +0000 (01:01 +0200)]
Merge branch 'bug1145' of https://github.com/xranby/gluegen

2 years agoBug 1194: NativeLibrary: Remove dangerous search paths using the JRE extension mechanism
Xerxes Rånby [Wed, 12 Aug 2015 13:47:16 +0000 (15:47 +0200)]
Bug 1194: NativeLibrary: Remove dangerous search paths using the JRE extension mechanism

NativeLibrary:
    API change: Removed searchSystemPathFirst argument to the
    open and enumerateLibraryPaths methods.
    Removed the generic sun.boot.library.path system path and the
    MacOS specific Frameworks paths from enumerateLibraryPaths.

JNILibLoaderBase, PlatformPropsImpl & TestElfReader01:
   Updated to handle the NativeLibrary API change.

This change will prevent JogAmp modules to pickup and load unsupported
and old SUN JOGL 1 natives that may have been deployed with the JRE.

2 years agoBug 1145: Fix cc1 NativeLibrary: Add current working directory + natives/os-arch...
Xerxes Rånby [Wed, 12 Aug 2015 12:56:26 +0000 (14:56 +0200)]
Bug 1145: Fix cc1 NativeLibrary: Add current working directory + natives/os-arch/ + library names

Fixes Bug 1145 cc1 when using an unpacked fat-jar

2 years agoBug 1172: Use the same in-jar folder structure for native jars as the fat-jar
Xerxes Rånby [Wed, 12 Aug 2015 10:21:12 +0000 (12:21 +0200)]
Bug 1172: Use the same in-jar folder structure for native jars as the fat-jar

2 years agoBitfield Unit Test: Add 3bit test-data; Add testing 'untouched' other bits of put32...
Sven Gothel [Fri, 7 Aug 2015 12:36:08 +0000 (14:36 +0200)]
Bitfield Unit Test: Add 3bit test-data; Add testing 'untouched' other bits of put32/get32

2 years agoDynamicLibraryBundle.toolDynamicLookupFunction(..): DEBUG: Show 'toolGetProcAddressHa...
Sven Gothel [Wed, 5 Aug 2015 14:42:56 +0000 (16:42 +0200)]
DynamicLibraryBundle.toolDynamicLookupFunction(..): DEBUG: Show 'toolGetProcAddressHandle'  (Bug 1062)

Show 'toolGetProcAddressHandle' in DEBUG mode in DynamicLibraryBundle.toolDynamicLookupFunction(..),
allowing to validate source of symbols.

2 years agoFix Bitfield.put(..): Return previous value
Sven Gothel [Sun, 2 Aug 2015 00:09:48 +0000 (02:09 +0200)]
Fix Bitfield.put(..): Return previous value

2 years agoTest Bitfield: Validate Bitfield.copy(..) return value
Sven Gothel [Sat, 1 Aug 2015 23:22:29 +0000 (01:22 +0200)]
Test Bitfield: Validate Bitfield.copy(..) return value

2 years agoSyncedBitfield.clearField: Must be synchronized
Sven Gothel [Sat, 1 Aug 2015 23:18:41 +0000 (01:18 +0200)]
SyncedBitfield.clearField: Must be synchronized

2 years agoIntBitfield: Fix units calculation ( +7 -> +31 for ceiling, using 32bits per unit)
Sven Gothel [Sat, 1 Aug 2015 23:13:48 +0000 (01:13 +0200)]
IntBitfield: Fix units calculation ( +7 -> +31 for ceiling, using 32bits per unit)

2 years agoBitfield: Refine API method names, add clearField(boolean), fix put32(..) and bitCoun...
Sven Gothel [Sat, 1 Aug 2015 23:12:21 +0000 (01:12 +0200)]
Bitfield: Refine API method names, add clearField(boolean), fix put32(..) and bitCount(), add unit test (passed)

2 years agoBitfield: Reuse [BitstreamData -> BitDemoData] for unit tests
Sven Gothel [Sat, 1 Aug 2015 22:04:36 +0000 (00:04 +0200)]
Bitfield: Reuse [BitstreamData -> BitDemoData] for unit tests

2 years agoBitfield: Refine impl. complete get/put 32bit, add copy*(..), add synchronized delega...
Sven Gothel [Fri, 31 Jul 2015 02:55:06 +0000 (04:55 +0200)]
Bitfield: Refine impl. complete get/put 32bit, add copy*(..), add synchronized delegation; TODO: Unit tests.

2 years agoBitfield: @since 2.3.2 ..
Sven Gothel [Thu, 30 Jul 2015 01:00:15 +0000 (03:00 +0200)]
Bitfield: @since 2.3.2 ..

2 years agoBitfield: Use IndexOutOfBoundsException instead of ArrayIndexOutOfBoundsException
Sven Gothel [Thu, 30 Jul 2015 00:53:59 +0000 (02:53 +0200)]
Bitfield: Use IndexOutOfBoundsException instead of ArrayIndexOutOfBoundsException

2 years agoIntroduce Bitfield interface w/ Int32 and Int32Array impl. deprecating IntBitfield
Sven Gothel [Thu, 30 Jul 2015 00:50:38 +0000 (02:50 +0200)]
Introduce Bitfield interface w/ Int32 and Int32Array impl. deprecating IntBitfield

IntBitfield's 64bit bit-size is exceeding its use-case,
making it less efficient and complicated.

Bitfield offers a fast path implementation for 32 bits
as well as a int[] implementation.

TODO: 32 bit Unaligned putInt32(..) and getInt32(..),
currently throwing UnsupportedOperationException for int[] impl.

2 years agoBug 1145 - Fat Jar: Use 'Main-Class' for default launch of useful info/demos
Sven Gothel [Wed, 29 Jul 2015 07:37:14 +0000 (09:37 +0200)]
Bug 1145 - Fat Jar: Use 'Main-Class' for default launch of useful info/demos

2 years agoBug 1145 - Provide JogAmp Big Fat Jars and Fat 7z Archive
Sven Gothel [Wed, 29 Jul 2015 02:08:49 +0000 (04:08 +0200)]
Bug 1145 - Provide JogAmp Big Fat Jars and Fat 7z Archive

New distributed files in 'dist' subfolder for producing fat files via jogamp-scripting:

dist/jogamp-fat.mf
dist/jogamp-test-fat.mf
dist/junit.jar

2 years agoPlatformPropsImpl: Add static final Version18 and Version19 VersionNumber
Sven Gothel [Mon, 27 Jul 2015 10:17:08 +0000 (12:17 +0200)]
PlatformPropsImpl: Add static final Version18 and Version19 VersionNumber

2 years agoBug 1180: Refine BuffersTest: Add assertion for remaining()
Sven Gothel [Fri, 24 Jul 2015 20:50:19 +0000 (22:50 +0200)]
Bug 1180: Refine BuffersTest: Add assertion for remaining()

2 years agoBug 1180 BuffersTest: Refine test case a bit, add static main for standalone tests
Sven Gothel [Fri, 24 Jul 2015 17:35:34 +0000 (19:35 +0200)]
Bug 1180 BuffersTest: Refine test case a bit, add static main for standalone tests

2 years agoBUG1180 BuffersTest: Verify positionLimitCapacityAfterArrayAllocation
Xerxes Rånby [Fri, 24 Jul 2015 17:12:02 +0000 (19:12 +0200)]
BUG1180 BuffersTest: Verify positionLimitCapacityAfterArrayAllocation

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>

2 years agojavadoc stylesheet.css: Refine list visual, i.e. font size 76 -> 80%, line-height...
Sven Gothel [Sun, 19 Jul 2015 20:39:16 +0000 (22:39 +0200)]
javadoc stylesheet.css: Refine list visual, i.e. font size 76 -> 80%, line-height 1.2 (default) -> 1.4

2 years agojavadoc stylesheet.css: Refine list visual, i.e. top/bottom margin and less indentation.
Sven Gothel [Sun, 19 Jul 2015 20:24:42 +0000 (22:24 +0200)]
javadoc stylesheet.css: Refine list visual, i.e. top/bottom margin and less indentation.

2 years agoGCC Linker Config: Add '-static-libstdc++' in case libstdc++ is being linked
Sven Gothel [Sat, 18 Jul 2015 23:21:42 +0000 (01:21 +0200)]
GCC Linker Config: Add '-static-libstdc++' in case libstdc++ is being linked

Linking libstdc++ dynamically might cause issues on platforms
where a huge variation of named library exists - or none even is installed.

2 years agojavadoc/stylesheet.css: Fix font size of nested bullet lists.
Xerxes Rånby [Sat, 18 Jul 2015 19:05:12 +0000 (21:05 +0200)]
javadoc/stylesheet.css: Fix font size of nested bullet lists.

Fonts became too small to read.

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>

2 years agoBug 1166: Refine fix of JavaEmitter's JVMUtil_NewDirectByteBufferCopy (2)
Sven Gothel [Thu, 16 Jul 2015 02:46:17 +0000 (04:46 +0200)]
Bug 1166: Refine fix of JavaEmitter's JVMUtil_NewDirectByteBufferCopy (2)

Further refine code, see commit f6a5ac4473135bbc4bc1a5f537e060df45eb4824.

- Perform a NULL check on Buffers.newDirectByteBuffer(..) result.
- Only copy memory if capacity > 0, incl fetching direct buffer address

2 years agoJavaEmitter.staticClassInitCodeCCode: Reuse static strings
Sven Gothel [Thu, 16 Jul 2015 02:44:08 +0000 (04:44 +0200)]
JavaEmitter.staticClassInitCodeCCode: Reuse static strings

2 years agoBug 1166: Refine fix of JavaEmitter's JVMUtil_NewDirectByteBufferCopy
Sven Gothel [Thu, 16 Jul 2015 01:55:25 +0000 (03:55 +0200)]
Bug 1166: Refine fix of JavaEmitter's JVMUtil_NewDirectByteBufferCopy

See commit e424c28f869269f5a22c22ef017230346b22847a (first patch)

Since JVMUtil_NewDirectByteBufferCopy is being called w/ 'size_t'
values, e.g. 'count * sizeof(Structure)',
we shall validate whether 'capacity' is valid, i.e. <= MAX_INT.

After validation, 'capacity' is being cast to 'jint' before
being passed to the java method.

2 years agoMerge remote-tracking branch 'remotes/xranby/master'
Sven Gothel [Thu, 16 Jul 2015 01:12:57 +0000 (03:12 +0200)]
Merge remote-tracking branch 'remotes/xranby/master'

2 years agoMerge remote-tracking branch 'remotes/xranby/www'
Sven Gothel [Thu, 16 Jul 2015 01:10:57 +0000 (03:10 +0200)]
Merge remote-tracking branch 'remotes/xranby/www'

2 years agoFix jni/macosx/jawt_md.h: Put comment in /* */ brackets ..
Sven Gothel [Wed, 15 Jul 2015 20:07:39 +0000 (22:07 +0200)]
Fix jni/macosx/jawt_md.h: Put comment in /* */ brackets ..

2 years agoEclipse .classpath: Add source mapping of antlr-src.zip to antlr.jar
Sven Gothel [Tue, 14 Jul 2015 20:46:36 +0000 (22:46 +0200)]
Eclipse .classpath: Add source mapping of antlr-src.zip to antlr.jar

2 years agoFix using GlueGen's JNI header for native compilation (java.includes.dir, java.includ...
Sven Gothel [Tue, 14 Jul 2015 20:45:51 +0000 (22:45 +0200)]
Fix using GlueGen's JNI header for native compilation (java.includes.dir, java.includes.dir.platform)

Patch custom make/lib/gluegen-cpptasks-<OS>-<ARCH>.xml
to match using GlueGen's JNI header.

Remove 'ignored override' defs of 'java.includes.dir.platform'
in build.xml.

2 years agoUse GlueGen's JNI header for native compilation (java.includes.dir, java.includes...
Sven Gothel [Tue, 14 Jul 2015 20:15:29 +0000 (22:15 +0200)]
Use GlueGen's JNI header for native compilation (java.includes.dir, java.includes.dir.platform)

Using the same cross-platform JNI header for native compilation
as for GlueGen code generation allows using a more determined (well defined)
and simplified environment.

2 years agoFix Android ARM64 Support: Don't define 'isAndroidARMv6:=false', since properties...
Sven Gothel [Mon, 13 Jul 2015 11:39:07 +0000 (13:39 +0200)]
Fix Android ARM64 Support: Don't define 'isAndroidARMv6:=false', since properties are tested whether they are set, rarely by value

isAndroidARMv6

2 years agoosx-java6 script: use separate rootrel.build
Sven Gothel [Fri, 10 Jul 2015 23:11:07 +0000 (01:11 +0200)]
osx-java6 script: use separate rootrel.build

2 years agoBUG 1166: Fix JavaEmitter JVMUtil_NewDirectByteBufferCopy
Xerxes Rånby [Wed, 8 Jul 2015 20:06:32 +0000 (22:06 +0200)]
BUG 1166: Fix JavaEmitter JVMUtil_NewDirectByteBufferCopy

Prevents jlong to jint truncation
when capacity is passed from jni to java.

com.jogamp.common.nio.Buffers newDirectByteBuffer
and the underlying java.nio.ByteBuffer allocateDirect
only work with capacitys of int size.

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>

2 years agodoc/manual/index.html www/index.html Fix links.
Xerxes Rånby [Fri, 26 Jun 2015 21:40:47 +0000 (23:40 +0200)]
doc/manual/index.html www/index.html Fix links.

Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>

2 years agoBump semver: 0d2e314ef48bd2fd38b45f781c4573bdb2b32a69
Sven Gothel [Fri, 3 Apr 2015 21:51:36 +0000 (23:51 +0200)]
Bump semver: 0d2e314ef48bd2fd38b45f781c4573bdb2b32a69

2 years agoBump semver to 0.9.33 w/ our patch for CompatibilityType.BACKWARD_COMPATIBLE_BINARY
Sven Gothel [Fri, 3 Apr 2015 21:29:56 +0000 (23:29 +0200)]
Bump semver to 0.9.33 w/ our patch for CompatibilityType.BACKWARD_COMPATIBLE_BINARY

2 years agoBump semantic-versioning (0.9.33 + jogamp fixes)
Sven Gothel [Fri, 3 Apr 2015 03:05:19 +0000 (05:05 +0200)]
Bump semantic-versioning (0.9.33 + jogamp fixes)

2 years agoBug 1153 - GlueGen: Bump JCPP
Sven Gothel [Wed, 1 Apr 2015 13:52:50 +0000 (15:52 +0200)]
Bug 1153 - GlueGen: Bump JCPP

2 years agoBug 1153 - GlueGen: Support [const] [native] expressions and conversion to java space...
Sven Gothel [Wed, 1 Apr 2015 13:51:04 +0000 (15:51 +0200)]
Bug 1153 - GlueGen: Support [const] [native] expressions and conversion to java space, incl. [native] numbers

Rewrite ConstantDefinition:

Add sub-class CNumber:
  - containing integer/float values and their original qualifiers
    [long, double, unsigned]
  - conversion to java number

ConstantDefinition:
 - holds native expression
 - optionally holds CNumber representing native expression,
   if [only] a number
 - can compute equivalent java expression
   with result type (JavaExpr)

Add static native number reg-expression
for number detection and parsing.

Add static native number to CNumber conversion methods.

+++

Retrieve full LISP tree and convert to serialized expression
to be utilized for expressions used in enumerates.

Parse enumerates, allowing const native expressions:
  - Utilize ConstantDefinition
    either for definite CNumber or expression
  - Simply add "+1" for new default values,
    if previous is an expression

2 years agoAdd ArrayHashMap; Use 'supportNullValue' optimizing ArrayHashSet and ArrayHashMap...
Sven Gothel [Wed, 1 Apr 2015 13:17:10 +0000 (15:17 +0200)]
Add ArrayHashMap; Use 'supportNullValue' optimizing ArrayHashSet and ArrayHashMap; Unify ctor for both impl.

Add/Enhance unit tests for both.

2 years agoBump to 2.3.2-devel
Sven Gothel [Fri, 27 Mar 2015 23:07:25 +0000 (00:07 +0100)]
Bump to 2.3.2-devel

2 years agoTestVersionSemantics: Add version tests: v220 -> v221, v221 -> v230 and v230 -> v23x v2.3.1
Sven Gothel [Fri, 27 Mar 2015 14:45:47 +0000 (15:45 +0100)]
TestVersionSemantics: Add version tests: v220 -> v221, v221 -> v230 and v230 -> v23x

2 years agoBump to 2.3.1 release
Sven Gothel [Thu, 26 Mar 2015 22:53:36 +0000 (23:53 +0100)]
Bump to 2.3.1 release

2 years agoJavaEmitter: Always use 'containingJTypeName' for JavaConfiguration.canonicalStructFi...
Sven Gothel [Thu, 26 Mar 2015 22:53:18 +0000 (23:53 +0100)]
JavaEmitter: Always use 'containingJTypeName' for JavaConfiguration.canonicalStructFieldSymbol(..)

Patch harmonizes configuration, was also using 'structCTypeName' besides 'containingJTypeName',
but surely it makes no sense to use different type names for struct-field configurations.

2 years agoBug 1149 - Add JCPP Apache 2.0 License to LICENSE.txt file / Also add the Apache...
Sven Gothel [Thu, 26 Mar 2015 20:51:35 +0000 (21:51 +0100)]
Bug 1149 - Add JCPP Apache 2.0 License to LICENSE.txt file / Also add the Apache 2.0 license to doc/licenses/Apache.LICENSE-2.0

JCPP migration shall be completed now.

Thx to Ben Mankin, aka Shevek!

2 years agoBug 1149 - Fix JCPP test case IncludeAbsoluteTest
Sven Gothel [Wed, 25 Mar 2015 12:50:26 +0000 (13:50 +0100)]
Bug 1149 - Fix JCPP test case IncludeAbsoluteTest

2 years agoBug 1149: Fix parsing of hexadecimal w/ binary exponent floats in regexp-constant...
Sven Gothel [Wed, 25 Mar 2015 11:45:41 +0000 (12:45 +0100)]
Bug 1149: Fix parsing of hexadecimal w/ binary exponent floats in regexp-constant and java-parser. (Due to PCPP -> JCPP)

Lack of parsing binary exponent floats is exposed due to using JCPP
and correct constant-definitions.

- JavaParser.g:
  - Add support for hexadecimal w/ binary exponent floats
  - TAB -> 4 spaces

- ConstantDefinition.java:
  - Add RegExp 'fpRegexp', patternDecimalNumber:
      decimal number w/ support for hexadecimal w/ binary exponent floats.

  - isDecimalNumber(..): Use patternDecimalNumber
    instead of try-and-error (NumberFormatException)

  - patternCPPOperand: exclude patternDecimalNumber!

- JavaEmitter.java:
  - Respect explicit suffix [dD] for double type.
  - Drop floating point suffixes [fF]

- Test: Added tests for hexadecimal w/ binary exponent floats

2 years agoRefine JNI header's jni_md.h: Always include 'gluegen_stdint.h' for 'standalone'...
Sven Gothel [Tue, 24 Mar 2015 04:02:42 +0000 (05:02 +0100)]
Refine JNI header's jni_md.h: Always include 'gluegen_stdint.h' for 'standalone' usage.

On OSX java7 we include the system jni.h and GlueGen's jni_md.h ..

Fixes regression of commit 532b8df474976b474f0cf4eb2d93588ded2ad3fe

2 years agoBug 1149 - Replacing PCPP w/ JCPP: Final version bump ..
Sven Gothel [Tue, 24 Mar 2015 03:46:00 +0000 (04:46 +0100)]
Bug 1149 - Replacing PCPP w/ JCPP: Final version bump ..

2 years agoBug 1149 - Replacing PCPP w/ JCPP: Name used CPP impl.
Sven Gothel [Tue, 24 Mar 2015 03:44:11 +0000 (04:44 +0100)]
Bug 1149 - Replacing PCPP w/ JCPP: Name used CPP impl.

2 years agoFix Logging: PlainLogConsoleHandler shall start w/ Level.ALL, add explicit Level...
Sven Gothel [Tue, 24 Mar 2015 02:45:21 +0000 (03:45 +0100)]
Fix Logging: PlainLogConsoleHandler shall start w/ Level.ALL, add explicit Level setter for handler.

2 years agoBug 1149 - Replacing PCPP w/ JCPP, allowing complete macro handling (Part-2: JCPP...
Sven Gothel [Tue, 24 Mar 2015 02:44:24 +0000 (03:44 +0100)]
Bug 1149 - Replacing PCPP w/ JCPP, allowing complete macro handling (Part-2: JCPP submodule, build, test and doc)

2 years agoBug 1149 - Replacing PCPP w/ JCPP, allowing complete macro handling (Part-1: Cleanup...
Sven Gothel [Mon, 23 Mar 2015 03:05:03 +0000 (04:05 +0100)]
Bug 1149 - Replacing PCPP w/ JCPP, allowing complete macro handling (Part-1: Cleanup / Preparation)

2 years agoImport JOGL's JNI header and unify them for GlueGen and C-Compiler usage.
Sven Gothel [Mon, 23 Mar 2015 02:51:23 +0000 (03:51 +0100)]
Import JOGL's JNI header and unify them for GlueGen and C-Compiler usage.

We had macosx JNI header and different JNI header included in JOGL
for native compilation and GlueGen runs.

This unifies the header for any use.

2 years agoFix DynamicLibraryBundle.isToolLibComplete() no tool-lib case, regression of commit...
Sven Gothel [Tue, 17 Mar 2015 23:14:39 +0000 (00:14 +0100)]
Fix DynamicLibraryBundle.isToolLibComplete() no tool-lib case, regression of commit 12feaa7d3b1544098f684d851e3caff1ec88cbc8

Regression of commit 12feaa7d3b1544098f684d851e3caff1ec88cbc8

'isToolLibComplete()' returned false if dynLinkGlobal is null,
even if no tool-lib has been used. In which case dynLinkGlobal
has not been initialized and hence is always null.

'isToolLibComplete()' now takes no tool-lib into consideration!

Currently only 'OVRDynamicLibraryBundleInfo' of JOGL's 'oculusvr' binding
used this configuration within JogAmp.

http://JogAmp.org git info: FAQ, tutorial and man pages.