aboutsummaryrefslogtreecommitdiffstats
path: root/make/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'make/scripts')
-rwxr-xr-xmake/scripts/all-deploy-webstarttest.sh57
-rwxr-xr-xmake/scripts/check-junit.sh27
-rw-r--r--make/scripts/cmpOld2New.sh22
-rwxr-xr-xmake/scripts/count-edt-start.sh11
-rw-r--r--make/scripts/count-lock.sh17
-rwxr-xr-xmake/scripts/deploy-jar-sign.sh36
-rwxr-xr-xmake/scripts/deploy-jars-pack200.sh33
-rwxr-xr-xmake/scripts/deploy-jars-repack200.sh30
-rwxr-xr-xmake/scripts/deploy-jars-sign.sh47
-rwxr-xr-xmake/scripts/deploy-jars-webstarttest.sh50
-rwxr-xr-xmake/scripts/deploy-jars_external-webstarttest.sh26
-rwxr-xr-xmake/scripts/deploy-jnlp-webstarttest-filter.sh25
-rwxr-xr-xmake/scripts/deploy-jnlp-webstarttest.sh79
-rwxr-xr-xmake/scripts/hudson-archive-jars-latest.sh149
-rwxr-xr-xmake/scripts/java-run-all.sh74
-rwxr-xr-xmake/scripts/java-run-allall.sh41
-rwxr-xr-xmake/scripts/java-run-newt.sh45
-rwxr-xr-xmake/scripts/java-win32-dbg.bat26
-rwxr-xr-xmake/scripts/java-win32.bat16
-rwxr-xr-xmake/scripts/java-win64-dbg.bat26
-rwxr-xr-xmake/scripts/java-win64.bat17
-rwxr-xr-xmake/scripts/jogl-cp-dll.sh26
-rwxr-xr-xmake/scripts/jogl-rm-builds.sh16
-rwxr-xr-xmake/scripts/lsGL23_commons.sh18
-rwxr-xr-xmake/scripts/lsGL23_unique.sh18
-rwxr-xr-xmake/scripts/lsGL23toGL2ES1_commons.sh18
-rwxr-xr-xmake/scripts/lsGL2_GL3_commons.sh18
-rwxr-xr-xmake/scripts/lsGLES2toGL3_commons.sh16
-rwxr-xr-xmake/scripts/lsGLtoES1ES2_commons.sh16
-rwxr-xr-xmake/scripts/lsGLtoES1_commons.sh17
-rwxr-xr-xmake/scripts/lsGLtoES2_commons.sh16
-rwxr-xr-xmake/scripts/lsGLtoGL3_commons.sh16
-rwxr-xr-xmake/scripts/lstjars.sh155
-rw-r--r--make/scripts/make-runtime-properties.sh59
-rwxr-xr-xmake/scripts/make.jogl.all.linux-x86.sh65
-rwxr-xr-xmake/scripts/make.jogl.all.linux-x86_64.sh64
-rwxr-xr-xmake/scripts/make.jogl.all.macosx.sh15
-rwxr-xr-xmake/scripts/make.jogl.all.win32.bat17
-rwxr-xr-xmake/scripts/make.jogl.all.win64.bat17
-rwxr-xr-xmake/scripts/make.jogl.cdcfp.linux-x86.sh38
-rwxr-xr-xmake/scripts/make.jogl.cdcfp.macosx.sh27
-rwxr-xr-xmake/scripts/make.jogl.doc.all.x86_64.sh11
-rwxr-xr-xmake/scripts/make.jogl.doc.x86_64.sh11
-rwxr-xr-xmake/scripts/rsync2here.sh28
-rwxr-xr-xmake/scripts/setenv-jogl.sh103
-rwxr-xr-xmake/scripts/setvc9-jogl.bat9
-rwxr-xr-xmake/scripts/strip-c-comments.awk59
-rw-r--r--make/scripts/tests.bat25
-rw-r--r--make/scripts/tests.sh93
49 files changed, 1845 insertions, 0 deletions
diff --git a/make/scripts/all-deploy-webstarttest.sh b/make/scripts/all-deploy-webstarttest.sh
new file mode 100755
index 000000000..e947c3f3d
--- /dev/null
+++ b/make/scripts/all-deploy-webstarttest.sh
@@ -0,0 +1,57 @@
+#! /bin/sh
+
+if [ ! -e scripts -o ! -e ../make ] ; then
+ echo start this script from JOGL/jogl/make
+ exit 1
+fi
+
+url=$1
+shift
+
+joglbuilddir=$1
+shift
+
+wsdir=$1
+shift
+
+if [ -z "$url" -o -z "$joglbuilddir" -o -z "$wsdir" ] ; then
+ echo Usage $0 codebase-url jogl-builddir webstartdir
+ echo Examples
+ echo sh $0 file:////usr/local/projects/JOGL/webstart ../build-x86_64 ../../webstart
+ echo sh $0 http://domain.org/jogl/webstart ../build-win32 ../../webstart
+ exit 1
+fi
+
+if [ ! -e $joglbuilddir ] ; then
+ echo $joglbuilddir does not exist
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+sh scripts/deploy-jars-webstarttest.sh $joglbuilddir $wsdir
+#
+# repack it .. so the signed jars can be pack200'ed
+# sh scripts/deploy-jars-repack200.sh $wsdir
+#
+# sign it
+# sh scripts/deploy-jars-sign.sh $wsdir KEY_STORE_FILE STORE_PASSWORD SOME_ARGUMENT
+#
+# pack200
+# sh scripts/deploy-jars-pack200.sh $wsdir
+#
+sh scripts/deploy-jnlp-webstarttest.sh $url $joglbuilddir $wsdir
+#
+# In case you don't sign it ..
+#
+# sh scripts/deploy-jnlp-webstarttest-filter.sh $wsdir
+#
+# Add to HOME/.java.policy
+#
+# grant codeBase "file:////usr/local/projects/JOGL/webstart/-" {
+# permission java.security.AllPermission;
+# };
+
diff --git a/make/scripts/check-junit.sh b/make/scripts/check-junit.sh
new file mode 100755
index 000000000..1b1ba7875
--- /dev/null
+++ b/make/scripts/check-junit.sh
@@ -0,0 +1,27 @@
+#! /bin/bash
+
+builddir=$1
+shift
+
+echo number of junit classes
+grep failures $builddir/test/results/* | wc
+echo
+echo number of passed junit classes - failures
+grep failures $builddir/test/results/* | grep "failures=\"0\"" | wc
+echo
+echo number of passed junit classes - errors
+grep failures $builddir/test/results/* | grep "errors=\"0\"" | wc
+echo
+echo number of failed junit classes - failures
+grep failures $builddir/test/results/* | grep -v "failures=\"0\"" | wc
+echo
+echo number of failed junit classes - errors
+grep failures $builddir/test/results/* | grep -v "errors=\"0\"" | wc
+echo
+echo failed junit classes - failures
+grep failures $builddir/test/results/* | grep -v "failures=\"0\""
+echo
+echo failed junit classes - errors
+grep failures $builddir/test/results/* | grep -v "errors=\"0\""
+echo
+
diff --git a/make/scripts/cmpOld2New.sh b/make/scripts/cmpOld2New.sh
new file mode 100644
index 000000000..4394fe7b5
--- /dev/null
+++ b/make/scripts/cmpOld2New.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+dirscript=`dirname $0`
+
+dirold=../build-x86_64-old/jogl/gensrc/classes/javax/media/opengl/
+dirnew=../build-x86_64/jogl/gensrc/classes/javax/media/opengl/
+dircmp=cmp-old2new
+
+rm -rf $dircmp
+mkdir -p $dircmp
+
+for i in GL GL2ES1 GL2ES2 GLES1 GLES2 GL2GL3 GL2 GL3 GL3bc GL4 GL4bc ; do
+ echo
+ echo processing $i
+ awk -f $dirscript/strip-c-comments.awk $dirold/$i.java | sort -u > $dircmp/$i-old.java
+ echo created $dircmp/$i-old.java
+ awk -f $dirscript/strip-c-comments.awk $dirnew/$i.java | sort -u > $dircmp/$i-new.java
+ echo created $dircmp/$i-new.java
+ diff -Nurdw $dircmp/$i-old.java $dircmp/$i-new.java > $dircmp/$i-diff.txt
+ echo created $dircmp/$i-diff.txt
+done
+
diff --git a/make/scripts/count-edt-start.sh b/make/scripts/count-edt-start.sh
new file mode 100755
index 000000000..06af8c396
--- /dev/null
+++ b/make/scripts/count-edt-start.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+echo EDT START
+grep "EDT run() START" $1 | wc
+
+echo EDT END
+grep "EDT run() END" $1 | wc
+
+echo EDT EXIT
+grep "EDT run() EXIT" $1 | wc
+
diff --git a/make/scripts/count-lock.sh b/make/scripts/count-lock.sh
new file mode 100644
index 000000000..806235f5c
--- /dev/null
+++ b/make/scripts/count-lock.sh
@@ -0,0 +1,17 @@
+
+echo lock
+grep -RI "lock()" ../src/ | wc
+echo unlock
+grep -RI "unlock()" ../src/ | wc
+echo
+echo
+
+for i in `grep -RIl "unlock()" ../src/` ; do
+ echo $i
+ echo lock
+ grep -RI "lock()" $i | wc
+ echo unlock
+ grep -RI "unlock()" $i | wc
+ echo
+ echo
+done
diff --git a/make/scripts/deploy-jar-sign.sh b/make/scripts/deploy-jar-sign.sh
new file mode 100755
index 000000000..d6291c45c
--- /dev/null
+++ b/make/scripts/deploy-jar-sign.sh
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+jarfile=$1
+shift
+
+keystore=$1
+shift
+
+storepass=$1
+shift
+
+signarg=$1
+shift
+
+if [ -z "$jarfile" -o -z "$keystore" -o -z "$storepass" ] ; then
+ echo "usage $0 jarfile pkcs12-keystore storepass [signarg]"
+ exit 1
+fi
+
+if [ ! -e $jarfile ] ; then
+ echo $jarfile does not exist
+ exit 1
+fi
+
+if [ ! -e $keystore ] ; then
+ echo $keystore does not exist
+ exit 1
+fi
+
+THISDIR=`pwd`
+
+echo jarsigner -storetype pkcs12 -keystore $keystore $jarfile \"$signarg\"
+jarsigner -storetype pkcs12 -keystore $THISDIR/$keystore -storepass $storepass $jarfile "$signarg"
+
+cd $THISDIR
+
diff --git a/make/scripts/deploy-jars-pack200.sh b/make/scripts/deploy-jars-pack200.sh
new file mode 100755
index 000000000..471e8ab7b
--- /dev/null
+++ b/make/scripts/deploy-jars-pack200.sh
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+wsdir=$1
+shift
+
+if [ -z "$wsdir" ] ; then
+ echo usage $0 webstartdir
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+THISDIR=`pwd`
+
+cd $wsdir
+
+mkdir -p DLLS
+mv *natives*.jar DLLS/
+
+for i in *.jar ; do
+ echo pack200 -E9 $i.pack.gz $i
+ pack200 -E9 $i.pack.gz $i
+done
+
+mv DLLS/* .
+
+rm -rf DLLS
+
+cd $THISDIR
+
diff --git a/make/scripts/deploy-jars-repack200.sh b/make/scripts/deploy-jars-repack200.sh
new file mode 100755
index 000000000..1169d63c3
--- /dev/null
+++ b/make/scripts/deploy-jars-repack200.sh
@@ -0,0 +1,30 @@
+#! /bin/sh
+
+wsdir=$1
+shift
+
+if [ -z "$wsdir" ] ; then
+ echo usage $0 webstartdir
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+THISDIR=`pwd`
+
+cd $wsdir
+
+rm -rf orig-jars
+mkdir -p orig-jars
+
+for i in *.jar ; do
+ cp -a $i orig-jars
+ echo pack200 --repack $i
+ pack200 --repack $i
+done
+
+cd $THISDIR
+
diff --git a/make/scripts/deploy-jars-sign.sh b/make/scripts/deploy-jars-sign.sh
new file mode 100755
index 000000000..1a4421aa9
--- /dev/null
+++ b/make/scripts/deploy-jars-sign.sh
@@ -0,0 +1,47 @@
+#! /bin/sh
+
+wsdir=$1
+shift
+
+keystore=$1
+shift
+
+storepass=$1
+shift
+
+signarg=$1
+shift
+
+if [ -z "$wsdir" -o -z "$keystore" -o -z "$storepass" ] ; then
+ echo "usage $0 webstartdir pkcs12-keystore storepass [signarg]"
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+if [ ! -e $keystore ] ; then
+ echo $keystore does not exist
+ exit 1
+fi
+
+THISDIR=`pwd`
+
+cd $wsdir
+
+rm -rf demo-jars
+mkdir -p demo-jars
+mv jogl.test.jar jogl-demos*jar demo-jars/
+
+for i in *.jar ; do
+ echo jarsigner -storetype pkcs12 -keystore $keystore $i \"$signarg\"
+ jarsigner -storetype pkcs12 -keystore $THISDIR/$keystore -storepass $storepass $i "$signarg"
+done
+
+mv demo-jars/* .
+rm -rf demo-jars
+
+cd $THISDIR
+
diff --git a/make/scripts/deploy-jars-webstarttest.sh b/make/scripts/deploy-jars-webstarttest.sh
new file mode 100755
index 000000000..8a98f5d3f
--- /dev/null
+++ b/make/scripts/deploy-jars-webstarttest.sh
@@ -0,0 +1,50 @@
+#! /bin/sh
+
+joglbuilddir=$1
+shift
+
+wsdir=$1
+shift
+
+if [ -z "$joglbuilddir" -o -z "$wsdir" ] ; then
+ echo usage $0 jogl-builddir webstartdir
+ exit 1
+fi
+
+if [ ! -e $joglbuilddir ] ; then
+ echo $joglbuilddir does not exist
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+builddirbase=`basename $joglbuilddir`
+joglroot=`dirname $joglbuilddir`
+gluegenroot=$joglroot/../gluegen
+demosroot=$joglroot/../jogl-demos
+
+jnlpdir_gluegen=$gluegenroot/jnlp-files
+jnlpdir_jogl=$joglroot/jnlp-files
+jnlpdir_demos=$demosroot/jnlp-files
+
+if [ ! -e $jnlpdir_gluegen ] ; then
+ echo $jnlpdir_gluegen does not exist
+ exit 1
+fi
+
+if [ ! -e $jnlpdir_jogl ] ; then
+ echo $jnlpdir_jogl does not exist
+ exit 1
+fi
+
+if [ ! -e $jnlpdir_demos ] ; then
+ echo $jnlpdir_demos does not exist
+ exit 1
+fi
+
+cp -v $joglbuilddir/jar/*.jar $wsdir
+cp -v $demosroot/$builddirbase/*.jar $wsdir
+
diff --git a/make/scripts/deploy-jars_external-webstarttest.sh b/make/scripts/deploy-jars_external-webstarttest.sh
new file mode 100755
index 000000000..3fc1daa51
--- /dev/null
+++ b/make/scripts/deploy-jars_external-webstarttest.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+if [ ! -e scripts -o ! -e ../make ] ; then
+ echo start this script from JOGL/jogl/make
+ exit 1
+fi
+
+SOURCE=$1
+shift
+
+wsdir=$1
+shift
+
+if [ -z "$SOURCE" -o -z "$wsdir" ] ; then
+ echo usage $0 source webstartdir
+ echo source might be [email protected]:webstart/
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+echo scp -v $SOURCE*natives* $wsdir
+scp -v $SOURCE*natives* $wsdir
diff --git a/make/scripts/deploy-jnlp-webstarttest-filter.sh b/make/scripts/deploy-jnlp-webstarttest-filter.sh
new file mode 100755
index 000000000..77eda44c8
--- /dev/null
+++ b/make/scripts/deploy-jnlp-webstarttest-filter.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+wsdir=$1
+shift
+
+if [ -z "$wsdir" ] ; then
+ echo usage $0 webstartdir
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+cd $wsdir
+
+rm -rf orig-jnlp
+mkdir orig-jnlp
+
+for i in *.jnlp ; do
+ mv $i orig-jnlp
+ sed -e 's/<security>//g' -e 's/<\/security>//g' -e 's/<all-permissions\/>//g' orig-jnlp/$i > $i
+done
+
diff --git a/make/scripts/deploy-jnlp-webstarttest.sh b/make/scripts/deploy-jnlp-webstarttest.sh
new file mode 100755
index 000000000..8f3b0d216
--- /dev/null
+++ b/make/scripts/deploy-jnlp-webstarttest.sh
@@ -0,0 +1,79 @@
+#! /bin/sh
+
+url=$1
+shift
+
+joglbuilddir=$1
+shift
+
+wsdir=$1
+shift
+
+if [ -z "$url" -o -z "$joglbuilddir" -o -z "$wsdir" ] ; then
+ echo usage $0 codebase-url jogl-builddir webstartdir
+ echo Examples
+ echo sh $0 file:////usr/local/projects/JOGL/webstart ../build-x86_64 ../../webstart
+ echo sh $0 http://domain.org/jogl/webstart ../build-win32 ../../webstart
+ exit 1
+fi
+
+if [ ! -e $joglbuilddir ] ; then
+ echo $joglbuilddir does not exist
+ exit 1
+fi
+
+if [ ! -e $wsdir ] ; then
+ echo $wsdir does not exist
+ exit 1
+fi
+
+builddirbase=`basename $joglbuilddir`
+joglroot=`dirname $joglbuilddir`
+gluegenroot=$joglroot/../gluegen
+demosroot=$joglroot/../jogl-demos
+
+jnlpdir_gluegen=$gluegenroot/jnlp-files
+jnlpdir_jogl=$joglroot/jnlp-files
+jnlpdir_demos=$demosroot/jnlp-files
+
+if [ ! -e $jnlpdir_gluegen ] ; then
+ echo $jnlpdir_gluegen does not exist
+ exit 1
+fi
+
+if [ ! -e $jnlpdir_jogl ] ; then
+ echo $jnlpdir_jogl does not exist
+ exit 1
+fi
+
+if [ ! -e $jnlpdir_demos ] ; then
+ echo $jnlpdir_demos does not exist
+ exit 1
+fi
+
+cp -v $jnlpdir_demos/*.html $wsdir
+
+uri_esc=`echo $url | sed 's/\//\\\\\//g'`
+for j in $jnlpdir_gluegen/*.jnlp ; do
+ jb=`basename $j`
+ echo "processing $j to $wsdir/$jb"
+ sed "s/CODEBASE_TAG/$uri_esc/g" \
+ $j > $wsdir/$jb
+done
+
+for j in $jnlpdir_jogl/*.jnlp ; do
+ jb=`basename $j`
+ echo "processing $j to $wsdir/$jb"
+ sed -e "s/JOGL_CODEBASE_TAG/$uri_esc/g" \
+ -e "s/GLUEGEN_CODEBASE_TAG/$uri_esc/g" \
+ $j > $wsdir/$jb
+done
+
+for j in $jnlpdir_demos/*.jnlp ; do
+ jb=`basename $j`
+ echo "processing $j to $wsdir/$jb"
+ sed -e "s/DEMO_CODEBASE_TAG/$uri_esc/g" \
+ -e "s/JOGL_CODEBASE_TAG/$uri_esc/g" \
+ $j > $wsdir/$jb
+done
+
diff --git a/make/scripts/hudson-archive-jars-latest.sh b/make/scripts/hudson-archive-jars-latest.sh
new file mode 100755
index 000000000..a6f1abc58
--- /dev/null
+++ b/make/scripts/hudson-archive-jars-latest.sh
@@ -0,0 +1,149 @@
+#! /bin/bash
+
+archivedir=/srv/www/jogamp.org/deployment/archive
+rootdir=/srv/www/jogamp.org/deployment/autobuilds
+cd $rootdir
+
+dest=tmp-archive
+
+rm -rf $dest
+mkdir $dest
+mkdir $dest/javadoc
+
+function lslatest() {
+ pattern=$1
+ shift
+ ls -rt | grep $pattern | tail -1
+}
+
+function buildnumber_2() {
+ folder=$1
+ shift
+ echo $folder | awk -F '-' ' { print substr($2, 2); } '
+}
+
+function buildnumber_3() {
+ folder=$1
+ shift
+ echo $folder | awk -F '-' ' { print substr($3, 2); } '
+}
+
+function buildnumber_4() {
+ folder=$1
+ shift
+ echo $folder | awk -F '-' ' { print substr($4, 2); } '
+}
+
+gluegenslave=`lslatest gluegen-b`
+bgluegenslave=`buildnumber_2 $gluegenslave`
+gluegenmaster=`lslatest gluegen-master-b`
+bgluegenmaster=`buildnumber_3 $gluegenmaster`
+echo
+echo GLUEGEN
+echo
+echo slave build $bgluegenslave - $gluegenslave
+echo master build $bgluegenmaster - $gluegenmaster
+echo
+echo "gluegen.build.number=$bgluegenslave" >> $dest/aggregated.artifact.properties
+
+cp -a $gluegenslave/build/gluegen*jar $dest/
+cp -a $gluegenslave/build/artifact.properties $dest/gluegen.artifact.properties
+
+cp -a $gluegenmaster/build/artifact.properties $dest/javadoc/gluegen-master.artifact.properties
+mkdir $dest/javadoc/gluegen
+cp -a $gluegenmaster/build/javadoc.zip $dest/javadoc/gluegen
+cd $dest/javadoc/gluegen
+unzip javadoc.zip
+cd $rootdir
+
+joglslave=`lslatest jogl-b`
+bjoglslave=`buildnumber_2 $joglslave`
+joglmaster=`lslatest jogl-master-b`
+bjoglmaster=`buildnumber_3 $joglmaster`
+echo
+echo JOGL
+echo
+echo slave build $bjoglslave - $joglslave
+echo master build $bjoglmaster - $joglmaster
+echo
+echo "jogl.build.number=$bjoglslave" >> $dest/aggregated.artifact.properties
+
+cp -a $joglslave/build/jar/nativewindow*jar $dest/
+cp -a $joglslave/build/jar/jogl*jar $dest/
+cp -a $joglslave/build/jar/newt*jar $dest/
+cp -a $joglslave/build/jogl*zip $dest/
+cp -a $joglslave/build/artifact.properties $dest/jogl.artifact.properties
+
+cp -a $joglmaster/build/artifact.properties $dest/javadoc/jogl-master.artifact.properties
+mkdir $dest/javadoc/jogl
+cp -a $joglmaster/build/javadoc*.zip $dest/javadoc/jogl
+cd $dest/javadoc/jogl
+for i in *.zip ; do
+ unzip $i
+done
+cd $rootdir
+
+jogldemosslave=`lslatest jogl-demos-b`
+bjogldemosslave=`buildnumber_3 $jogldemosslave`
+echo
+echo JOGL DEMOS
+echo
+echo slave build $bjogldemosslave - $jogldemosslave
+echo
+echo "jogl-demos.build.number=$bjogldemosslave" >> $dest/aggregated.artifact.properties
+
+cp -a $jogldemosslave/build/jogl-demos*jar $dest/
+cp -a $jogldemosslave/build/artifact.properties $dest/jogl-demos.artifact.properties
+
+
+
+joclslave=`lslatest jocl-b`
+bjoclslave=`buildnumber_2 $joclslave`
+joclmaster=`lslatest jocl-master-b`
+bjoclmaster=`buildnumber_3 $joclmaster`
+echo
+echo JOCL
+echo
+echo slave build $bjoclslave - $joclslave
+echo master build $bjoclmaster - $joclmaster
+echo
+echo "jocl.build.number=$bjoclslave" >> $dest/aggregated.artifact.properties
+
+cp -a $joclslave/jocl*jar $dest/
+cp -a $joclslave/artifact.properties $dest/jocl.artifact.properties
+
+cp -a $joclmaster/artifact.properties $dest/javadoc/jocl-master.artifact.properties
+mkdir $dest/javadoc/jocl
+cp -a $joclmaster/jocl-javadoc.zip $dest/javadoc/jocl/
+cd $dest/javadoc/jocl
+unzip jocl-javadoc.zip
+cd $rootdir
+
+jocldemosslave=`lslatest jocl-demos-b`
+bjocldemosslave=`buildnumber_3 $jocldemosslave`
+echo
+echo JOCL DEMOS
+echo
+echo slave build $bjocldemosslave - $jocldemosslave
+echo
+echo "jocl-demos.build.number=$bjocldemosslave" >> $dest/aggregated.artifact.properties
+
+cp -a $jocldemosslave/jocl-demos*jar $dest/
+cp -a $jocldemosslave/artifact.properties $dest/jocl-demos.artifact.properties
+
+rm -rf $archivedir/gluegen_$bgluegenslave-jogl_$bjoglslave-jocl_$bjoclslave
+mv $dest $archivedir/gluegen_$bgluegenslave-jogl_$bjoglslave-jocl_$bjoclslave
+
+echo
+echo Aggregation folder $archivedir/gluegen_$bgluegenslave-jogl_$bjoglslave-jocl_$bjoclslave
+echo
+
+cd $archivedir/gluegen_$bgluegenslave-jogl_$bjoglslave-jocl_$bjoclslave
+
+echo
+echo aggregation.properties
+echo
+cat jocl-demos.artifact.properties jogl-demos.artifact.properties | sort -u > jocl-demos-jogl-demos.artifact.properties.sorted
+sort -u aggregated.artifact.properties > aggregated.artifact.properties.sorted
+diff -Nurb aggregated.artifact.properties.sorted jocl-demos-jogl-demos.artifact.properties.sorted
+
diff --git a/make/scripts/java-run-all.sh b/make/scripts/java-run-all.sh
new file mode 100755
index 000000000..aeda83ffb
--- /dev/null
+++ b/make/scripts/java-run-all.sh
@@ -0,0 +1,74 @@
+#! /bin/bash
+
+scriptdir=`dirname $0`
+
+function print_usage() {
+ echo "Usage: $0 [-libdir pre-lib-dir] jogl-build-dir ..."
+}
+
+if [ "$1" = "-libdir" ] ; then
+ shift
+ if [ -z "$1" ] ; then
+ echo libdir argument missing
+ print_usage
+ exit
+ fi
+ PRELIB=$1
+ shift
+ LD_LIBRARY_PATH=$PRELIB:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH
+ # Mesa/Gallium EGL driver
+ EGL_DRIVER=$PRELIB/egl_glx.so
+ export EGL_DRIVER
+ # unset DRI/ATI ..
+ unset LIBGL_DRIVERS_PATH
+fi
+
+if [ -z "$1" ] ; then
+ echo JOGL BUILD DIR missing
+ print_usage
+ exit
+fi
+
+. $scriptdir/setenv-jogl.sh $1 JOGL_ALL
+shift
+
+MOSX=0
+uname -a | grep -i Darwin && MOSX=1
+
+# D_ARGS="-Djogamp.debug.ProcAddressHelper=true -Djogamp.debug.NativeLibrary=true -Djogl.debug=all"
+# D_ARGS="-Djogamp.debug.ProcAddressHelper=true -Djogamp.debug.NativeLibrary=true -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all"
+# D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all -Djogl.debug.GLSLState"
+# D_ARGS="-Dnativewindow.debug.X11Util=true -Djogl.debug.GLDrawableFactory=true"
+# D_ARGS="-Dnativewindow.debug.X11Util=true"
+# D_ARGS="-Dnewt.debug=all -Dnativewindow.debug=all"
+# D_ARGS="-Djogl.debug=all -Dnewt.debug=all -Dnativewindow.debug=all"
+# D_ARGS="-Dnewt.debug=all -Dnativewindow.debug=all -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock"
+# D_ARGS="-Dnewt.debug=all -Dnativewindow.debug=all -Djogamp.common.utils.locks.Lock.timeout=600000"
+# D_ARGS="-Dnewt.debug=all"
+# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT"
+# D_ARGS="-Dnewt.debug.EDT -Dnewt.debug.Window"
+# D_ARGS="-Dsun.awt.disableMixing=true -Dnewt.debug.EDT"
+D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock"
+# D_ARGS="-Djogamp.debug.Lock.TraceLock"
+# D_ARGS="-Dnewt.debug.Display"
+# D_ARGS="-Djogl.debug.Animator -Dnewt.debug.Window -Dnewt.debug.Display"
+# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.test.Window.reparent.incompatible=true"
+# D_ARGS="-Dnewt.debug.Window -Dnewt.debug.TestEDTMainThread"
+# D_ARGS="-Dnewt.debug.TestEDTMainThread"
+# D_ARGS="-Djogl.debug=all -Djogl.debug.DynamicLookup=true -Djogamp.debug.NativeLibrary=true"
+# D_ARGS="-Djogl.debug=all"
+# D_ARGS="-Djogamp.debug.JNILibLoader=true -Djogamp.debug.NativeLibrary=true -Djogamp.debug.NativeLibrary.Lookup=true -Djogl.debug.GLProfile=true"
+
+rm -f java-run.log
+
+# export LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib32/fglrx/dri
+# export LIBGL_DEBUG=verbose
+which java 2>&1 | tee -a java-run.log
+java -version 2>&1 | tee -a java-run.log
+echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a java-run.log
+echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a java-run.log
+echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a java-run.log
+echo java $X_ARGS $D_ARGS $* 2>&1 | tee -a java-run.log
+java $X_ARGS $D_ARGS $* 2>&1 | tee -a java-run.log
+
diff --git a/make/scripts/java-run-allall.sh b/make/scripts/java-run-allall.sh
new file mode 100755
index 000000000..16a8f314b
--- /dev/null
+++ b/make/scripts/java-run-allall.sh
@@ -0,0 +1,41 @@
+#! /bin/bash
+
+scriptdir=`dirname $0`
+
+function print_usage() {
+ echo "Usage: $0 [-libdir pre-lib-dir] jogl-build-dir ..."
+}
+
+if [ "$1" = "-libdir" ] ; then
+ shift
+ if [ -z "$1" ] ; then
+ echo libdir argument missing
+ print_usage
+ exit
+ fi
+ PRELIB=$1
+ shift
+ LD_LIBRARY_PATH=$PRELIB:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH
+fi
+
+if [ -z "$1" ] ; then
+ echo JOGL BUILD DIR missing
+ print_usage
+ exit
+fi
+
+. $scriptdir/setenv-jogl.sh $1 JOGL_ALLALL
+shift
+
+MOSX=0
+uname -a | grep -i Darwin && MOSX=1
+
+# D_ARGS="-Dgluegen.debug.ProcAddressHelper=true -Dgluegen.debug.NativeLibrary=true -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all"
+# D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all -Djogl.debug.GLSLState"
+# D_ARGS="-Dnativewindow.debug.X11Util=true -Djogl.debug.GLDrawableFactory=true"
+# D_ARGS="-Dnativewindow.debug.X11Util=true"
+# D_ARGS="-Dnewt.debug=all"
+
+echo java $X_ARGS $D_ARGS $* 2>&1 | tee java-run.log
+java $X_ARGS $D_ARGS $* 2>&1 | tee -a java-run.log
diff --git a/make/scripts/java-run-newt.sh b/make/scripts/java-run-newt.sh
new file mode 100755
index 000000000..9fbe4e583
--- /dev/null
+++ b/make/scripts/java-run-newt.sh
@@ -0,0 +1,45 @@
+#! /bin/bash
+
+scriptdir=`dirname $0`
+
+function print_usage() {
+ echo "Usage: $0 [-libdir pre-lib-dir] jogl-build-dir ..."
+}
+
+if [ "$1" = "-libdir" ] ; then
+ shift
+ if [ -z "$1" ] ; then
+ echo libdir argument missing
+ print_usage
+ exit
+ fi
+ PRELIB=$1
+ shift
+ LD_LIBRARY_PATH=$PRELIB:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH
+fi
+
+if [ -z "$1" ] ; then
+ echo JOGL BUILD DIR missing
+ print_usage
+ exit
+fi
+
+. $scriptdir/setenv-jogl.sh $1
+shift
+
+MOSX=0
+uname -a | grep -i Darwin && MOSX=1
+
+if [ $MOSX -eq 1 ] ; then
+ X_ARGS="-XstartOnFirstThread"
+fi
+
+# D_ARGS="-Dgluegen.debug.ProcAddressHelper=true -Dgluegen.debug.NativeLibrary=true -Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all"
+# D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all -Djogl.debug.GLSLState"
+# D_ARGS="-Dnativewindow.debug.X11Util=true -Djogl.debug.GLDrawableFactory=true"
+# D_ARGS="-Dnativewindow.debug.X11Util=true -Dnewt.debug.Display=true"
+# D_ARGS="-Dnewt.debug=all"
+# D_ARGS="-Dnativewindow.debug=all -Djogl.debug=all -Dnewt.debug=all"
+
+java $X_ARGS -Djava.awt.headless=true $D_ARGS com.jogamp.newt.util.MainThread $* 2>&1 | tee java-run-newt.log
diff --git a/make/scripts/java-win32-dbg.bat b/make/scripts/java-win32-dbg.bat
new file mode 100755
index 000000000..856ee3265
--- /dev/null
+++ b/make/scripts/java-win32-dbg.bat
@@ -0,0 +1,26 @@
+
+set BLD_SUB=build-win32
+set J2RE_HOME=c:\jre1.6.0_21_x32
+set JAVA_HOME=c:\jdk1.6.0_21_x32
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=..\..\gluegen\%BLD_SUB%\obj;%BLD_DIR%\nativewindow\obj;%BLD_DIR%\jogl\obj;%BLD_DIR%\newt\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+
+echo CP_ALL %CP_ALL%
+
+REM set D_ARGS="-Djogamp.debug.JNILibLoader=true" "-Djogamp.debug.NativeLibrary=true" "-Djogamp.debug.NativeLibrary.Lookup=true" "-Djogl.debug.GLProfile=true"
+REM set D_ARGS="-Djogl.debug=all" "-Dnewt.debug=all" "-Dnativewindow.debug=all"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnativewindow.debug.TraceLock"
+REM set D_ARGS="-Dnativewindow.debug.TraceLock"
+set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display" "-Dnewt.test.Window.reparent.incompatible=true"
+
+set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true"
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" %D_ARGS% %X_ARGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win32-dbg.log 2>&1
+
diff --git a/make/scripts/java-win32.bat b/make/scripts/java-win32.bat
new file mode 100755
index 000000000..aec1d4697
--- /dev/null
+++ b/make/scripts/java-win32.bat
@@ -0,0 +1,16 @@
+
+set BLD_SUB=build-win32
+set J2RE_HOME=c:\jre1.6.0_21_x32
+set JAVA_HOME=c:\jdk1.6.0_21_x32
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=..\..\gluegen\%BLD_SUB%\obj;%BLD_DIR%\nativewindow\obj;%BLD_DIR%\jogl\obj;%BLD_DIR%\newt\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+
+echo CP_ALL %CP_ALL%
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true" %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win32.log 2>&1
diff --git a/make/scripts/java-win64-dbg.bat b/make/scripts/java-win64-dbg.bat
new file mode 100755
index 000000000..ca999cf5f
--- /dev/null
+++ b/make/scripts/java-win64-dbg.bat
@@ -0,0 +1,26 @@
+
+set BLD_SUB=build-win64
+set J2RE_HOME=c:\jre1.6.0_21_x64
+set JAVA_HOME=c:\jdk1.6.0_21_x64
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=%BLD_DIR%\lib;..\..\gluegen\%BLD_SUB%\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+
+echo CP_ALL %CP_ALL%
+
+REM set D_ARGS="-Djogamp.debug.JNILibLoader=true" "-Djogamp.debug.NativeLibrary=true" "-Djogamp.debug.NativeLibrary.Lookup=true" "-Djogl.debug.GLProfile=true"
+REM set D_ARGS="-Djogl.debug=all" "-Dnewt.debug=all" "-Dnativewindow.debug=all" "-Djogamp.debug.Lock" "-Djogamp.debug.Lock.TraceLock"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnativewindow.debug.TraceLock"
+REM set D_ARGS="-Dnativewindow.debug.TraceLock"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display"
+set D_ARGS="-Dnewt.debug.Screen" "-Dnewt.debug.EDT" "-Dnativewindow.debug=all"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display" "-Dnewt.test.Window.reparent.incompatible=true"
+
+set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true"
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" %D_ARGS% %X_ARGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win64-dbg.log 2>&1
diff --git a/make/scripts/java-win64.bat b/make/scripts/java-win64.bat
new file mode 100755
index 000000000..0dc710105
--- /dev/null
+++ b/make/scripts/java-win64.bat
@@ -0,0 +1,17 @@
+
+set BLD_SUB=build-win64
+set J2RE_HOME=c:\jre1.6.0_21_x64
+set JAVA_HOME=c:\jdk1.6.0_21_x64
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set BLD_DIR=..\%BLD_SUB%
+set LIB_DIR=%BLD_DIR%\lib;..\..\gluegen\%BLD_SUB%\obj
+
+set CP_ALL=.;%BLD_DIR%\jogl\jogl.all.jar;%BLD_DIR%\nativewindow\nativewindow.all.jar;%BLD_DIR%\newt\newt.all.jar;%BLD_DIR%\jogl\jogl.test.jar;..\..\gluegen\%BLD_SUB%\gluegen-rt.jar;..\..\gluegen\make\lib\junit.jar;%ANT_PATH%\lib\ant.jar;%ANT_PATH%\lib\ant-junit.jar
+echo CP_ALL %CP_ALL%
+
+set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true"
+
+%J2RE_HOME%\bin\java -classpath %CP_ALL% "-Djava.library.path=%LIB_DIR%" %X_ARGS% %1 %2 %3 %4 %5 %6 %7 %8 %9 > java-win64.log 2>&1
diff --git a/make/scripts/jogl-cp-dll.sh b/make/scripts/jogl-cp-dll.sh
new file mode 100755
index 000000000..a9285b9e7
--- /dev/null
+++ b/make/scripts/jogl-cp-dll.sh
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+jogamproot=$1
+shift
+
+builddir=$1
+shift
+
+destination=$1
+shift
+
+
+if [ -z "$jogamproot" -o -z "$builddir" -o -z "$destination" ] ; then
+ echo Usage $0 jogamp_root builddir destination
+ echo e.g. $0 JOGL build-win32 /cygdrive/y/jogl/lib-jogl-win32/
+ exit
+fi
+
+cp -v \
+ $jogamproot/jogl/$builddir/jar/*natives* \
+ $jogamproot/gluegen/$builddir/obj/*.dll \
+ $jogamproot/jogl/$builddir/nativewindow/obj/*.dll \
+ $jogamproot/jogl/$builddir/jogl/obj/*.dll \
+ $jogamproot/jogl/$builddir/newt/obj/*.dll \
+ $destination
+
diff --git a/make/scripts/jogl-rm-builds.sh b/make/scripts/jogl-rm-builds.sh
new file mode 100755
index 000000000..f014a3e9c
--- /dev/null
+++ b/make/scripts/jogl-rm-builds.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+jogamproot=$1
+shift
+
+builddir=$1
+shift
+
+if [ -z "$jogamproot" -o -z "$builddir" ] ; then
+ echo Usage $0 jogamp_root builddir
+ echo e.g. $0 JOGL build-win32
+fi
+
+
+rm -rf $jogamproot/gluegen/$builddir
+rm -rf $jogamproot/jogl/$builddir
diff --git a/make/scripts/lsGL23_commons.sh b/make/scripts/lsGL23_commons.sh
new file mode 100755
index 000000000..cab55639b
--- /dev/null
+++ b/make/scripts/lsGL23_commons.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+SOURCE="$idir/GL.java $idir/GL2ES2.java $idir/GL2GL3.java $idir/GL3.java"
+
+echo GL GL2ES2 GL2GL3 GL3 defines
+sort $SOURCE | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL GL2ES2 GL2GL3 GL3 functions
+sort $SOURCE | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGL23_unique.sh b/make/scripts/lsGL23_unique.sh
new file mode 100755
index 000000000..e21112ecc
--- /dev/null
+++ b/make/scripts/lsGL23_unique.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+SOURCE="$idir/GL.java $idir/GLES2.java $idir/GL2ES2.java $idir/GL3.java $idir/GL2.java $idir/GL2GL3.java"
+
+echo GL2GL3 to GL2 GL3 Gl2ES2 GLES2 GL defines
+sort $SOURCE | uniq -u | grep GL_ | grep -v "Part of <code>" | awk ' { print $5 } '
+
+echo GL2GL3 to GL2 GL3 Gl2ES2 GLES2 GL functions
+sort $SOURCE | uniq -u | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGL23toGL2ES1_commons.sh b/make/scripts/lsGL23toGL2ES1_commons.sh
new file mode 100755
index 000000000..83a543b3c
--- /dev/null
+++ b/make/scripts/lsGL23toGL2ES1_commons.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL2GL3 to GL2ES1 enums
+# sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep GL_ | awk ' { print $5 } '
+sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL2GL3 to GL2ES1 functions
+# sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep "public [a-z0-9_]* gl"
+sort $idir/GL2.java $idir/GL3.java $idir/GL2ES1.java $idir/GL2GL3.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGL2_GL3_commons.sh b/make/scripts/lsGL2_GL3_commons.sh
new file mode 100755
index 000000000..722ba850d
--- /dev/null
+++ b/make/scripts/lsGL2_GL3_commons.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+SOURCE="$idir/GL.java $idir/GL2ES2.java $idir/GL2GL3.java $idir/GL2.java $idir/GL3.java"
+
+echo GL GL2ES2 GL2GL3 GL2 GL3 defines
+sort $SOURCE | uniq -d | grep GL_ | grep -v "Part of <code>"
+
+echo GL GL2ES2 GL2GL3 GL2 GL3 functions
+sort $SOURCE | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGLES2toGL3_commons.sh b/make/scripts/lsGLES2toGL3_commons.sh
new file mode 100755
index 000000000..d271b7ea2
--- /dev/null
+++ b/make/scripts/lsGLES2toGL3_commons.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GLES2 to GL3 enums
+sort $idir/GLES2.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep GL_ | awk ' { print $5 } '
+
+echo GLES2 to GL3 functions
+sort $idir/GLES2.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGLtoES1ES2_commons.sh b/make/scripts/lsGLtoES1ES2_commons.sh
new file mode 100755
index 000000000..21efb6549
--- /dev/null
+++ b/make/scripts/lsGLtoES1ES2_commons.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL to GL2ES1 to GL2ES1 GL2 enums
+sort $idir/GL.java $idir/GL2ES1.java $idir/GL2ES2.java $idir/GL2.java | uniq -d | grep GL_ | awk ' { print $5 } '
+
+echo GL to GL2ES1 to GL2ES1 GL2 functions
+sort $idir/GL.java $idir/GL2ES1.java $idir/GL2ES2.java $idir/GL2.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGLtoES1_commons.sh b/make/scripts/lsGLtoES1_commons.sh
new file mode 100755
index 000000000..e8a370acb
--- /dev/null
+++ b/make/scripts/lsGLtoES1_commons.sh
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL to GL2ES1 to GLES1 enums
+sort $idir/GL.java $idir/GLES1.java $idir/GL2ES1.java | uniq -d | grep GL_ | awk ' { print $5 } '
+
+echo GL to GL2ES1 to GLES1 functions
+sort $idir/GL.java $idir/GLES1.java $idir/GL2ES1.java | uniq -d | grep "public [a-z0-9_]* gl"
+
diff --git a/make/scripts/lsGLtoES2_commons.sh b/make/scripts/lsGLtoES2_commons.sh
new file mode 100755
index 000000000..bbd0e239c
--- /dev/null
+++ b/make/scripts/lsGLtoES2_commons.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL to GL2ES2 to GLES2 enums
+sort $idir/GL.java $idir/GLES2.java $idir/GL2ES2.java | uniq -d | grep GL_ | awk ' { print $5 } '
+
+echo GL to GL2ES2 to GLES2 functions
+sort $idir/GL.java $idir/GLES2.java $idir/GL2ES2.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lsGLtoGL3_commons.sh b/make/scripts/lsGLtoGL3_commons.sh
new file mode 100755
index 000000000..44cc34ccd
--- /dev/null
+++ b/make/scripts/lsGLtoGL3_commons.sh
@@ -0,0 +1,16 @@
+#! /bin/sh
+
+BUILDDIR=$1
+shift
+if [ -z "$BUILDDIR" ] ; then
+ echo "usage $0 <BUILDDIR>"
+ exit 1
+fi
+
+idir=$BUILDDIR/jogl/gensrc/classes/javax/media/opengl
+
+echo GL to GL2ES2 to GL3 enums
+sort $idir/GL.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep GL_ | awk ' { print $5 } '
+
+echo GL to GL2ES2 to GL3 functions
+sort $idir/GL.java $idir/GL3.java $idir/GL2ES2.java | uniq -d | grep "public [a-z0-9_]* gl"
diff --git a/make/scripts/lstjars.sh b/make/scripts/lstjars.sh
new file mode 100755
index 000000000..2a2f67bf2
--- /dev/null
+++ b/make/scripts/lstjars.sh
@@ -0,0 +1,155 @@
+#! /bin/sh
+
+THISDIR=$(pwd)
+
+BUILDDIR=$1
+shift
+BUILDDIR_GLUEGEN=$1
+shift
+if [ -z "$BUILDDIR" -o -z "$BUILDDIR_GLUEGEN" ] ; then
+ echo "usage $0 <BUILDDIR-JOGL> <BUILDDIR-GLUEGEN> [-skippack200]"
+ exit 1
+fi
+
+STATDIR=$BUILDDIR-stats
+
+skippack200=0
+if [ "$1" = "-skippack200" ] ; then
+ skippack200=1
+fi
+
+function report() {
+ #ls -1 -s --block-size=1024 $*
+ #ls -1 -s --block-size=1024 $* | awk ' BEGIN { sum=0 ; } { sum=sum+$1; } END { printf("%d Total\n", sum); }'
+ du -ksc $*
+}
+
+OSS=x11
+ARCH=linux-amd64
+
+function listdeployment() {
+ JAR_SUFFIX=$1
+ shift
+
+ echo JOGL Deployment Payload for $JAR_SUFFIX
+ echo
+
+ echo JOGL ES1 NEWT CORE
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles1.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es1.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL ES2 NEWT CORE
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL ES2 NEWT CORE FIXED
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.egl.$JAR_SUFFIX jogl.gles2.$JAR_SUFFIX jogl.util.fixedfuncemu.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL GL2ES12 NEWT
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gl2es12.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_gl2es12.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz
+ echo
+
+ echo JOGL GL2 NEWT
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gldesktop.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnewt.so.gz libnativewindow_$OSS.so.gz
+ echo
+
+ echo JOGL GL2 AWT
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.core.$JAR_SUFFIX jogl.util.$JAR_SUFFIX jogl.os.$OSS.$JAR_SUFFIX jogl.gldesktop.$JAR_SUFFIX jogl.awt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz
+ echo
+
+ echo JOGL ALL AWT
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.all.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz
+ echo
+
+ echo JOGL ALL No AWT
+ report gluegen-rt.$JAR_SUFFIX nativewindow.all-noawt.$JAR_SUFFIX jogl.all-noawt.$JAR_SUFFIX newt.all-noawt.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_desktop.so.gz libnativewindow_$OSS.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL CDCFP DESKTOP
+ report gluegen-rt-cdc.$JAR_SUFFIX nativewindow.all.$JAR_SUFFIX jogl.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_$OSS.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL CDCFP ES1 MOBILE
+ report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles1.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es1.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL CDCFP ES2 MOBILE
+ report gluegen-rt-cdc.$JAR_SUFFIX jogl.core.cdc.$JAR_SUFFIX jogl.egl.cdc.$JAR_SUFFIX jogl.gles2.cdc.$JAR_SUFFIX jogl.util.cdc.$JAR_SUFFIX nativewindow.all.cdc.$JAR_SUFFIX newt.all.cdc.$JAR_SUFFIX libgluegen-rt.so.gz libjogl_es2.so.gz libnewt.so.gz
+ echo
+
+ echo JOGL GLU
+ report jogl.glu.*$JAR_SUFFIX
+ echo
+
+ echo JOGL EVERYTHING
+ report *.all.$JAR_SUFFIX libgluegen-rt.so.gz libnativewindow_$OSS.so.gz libnativewindow_awt.so.gz libjogl_desktop.so.gz libjogl_es1.so.gz libjogl_es2.so.gz libnewt.so.gz
+ echo
+}
+
+rm -rf $STATDIR
+mkdir -p $STATDIR
+cp -a $BUILDDIR/nativewindow/obj/*.so $STATDIR
+cp -a $BUILDDIR/jogl/obj/*.so $STATDIR
+cp -a $BUILDDIR/newt/obj/*.so $STATDIR
+cp -a $BUILDDIR/nativewindow/*.jar $STATDIR
+cp -a $BUILDDIR/jogl/*.jar $STATDIR
+cp -a $BUILDDIR/newt/*.jar $STATDIR
+cp -a $BUILDDIR_GLUEGEN/gluegen-rt.jar $STATDIR
+cp -a $BUILDDIR_GLUEGEN/gluegen-rt-cdc.jar $STATDIR
+cp -a $BUILDDIR_GLUEGEN/gluegen-rt-natives-linux-i586.jar $STATDIR
+cp -a $BUILDDIR_GLUEGEN/gluegen-rt-natives-linux-i586-cdc.jar $STATDIR
+cp -a $BUILDDIR_GLUEGEN/obj/libgluegen-rt.so $STATDIR
+
+cd $STATDIR
+
+for i in *.so ; do
+ gzip $i
+done
+
+echo Native Libraries
+report *.gz
+echo
+
+rm -f *.lst
+
+for i in *.jar ; do
+ fname=$i
+ bname=$(basename $fname .jar)
+ echo list $fname to $bname.lst
+ jar tf $fname | grep class | sort > $bname.lst
+done
+
+rm -rf nope
+mkdir -p nope
+
+mv jogl.test.lst *-noawt.lst *.cdc.lst *.all*.lst nope/
+
+mv jogl.gl2es12.*.lst jogl.gldesktop.*.lst nope/
+echo duplicates - w/o gl2es12.* gldesktop.*
+echo
+sort jogl*.lst | uniq -d
+mv nope/* .
+
+mv jogl.test.lst *.cdc.lst *.all*.lst nope/
+cat *.lst | sort -u > allparts.lst
+mv nope/* .
+cat *.all.lst gluegen-rt.lst | sort -u > allall.lst
+cat jogl.all.cdc.lst newt.all.cdc.lst nativewindow.core.lst | sort -u > allcdc.lst
+
+echo all vs allparts delta
+echo
+diff -Nur allparts.lst allall.lst
+
+listdeployment jar
+
+if [ $skippack200 -eq 0 ] ; then
+ for i in *.jar ; do
+ fname=$i
+ bname=$(basename $fname .jar)
+ echo pack200 $bname.pack.gz $fname
+ pack200 $bname.pack.gz $fname
+ done
+ listdeployment pack.gz
+fi
+
diff --git a/make/scripts/make-runtime-properties.sh b/make/scripts/make-runtime-properties.sh
new file mode 100644
index 000000000..f546a93ee
--- /dev/null
+++ b/make/scripts/make-runtime-properties.sh
@@ -0,0 +1,59 @@
+#! /bin/bash
+
+dest0=../doc/Implementation
+dest=../doc/Implementation/runtime-properties-temp
+
+rm -rf $dest
+mkdir $dest
+
+function cleanup() {
+ tfile=$1
+ shift
+ ffile=$1
+ shift
+ domain=$1
+ shift
+
+ sed -e 's/^.*(\"//g' -i $tfile
+ sed -e 's/\".*$//g' -i $tfile
+ sed -e "s/^/$domain/g" -i $tfile
+
+ sort -u $tfile > $ffile
+ rm -f $tfile
+}
+
+grep -hRI "Debug\.debug" ../../gluegen/src/java/com/jogamp | sort -u > $dest/gluegen-rt.debug.tmp1.txt
+cleanup $dest/gluegen-rt.debug.tmp1.txt $dest/gluegen-rt.debug.txt jogamp.debug.
+grep -hRI -e "Debug\.isPropertyDefined" -e "Debug\.get" ../../gluegen/src/java/com/jogamp | sort -u > $dest/gluegen-rt.debug.ipd.tmp1.txt
+cleanup $dest/gluegen-rt.debug.ipd.tmp1.txt $dest/gluegen-rt.ipd.debug.txt
+
+grep -hRI "Debug\.debug" ../src/nativewindow | sort -u > $dest/nativewindow.debug.tmp1.txt
+cleanup $dest/nativewindow.debug.tmp1.txt $dest/nativewindow.debug.txt nativewindow.debug.
+grep -hRI -e "Debug\.isPropertyDefined" -e "Debug\.get" ../src/nativewindow | sort -u > $dest/nativewindow.debug.ipd.tmp1.txt
+cleanup $dest/nativewindow.debug.ipd.tmp1.txt $dest/nativewindow.ipd.debug.txt
+
+grep -hRI "Debug\.debug" ../src/jogl | sort -u > $dest/jogl.debug.all.tmp1.txt
+cleanup $dest/jogl.debug.all.tmp1.txt $dest/jogl.debug.all.txt jogl.debug.
+grep -hRI -e "Debug\.isPropertyDefined" -e "Debug\.get" ../src/jogl | sort -u > $dest/jogl.debug.ipd.tmp1.txt
+cleanup $dest/jogl.debug.ipd.tmp1.txt $dest/jogl.ipd.debug.txt
+
+grep -hRI "Debug\.debug" ../src/newt | sort -u > $dest/newt.debug.tmp1.txt
+cleanup $dest/newt.debug.tmp1.txt $dest/newt.debug.txt newt.debug.
+grep -hRI -e "Debug\.isPropertyDefined" -e "Debug\.get" ../src/newt | sort -u > $dest/newt.debug.ipd.tmp1.txt
+cleanup $dest/newt.debug.ipd.tmp1.txt $dest/newt.ipd.debug.txt
+
+function onefile() {
+ for i in $dest/* ; do
+ echo $i
+ echo ----------------------------------------
+ sed 's/^/ /g' $i
+ echo
+ echo
+ echo
+ done
+}
+
+onefile > $dest0/runtime-properties-new.txt
+
+rm -rf $dest
+
diff --git a/make/scripts/make.jogl.all.linux-x86.sh b/make/scripts/make.jogl.all.linux-x86.sh
new file mode 100755
index 000000000..76b46a03b
--- /dev/null
+++ b/make/scripts/make.jogl.all.linux-x86.sh
@@ -0,0 +1,65 @@
+#! /bin/sh
+
+if [ -e ../../setenv-build-jogl-x86.sh ] ; then
+ . ../../setenv-build-jogl-x86.sh
+fi
+
+if [ -z "$ANT_PATH" ] ; then
+ if [ -e /usr/share/ant/bin/ant -a -e /usr/share/ant/lib/ant.jar ] ; then
+ ANT_PATH=/usr/share/ant
+ export ANT_PATH
+ echo autosetting ANT_PATH to $ANT_PATH
+ fi
+fi
+if [ -z "$ANT_PATH" ] ; then
+ echo ANT_PATH does not exist, set it
+ exit
+fi
+
+if [ "$1" = "-libdir" ] ; then
+ shift
+ if [ -z "$1" ] ; then
+ echo libdir argument missing
+ print_usage
+ exit
+ fi
+ CUSTOMLIBDIR="-Dcustom.libdir=$1"
+ shift
+fi
+
+
+# -Djogl.cg=1
+# -Dc.compiler.debug=true
+# -DuseOpenMAX=true \
+# -Dbuild.noarchives=true
+# -Dgluegen.cpptasks.detected.os=true \
+# -DisUnix=true \
+# -DisLinux=true \
+# -DisLinuxX86=true \
+# -DisX11=true \
+# -Djogl.cg=1 \
+
+#LD_LIBRARY_PATH=/opt-linux-x86_64/mesa-7.8.1/lib64
+#export LD_LIBRARY_PATH
+
+LOGF=make.jogl.all.linux-x86.log
+rm -f $LOGF
+
+# export LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib32/fglrx/dri
+# export LIBGL_DEBUG=verbose
+echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a $LOGF
+echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a $LOGF
+echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF
+
+ant \
+ $CUSTOMLIBDIR \
+ -Dbuild.noarchives=true \
+ -Dgluegen-cpptasks.file=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-linux-32bit.xml \
+ -Dbuild.noarchives=true \
+ -Djogl.cg=1 \
+ -Drootrel.build=build-x86 \
+ -Dos.arch=x86 \
+ -DuseKD=true \
+ -DuseOpenMAX=true \
+ $* 2>&1 | tee -a $LOGF
+
diff --git a/make/scripts/make.jogl.all.linux-x86_64.sh b/make/scripts/make.jogl.all.linux-x86_64.sh
new file mode 100755
index 000000000..f8224b1fe
--- /dev/null
+++ b/make/scripts/make.jogl.all.linux-x86_64.sh
@@ -0,0 +1,64 @@
+#! /bin/sh
+
+if [ -e ../../setenv-build-jogl-x86_64.sh ] ; then
+ . ../../setenv-build-jogl-x86_64.sh
+fi
+
+if [ -z "$ANT_PATH" ] ; then
+ if [ -e /usr/share/ant/bin/ant -a -e /usr/share/ant/lib/ant.jar ] ; then
+ ANT_PATH=/usr/share/ant
+ export ANT_PATH
+ echo autosetting ANT_PATH to $ANT_PATH
+ fi
+fi
+if [ -z "$ANT_PATH" ] ; then
+ echo ANT_PATH does not exist, set it
+ exit
+fi
+
+if [ "$1" = "-libdir" ] ; then
+ shift
+ if [ -z "$1" ] ; then
+ echo libdir argument missing
+ print_usage
+ exit
+ fi
+ CUSTOMLIBDIR="-Dcustom.libdir=$1"
+ shift
+fi
+
+# -Djogl.cg=1
+# -Dc.compiler.debug=true \
+# -Dbuild.noarchives=true \
+
+# -Dgluegen.cpptasks.detected.os=true \
+# -DisUnix=true \
+# -DisLinux=true \
+# -DisLinuxAMD64=true \
+# -DisX11=true \
+# -Dbuild.noarchives=true \
+
+#LD_LIBRARY_PATH=/opt-linux-x86_64/mesa-7.8.1/lib64
+#export LD_LIBRARY_PATH
+
+LOGF=make.jogl.all.linux-x86_64.log
+rm -f $LOGF
+
+# export LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri:/usr/lib32/fglrx/dri
+# export LIBGL_DEBUG=verbose
+echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a $LOGF
+echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a $LOGF
+echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a $LOGF
+
+# -Dbuild.noarchives=true \
+# -Dc.compiler.debug=true \
+
+ant \
+ $CUSTOMLIBDIR \
+ -Dbuild.noarchives=true \
+ -Djogl.cg=1 \
+ -Drootrel.build=build-x86_64 \
+ -DuseKD=true \
+ -DuseOpenMAX=true \
+ $* 2>&1 | tee -a $LOGF
+
diff --git a/make/scripts/make.jogl.all.macosx.sh b/make/scripts/make.jogl.all.macosx.sh
new file mode 100755
index 000000000..a85f9344f
--- /dev/null
+++ b/make/scripts/make.jogl.all.macosx.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+if [ -e /devtools/etc/profile.ant ] ; then
+ . /devtools/etc/profile.ant
+fi
+
+
+# -Dc.compiler.debug=true
+# -Dbuild.noarchives=true
+
+ant \
+ -Dbuild.noarchives=true \
+ -Djogl.cg=1 \
+ -Drootrel.build=build-macosx \
+ $* 2>&1 | tee make.jogl.all.macosx.log
diff --git a/make/scripts/make.jogl.all.win32.bat b/make/scripts/make.jogl.all.win32.bat
new file mode 100755
index 000000000..f3f775cf7
--- /dev/null
+++ b/make/scripts/make.jogl.all.win32.bat
@@ -0,0 +1,17 @@
+set THISDIR="C:\JOGL"
+
+set J2RE_HOME=c:\jre1.6.0_21_x32
+set JAVA_HOME=c:\jdk1.6.0_21_x32
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
+
+set LIB_GEN=%THISDIR%\lib
+set CLASSPATH=.;%THISDIR%\build-win32\classes
+REM -Dc.compiler.debug=true
+REM -DuseOpenMAX=true
+REM -DuseKD=true
+REM -Djogl.cg=1
+REM -Dbuild.noarchives=true
+
+ant -Dbuild.noarchives=true -Drootrel.build=build-win32 -Djogl.cg=1 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win32.log 2>&1
diff --git a/make/scripts/make.jogl.all.win64.bat b/make/scripts/make.jogl.all.win64.bat
new file mode 100755
index 000000000..cfd5a1d09
--- /dev/null
+++ b/make/scripts/make.jogl.all.win64.bat
@@ -0,0 +1,17 @@
+set THISDIR="C:\JOGL"
+
+set J2RE_HOME=c:\jre1.6.0_21_x64
+set JAVA_HOME=c:\jdk1.6.0_21_x64
+set ANT_PATH=C:\apache-ant-1.8.0
+
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw64\bin;c:\mingw\bin;%PATH%
+
+set LIB_GEN=%THISDIR%\lib
+set CLASSPATH=.;%THISDIR%\build-win64\classes
+REM -Dc.compiler.debug=true
+REM -DuseOpenMAX=true
+REM -DuseKD=true
+REM -Djogl.cg=1
+REM -Dbuild.noarchives=true
+
+ant -Dc.compiler.debug=true -Dbuild.noarchives=true -Drootrel.build=build-win64 -Djogl.cg=1 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
diff --git a/make/scripts/make.jogl.cdcfp.linux-x86.sh b/make/scripts/make.jogl.cdcfp.linux-x86.sh
new file mode 100755
index 000000000..ad80f194d
--- /dev/null
+++ b/make/scripts/make.jogl.cdcfp.linux-x86.sh
@@ -0,0 +1,38 @@
+#! /bin/sh
+
+if [ -e ../../setenv-build-jogl-x86.sh ] ; then
+ . ../../setenv-build-jogl-x86.sh
+fi
+
+# -Dc.compiler.debug=true
+#
+# -Djavacdebug="false" \
+# -Djavacdebuglevel="none" \
+#
+# -Djava.generate.skip=true \
+# -Dbuild.noarchives=true
+
+BUILD_SUBDIR=build-cdcfp-x86
+
+ant -v \
+ -Dgluegen-cpptasks.file=`pwd`/../../gluegen/make/lib/gluegen-cpptasks-linux-32bit.xml \
+ -Dbuild.noarchives=true \
+ -Drootrel.build=$BUILD_SUBDIR \
+ -Dsetup.cdcfp=true \
+ -Dgluegen.cpptasks.detected.os=true \
+ -DisUnix=true \
+ -DisLinux=true \
+ -DisLinuxX86=true \
+ -DisX11=true \
+ -DuseOpenMAX=true \
+ $* 2>&1 | tee make.jogl.cdcfp.linux-x86.log
+
+rm -rf ../$BUILD_SUBDIR/lib
+mkdir -p ../$BUILD_SUBDIR/lib
+for i in `find ../$BUILD_SUBDIR/ -name \*so` ; do
+ cp -v $i ../$BUILD_SUBDIR/lib/$(basename $i .so).so
+done
+for i in `find ../../gluegen/$BUILD_SUBDIR/ -name \*so` ; do
+ cp -v $i ../$BUILD_SUBDIR/lib/$(basename $i .so).so
+done
+
diff --git a/make/scripts/make.jogl.cdcfp.macosx.sh b/make/scripts/make.jogl.cdcfp.macosx.sh
new file mode 100755
index 000000000..d36f0bb7e
--- /dev/null
+++ b/make/scripts/make.jogl.cdcfp.macosx.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+
+if [ -e /devtools/etc/profile.ant ] ; then
+ . /devtools/etc/profile.ant
+fi
+
+
+# -Dc.compiler.debug=true
+# -Dbuild.noarchives=true
+
+BUILD_SUBDIR=build-cdcfp-macosx
+
+ant \
+ -Dbuild.noarchives=true \
+ -Dsetup.cdcfp=true \
+ -Drootrel.build=$BUILD_SUBDIR \
+ $* 2>&1 | tee make.jogl.cdcfp.macosx.log
+
+rm -rf ../$BUILD_SUBDIR/lib
+mkdir -p ../$BUILD_SUBDIR/lib
+for i in `find ../$BUILD_SUBDIR/ -name \*jnilib` ; do
+ cp -v $i ../$BUILD_SUBDIR/lib/$(basename $i .jnilib).so
+done
+for i in `find ../../gluegen/$BUILD_SUBDIR/ -name \*jnilib` ; do
+ cp -v $i ../$BUILD_SUBDIR/lib/$(basename $i .jnilib).so
+done
+
diff --git a/make/scripts/make.jogl.doc.all.x86_64.sh b/make/scripts/make.jogl.doc.all.x86_64.sh
new file mode 100755
index 000000000..3711171af
--- /dev/null
+++ b/make/scripts/make.jogl.doc.all.x86_64.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+if [ -e ../../setenv-build-jogl-x86_64.sh ] ; then
+ . ../../setenv-build-jogl-x86_64.sh
+fi
+
+
+ant -v \
+ -Dbuild.noarchives=true \
+ -Drootrel.build=build-x86_64 \
+ javadoc.spec javadoc javadoc.dev $* 2>&1 | tee make.jogl.doc.all.x86_64.log
diff --git a/make/scripts/make.jogl.doc.x86_64.sh b/make/scripts/make.jogl.doc.x86_64.sh
new file mode 100755
index 000000000..daf09ec33
--- /dev/null
+++ b/make/scripts/make.jogl.doc.x86_64.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+if [ -e ../../setenv-build-jogl-x86_64.sh ] ; then
+ . ../../setenv-build-jogl-x86_64.sh
+fi
+
+
+ant -v \
+ -Dbuild.noarchives=true \
+ -Drootrel.build=build-x86_64 \
+ javadoc $* 2>&1 | tee make.jogl.doc.x86_64.log
diff --git a/make/scripts/rsync2here.sh b/make/scripts/rsync2here.sh
new file mode 100755
index 000000000..958fccf7f
--- /dev/null
+++ b/make/scripts/rsync2here.sh
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# USESSH="-e ssh"
+
+#DEST=/usr/local/projects/JOGL
+DEST=/cygdrive/c/JOGL
+
+function my_rsync()
+{
+ # rsync $USESSH -av --perms --delete-after --exclude 'build*/' $SOURCE/JOGL/$1 $2
+ rsync $USESSH -av --perms --delete-after --exclude 'build*/' $SOURCE/JOGL/$1 $2
+}
+
+function do_rsync()
+{
+ my_rsync gluegen $DEST/
+ my_rsync jogl $DEST/
+ my_rsync jogl-demos $DEST/
+ my_rsync lib $DEST/
+ my_rsync lib-windows-x86 $DEST/
+ my_rsync lib-linux-x86 $DEST/
+ my_rsync lib-linux-x86_64 $DEST/
+ my_rsync setenv* $DEST/
+}
+
+do_rsync 2>&1 | tee -a rsync.log
+
diff --git a/make/scripts/setenv-jogl.sh b/make/scripts/setenv-jogl.sh
new file mode 100755
index 000000000..76fa40fc5
--- /dev/null
+++ b/make/scripts/setenv-jogl.sh
@@ -0,0 +1,103 @@
+#! /bin/sh
+
+function print_usage() {
+ echo "Usage: $0 jogl-build-dir [JOGL_PROFILE]"
+}
+
+if [ -z "$1" ] ; then
+ echo JOGL BUILD DIR missing
+ print_usage
+ exit
+fi
+
+if [ -e /devtools/etc/profile.ant ] ; then
+ . /devtools/etc/profile.ant
+fi
+
+JOGL_BUILDDIR=$1
+shift
+
+if [ -z "$1" ] ; then
+ JOGL_PROFILE=JOGL_ALL
+else
+ JOGL_PROFILE=$1
+ shift
+fi
+
+THISDIR=`pwd`
+
+if [ -e "$JOGL_BUILDDIR" ] ; then
+ JOGL_DIR=$JOGL_BUILDDIR/..
+ JOGL_BUILDDIR_BASE=`basename $JOGL_BUILDDIR`
+else
+ echo JOGL_BUILDDIR $JOGL_BUILDDIR not exist or not given
+ print_usage
+ exit
+fi
+
+gpf=`find ../../gluegen/make -name dynlink-unix.cfg`
+if [ -z "$gpf" ] ; then
+ gpf=`find .. -name dynlink-unix.cfg`
+fi
+if [ -z "$gpf" ] ; then
+ echo GLUEGEN_BUILDDIR not found
+ print_usage
+ exit
+fi
+
+GLUEGEN_DIR=`dirname $gpf`/..
+GLUEGEN_BUILDDIR=$GLUEGEN_DIR/$JOGL_BUILDDIR_BASE
+if [ ! -e "$GLUEGEN_BUILDDIR" ] ; then
+ echo GLUEGEN_BUILDDIR $GLUEGEN_BUILDDIR does not exist
+ print_usage
+ exit
+fi
+GLUEGEN_JAR=$GLUEGEN_BUILDDIR/gluegen-rt.jar
+GLUEGEN_OS=$GLUEGEN_BUILDDIR/obj
+JUNIT_JAR=$GLUEGEN_DIR/make/lib/junit.jar
+
+if [ -z "$ANT_PATH" ] ; then
+ if [ -e /usr/share/ant/bin/ant -a -e /usr/share/ant/lib/ant.jar ] ; then
+ ANT_PATH=/usr/share/ant
+ export ANT_PATH
+ echo autosetting ANT_PATH to $ANT_PATH
+ fi
+fi
+if [ -z "$ANT_PATH" ] ; then
+ echo ANT_PATH does not exist, set it
+ print_usage
+ exit
+fi
+ANT_JARS=$ANT_PATH/lib/ant.jar:$ANT_PATH/lib/ant-junit.jar
+
+echo GLUEGEN BUILDDIR: $GLUEGEN_BUILDDIR
+echo JOGL DIR: $JOGL_DIR
+echo JOGL BUILDDIR: $JOGL_BUILDDIR
+echo JOGL BUILDDIR BASE: $JOGL_BUILDDIR_BASE
+echo JOGL PROFILE: $JOGL_PROFILE
+
+J2RE_HOME=$(which java)
+JAVA_HOME=$(which javac)
+CP_SEP=:
+
+. $JOGL_DIR/etc/profile.jogl $JOGL_PROFILE $JOGL_BUILDDIR
+
+SWT_CLASSPATH=$HOME/.java/swt.jar
+LIB=$THISDIR/lib
+
+CLASSPATH=.:$GLUEGEN_JAR:$JOGL_CLASSPATH:$SWT_CLASSPATH:$JUNIT_JAR:$ANT_JARS
+for i in $LIB/*jar ; do
+ CLASSPATH=$CLASSPATH:$i
+done
+export CLASSPATH
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GLUEGEN_OS:$JOGL_LIB_DIR
+export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GLUEGEN_OS:$JOGL_LIB_DIR
+
+echo CLASSPATH: $CLASSPATH
+echo
+echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true" for running demos without AWT, e.g. NEWT
+echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true com.jogamp.newt.util.MainThread" for running demos with NEWT
+
+PATH=$J2RE_HOME/bin:$JAVA_HOME/bin:$PATH
+export PATH
+
diff --git a/make/scripts/setvc9-jogl.bat b/make/scripts/setvc9-jogl.bat
new file mode 100755
index 000000000..2e8338374
--- /dev/null
+++ b/make/scripts/setvc9-jogl.bat
@@ -0,0 +1,9 @@
+
+
+set PATH=C:\cygwin\devtools\share\apache-ant-1.8.0\bin;%PATH%
+set ANT_PATH=C:\cygwin\devtools\share\apache-ant-1.8.0
+
+c:
+cd C:\SUN\JOGL2\jogl\make
+
+"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
diff --git a/make/scripts/strip-c-comments.awk b/make/scripts/strip-c-comments.awk
new file mode 100755
index 000000000..4f35452b2
--- /dev/null
+++ b/make/scripts/strip-c-comments.awk
@@ -0,0 +1,59 @@
+#!/usr/bin/awk
+
+BEGIN { ORS = "" ; C99=1 }
+
+{ code = code $0 "\n" }
+
+END {
+ while ( length(code) )
+ code = process( code )
+}
+
+function process( text )
+{
+ if ( C99 ) {
+ if ( match( text, /"|'|\/\*|\/\// ) ) {
+ return span( text )
+ }
+ } else if ( match( text, /"|'|\/\*/ ) ) {
+ return span( text )
+ }
+ print text
+ return ""
+}
+
+function span( text , starter )
+{
+ print substr( text, 1, RSTART - 1 )
+ starter = substr( text, RSTART, RLENGTH )
+ text = substr( text, RSTART + RLENGTH )
+
+ if ( "\"" == starter || "'" == starter ) {
+ return quoted( text, starter )
+ }
+ if ( "//" == starter ) {
+ return remove( text, "\n", "\n" )
+ }
+ ## Allow for
+ ## /* foo *\
+ ## /
+ return remove( text, "\\*(\\\\\n)?/", " " )
+}
+
+function remove( text, ender, replacement )
+{
+ print replacement
+ return substr( text, match(text, ender) + RLENGTH )
+}
+
+function quoted( text, starter )
+{
+ if ( "'" == starter ) {
+ match( text, /^(\\.|[^'])*'/ )
+ } else {
+ match( text, /^(\\.|\?\?\/.|[^"])*"/ )
+ }
+ print starter substr( text, 1, RLENGTH )
+ return substr( text, RSTART + RLENGTH )
+}
+
diff --git a/make/scripts/tests.bat b/make/scripts/tests.bat
new file mode 100644
index 000000000..1f3014660
--- /dev/null
+++ b/make/scripts/tests.bat
@@ -0,0 +1,25 @@
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -time 30000
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.acore.TestGLProfile01CORE
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411
+
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestParenting01AWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01cAWT -time 50000
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestListenerCom01AWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT
+
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestGLWindows01NEWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT
+scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.nativewindow.TestRecursiveToolkitLockCORE
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000
+
+REM scripts\java-win64.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode00NEWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode01NEWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode02NEWT
+
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT
+REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting02NEWT
diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh
new file mode 100644
index 000000000..3df37e330
--- /dev/null
+++ b/make/scripts/tests.sh
@@ -0,0 +1,93 @@
+#! /bin/bash
+
+bdir=../build-x86_64
+
+rm -f java-run.log
+
+spath=`dirname $0`
+
+. $spath/setenv-jogl.sh $bdir JOGL_ALL
+
+which java 2>&1 | tee -a java-run.log
+java -version 2>&1 | tee -a java-run.log
+echo LIBXCB_ALLOW_SLOPPY_LOCK: $LIBXCB_ALLOW_SLOPPY_LOCK 2>&1 | tee -a java-run.log
+echo LIBGL_DRIVERS_PATH: $LIBGL_DRIVERS_PATH 2>&1 | tee -a java-run.log
+echo LIBGL_DEBUG: $LIBGL_DEBUG 2>&1 | tee -a java-run.log
+echo java $X_ARGS $D_ARGS $* 2>&1 | tee -a java-run.log
+
+function jrun() {
+ awtarg=$1
+ shift
+ # D_ARGS="-Djogamp.debug.TraceLock"
+ # D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.NativeWindow"
+ # D_ARGS="-Dnewt.debug.Window -Dnewt.debug.Display -Dnewt.debug.EDT"
+ # D_ARGS="-Dnewt.debug.EDT -Dnativewindow.debug.ToolkitLock.TraceLock -Dnativewindow.debug.X11Util.TraceDisplayLifecycle=true"
+ #D_ARGS="-Djogamp.common.utils.locks.Lock.timeout=600000 -Djogamp.debug.Lock -Djogamp.debug.Lock.TraceLock"
+ # D_ARGS="-Dnewt.debug.Window -Dnewt.debug.EDT -Dnewt.debug.Display "
+ #D_ARGS="-Dnewt.debug.EDT -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogl.debug.Animator -Dnewt.debug.Display -Dnewt.debug.Screen"
+ #D_ARGS="-Dnewt.debug.EDT -Dnewt.debug.Display -Dnativewindow.debug.X11Util -Djogl.debug.GLDrawable -Djogl.debug.GLCanvas"
+ #D_ARGS="-Dnewt.debug.EDT -Djogl.debug.GLContext"
+ #D_ARGS="-Dnewt.debug.Screen -Dnewt.debug.EDT -Djogamp.debug.Lock"
+ D_ARGS="-Dnewt.debug.EDT"
+ #D_ARGS="-Dnewt.debug.EDT -Djogl.debug=all -Dnativewindow.debug=all"
+ # D_ARGS="-Djogl.debug=all"
+ X_ARGS="-Dsun.java2d.noddraw=true -Dsun.java2d.opengl=false"
+ java $awtarg $X_ARGS $D_ARGS $* 2>&1 | tee -a java-run.log
+}
+
+function testnoawt() {
+ jrun -Djava.awt.headless=true $*
+}
+
+function testawt() {
+ jrun -Djava.awt.headless=false $*
+}
+
+#
+# newt (testnoawt and testawt)
+#
+#testnoawt com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT $*
+#testawt com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT $*
+#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT
+#testawt com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting02NEWT
+#testawt com.jogamp.test.junit.newt.TestScreenMode00NEWT
+#testnoawt com.jogamp.test.junit.newt.TestScreenMode01NEWT
+#testnoawt com.jogamp.test.junit.newt.TestScreenMode02NEWT
+testawt com.jogamp.test.junit.newt.TestGLWindows01NEWT -time 1000000
+#testawt -Djava.awt.headless=true com.jogamp.test.junit.newt.TestGLWindows01NEWT
+#testawt com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated
+
+
+#
+# awt (testawt)
+#
+#testawt com.jogamp.test.junit.jogl.awt.TestAWT01GLn $*
+#testawt com.jogamp.test.junit.jogl.awt.TestAWT02WindowClosing
+#testawt com.jogamp.test.junit.jogl.awt.TestSwingAWT01GLn
+#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsAWT
+#testawt com.jogamp.test.junit.jogl.texture.TestTexture01AWT
+
+#
+# newt.awt (testawt)
+#
+#testawt com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411
+#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNewtAWTWrapper
+#testawt com.jogamp.test.junit.newt.TestEventSourceNotAWTBug
+#testawt com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot
+#testawt com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot
+#testawt com.jogamp.test.junit.newt.TestListenerCom01AWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting01aAWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting01bAWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting01cAWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting01cSwingAWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting02AWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting03AWT
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000
+#testawt com.jogamp.test.junit.newt.parenting.TestParenting03bAWT -time 100000
+
+#testawt $*
+
+$spath/count-edt-start.sh java-run.log
+