Adding gcc linker cfg: '-static-libgcc' for all def. build platforms:

- linker.cfg.linux
- linker.cfg.linux.x86
- linker.cfg.linux.amd64
- linker.cfg.linux.armv6
- linker.cfg.solaris
- linker.cfg.solaris.spacv9
- linker.cfg.solaris.amd64
- linker.cfg.macosx
- linker.cfg.linux64.mingw64
- linker.cfg.linux64.mingw32
- linker.cfg.win32.mingw32
- linker.cfg.win32.mingw64

- android.armv6
- android.armv7
- linux.armv6
- linux.armv6hf

These flags shall now go through autobuild and results will be validated,
i.e.:
  - working
  - memory footprint
gluegen: trim trailing whitespace from GlueGenTask

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: small cleanup and type annotation in GlueGenTask

- remove an unused import
- annotate includesList with type information
- small code cleanup now that the type information is present

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: remove trailing whitespace from cgrammer Type class

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: fix equals comparison in cgrammer Type class

name was being compared to itself, rather than the name of the type we are comparing,
looks like a simple typo.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: break apart a complex conditional in Type.equals() for readability

- move the cheap integer compares earlier before the String comparisons

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: remove trailing whitespace from psuedo-C parser

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: simplify expression comparing against Boolean.TRUE

As a last resort we can just return the boolean value directly here, also no
need to try/catch as valueOf does not throw any exceptions.

Pointed out by Findbugs.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: conditional cleanup in Type.equals()

- instanceof includes null checking
- simplify comparison of name, either they are the same object (possibly null)
or they compare equal as strings

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Intermediate revised Type.java edit before reducing
Reducing Type's equals
ProcAddressEmitter: Remove 'guessing' argument names from types, since they are ambiguous - better use default generic ones to avoid confusion.
gluegen: generics annotations for various ArrayList/List use

- Use the copy constructor rather than ArrayList.clone()
- constrain listsEqual  so the compiler will warn about comparing lists of different types

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: remove two fast-path tests that can never trigger

ignores and unimplemented are both Set<Pattern>, they cannot contain a String,
immediately after these 'fast paths' we loop over the patterns calling .matches()
which makes sense, so remove the misleading tests.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: replace Thread name with name of lock file in SingletonInstanceFileLock error message

The getName() call here is currently calling Thread.getName() inherited by the
anonymous inner class.  This is ambiguous, and likely meant to call the getName()
method of SingletonInstanceFileLock, which would output the lockfile name.

In any event, infoPrefix() is already adding the Thread name for us.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Buffers: Add normalized put methods, i.e. incl. value range conversion; New util. ValueConv for primitive type value conversion
Merge remote-tracking branch 'hharrison/RFC'
Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70

clone of ArrayList is more shallow than it's clone operation (?)
Fix Buffers.copy<Type>Buffer[asByteBuffer](..): Reset position of the passed buffer (was missing).

This is an API regression as introduced in commit 25cc744f6bd5ca97e0ae58fa7e1c35f7b0f3046d
where JOGL's BufferUtil and GlueGen's were merged and API doc elaborated.
The latter states the desired fact that the source passed buffer's position shall remain
unchanged, however no code was added to take care of this detail.
Revert "Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70"

This reverts commit 73e8828566404e864170688dfb4fd530a83f8add.

Convinced after discussing semantics w/ Harvey Harrison:

"the copy-constructor is way for predictable (as in branch-predictable)
and has better cache behavior, it can issue almost all the writes in
parallel, and has no exception catching.

So, the copy-constructor actually ends up being more efficient, and
you get typechecking to boot."