summaryrefslogtreecommitdiffstats
path: root/opengl/tools/glgen/gen
diff options
context:
space:
mode:
authorJack Palevich <jackpal@google.com>2009-04-14 19:00:09 -0700
committerJack Palevich <jackpal@google.com>2009-04-14 19:00:09 -0700
commit4e70a9e4627f42671d0671f2fda2ade7a19879bb (patch)
tree069a0592f139140d13720a1b9c3746040dbddce1 /opengl/tools/glgen/gen
parentfb9edfd165a256a5407f6f57142c1c6ac0ddd01c (diff)
downloadframeworks_base-4e70a9e4627f42671d0671f2fda2ade7a19879bb.zip
frameworks_base-4e70a9e4627f42671d0671f2fda2ade7a19879bb.tar.gz
frameworks_base-4e70a9e4627f42671d0671f2fda2ade7a19879bb.tar.bz2
Improve glgen
+ gen script is really a bash script rather than a sh script, so declare that to be true. (For example, it uses pushd, which is a part of bash, but not a part of sh. Not sure how this worked until now. Possibly gen was only run in environments where /bin/sh was really bash. + Check the results of the java compile of the code generator, and abort the script if the compile fails. + Turn on the bash shell option that guards against using uninitialized variables in the script. + Remove the generated class files. Refactor JniCodeEmitter into two classes: a general-purpose JniCodeEmitter and a specific Jsr239CodeEmitter. The hope is to use JniCodeEmitter as a base for emitting static OpenGL ES bindings.
Diffstat (limited to 'opengl/tools/glgen/gen')
-rwxr-xr-xopengl/tools/glgen/gen11
1 files changed, 9 insertions, 2 deletions
diff --git a/opengl/tools/glgen/gen b/opengl/tools/glgen/gen
index c060040..25e9a09 100755
--- a/opengl/tools/glgen/gen
+++ b/opengl/tools/glgen/gen
@@ -1,4 +1,5 @@
-#!/bin/sh
+#!/bin/bash
+set -u
rm -rf out generated
mkdir out
@@ -12,12 +13,18 @@ echo "public interface Canvas {}" >> out/android/graphics/Canvas.java
GLFILE=out/javax/microedition/khronos/opengles/GL.java
cp stubs/GLHeader.java-if $GLFILE
-GLGEN_FILES="CFunc.java CType.java CodeEmitter.java GenerateGL.java JFunc.java JType.java JniCodeEmitter.java ParameterChecker.java"
+GLGEN_FILES="CFunc.java CType.java CodeEmitter.java GenerateGL.java JFunc.java JniCodeEmitter.java JType.java Jsr239CodeEmitter.java ParameterChecker.java"
pushd src > /dev/null
javac ${GLGEN_FILES}
+JAVAC_RESULT=$?
+if [ $JAVAC_RESULT -ne 0 ]; then
+ echo "Could not compile glgen."
+ exit $JAVAC_RESULT
+fi
popd > /dev/null
java -classpath src GenerateGL -c glspec-1.0 glspec-1.0ext glspec-1.1 glspec-1.1ext glspec-1.1extpack glspec-checks
+rm src/*.class
pushd out > /dev/null
mkdir classes