1#! /bin/sh
2
3function print_usage() {
4    echo "Usage: $0 jogl-build-dir [JOGL_PROFILE]"
5}
6
7if [ -z "$1" ] ; then
8    echo JOGL BUILD DIR missing
9    print_usage
10    exit
11fi
12
13if [ -e /opt-share/etc/profile.ant ] ; then
14    . /opt-share/etc/profile.ant
15fi
16
17JOGL_BUILDDIR="$1"
18shift
19
20if [ -z "$1" ] ; then
21    JOGL_PROFILE=JOGL_ALL
22else
23    JOGL_PROFILE=$1
24    shift
25fi
26
27THISDIR=`pwd`
28
29if [ -e "$JOGL_BUILDDIR" ] ; then
30    JOGL_DIR="$JOGL_BUILDDIR/.."
31    JOGL_BUILDDIR_BASE=`basename "$JOGL_BUILDDIR"`
32else
33    echo JOGL_BUILDDIR "$JOGL_BUILDDIR" not exist or not given
34    print_usage
35    exit
36fi
37
38gpf=`find ../../gluegen/make -name jogamp-env.xml`
39if [ -z "$gpf" ] ; then
40    gpf=`find .. -name jogamp-env.xml`
41fi
42if [ -z "$gpf" ] ; then
43    echo GLUEGEN_BUILDDIR not found
44    print_usage
45    exit
46fi
47
48GLUEGEN_DIR=`dirname $gpf`/..
49GLUEGEN_BUILDDIR="$GLUEGEN_DIR"/"$JOGL_BUILDDIR_BASE"
50if [ ! -e "$GLUEGEN_BUILDDIR" ] ; then
51    echo GLUEGEN_BUILDDIR "$GLUEGEN_BUILDDIR" does not exist
52    print_usage
53    exit
54fi
55GLUEGEN_JAR="$GLUEGEN_BUILDDIR"/gluegen-rt.jar
56GLUEGEN_ALT_JAR="$GLUEGEN_BUILDDIR"/gluegen-rt-alt.jar
57GLUEGEN_TESTUTIL_JAR="$GLUEGEN_BUILDDIR"/gluegen-test-util.jar
58GLUEGEN_OS="$GLUEGEN_BUILDDIR"/obj
59JUNIT_JAR="$GLUEGEN_DIR"/make/lib/junit.jar
60SEMVER_JAR="$GLUEGEN_DIR"/make/lib/semantic-versioning/semver.jar
61
62joalpf=`find ../../joal -name joal.iml`
63if [ -z "$joalpf" ] ; then
64    joalpf=`find .. -name joal.iml`
65fi
66if [ -z "$joalpf" ] ; then
67    echo JOAL_BUILDDIR not found
68    print_usage
69    exit
70fi
71
72JOAL_DIR=`dirname $joalpf`
73JOAL_BUILDDIR="$JOAL_DIR"/"$JOGL_BUILDDIR_BASE"
74if [ ! -e "$JOAL_BUILDDIR" ] ; then
75    echo JOAL_BUILDDIR "$JOAL_BUILDDIR" does not exist
76    print_usage
77    exit
78fi
79JOAL_JAR="$JOAL_BUILDDIR"/jar/joal.jar
80
81if [ -z "$ANT_PATH" ] ; then
82    ANT_PATH=$(dirname $(dirname $(which ant)))
83    if [ -e $ANT_PATH/lib/ant.jar ] ; then
84        export ANT_PATH
85        echo autosetting ANT_PATH to $ANT_PATH
86    fi
87fi
88if [ -z "$ANT_PATH" ] ; then
89    echo ANT_PATH does not exist, set it
90    print_usage
91    exit
92fi
93ANT_JARS=$ANT_PATH/lib/ant.jar:$ANT_PATH/lib/ant-junit.jar
94
95echo GLUEGEN BUILDDIR: "$GLUEGEN_BUILDDIR"
96echo JOAL BUILDDIR: "$JOAL_BUILDDIR"
97echo JOGL DIR: "$JOGL_DIR"
98echo JOGL BUILDDIR: "$JOGL_BUILDDIR"
99echo JOGL BUILDDIR BASE: "$JOGL_BUILDDIR_BASE"
100echo JOGL PROFILE: "$JOGL_PROFILE"
101
102J2RE_HOME=$(dirname $(dirname $(which java)))
103JAVA_HOME=$(dirname $(dirname $(which javac)))
104CP_SEP=:
105
106. "$JOGL_DIR"/etc/profile.jogl $JOGL_PROFILE "$JOGL_BUILDDIR"
107
108LIB=$THISDIR/lib
109
110JOGAMP_ALL_AWT_CLASSPATH=.:"$GLUEGEN_JAR":"$JOAL_JAR":"$JOGL_ALL_AWT_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
111JOGAMP_ALL_NOAWT_CLASSPATH=.:"$GLUEGEN_JAR":"$JOAL_JAR":"$JOGL_ALL_NOAWT_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
112JOGAMP_MOBILE_CLASSPATH=.:"$GLUEGEN_JAR":"$JOAL_JAR":"$JOGL_MOBILE_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
113JOGAMP_ATOMICS_NOAWT_CLASSPATH=.:"$GLUEGEN_JAR":"$JOAL_JAR":"$JOGL_ATOMICS_NOAWT_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
114JOGAMP_ALL_NOAWT_ALT_CLASSPATH=.:"$GLUEGEN_ALT_JAR":"$JOAL_JAR":"$JOGL_ALL_NOAWT_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
115JOGAMP_MOBILE_ALT_CLASSPATH=.:"$GLUEGEN_ALT_JAR":"$JOAL_JAR":"$JOGL_MOBILE_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
116export JOGAMP_ALL_AWT_CLASSPATH JOGAMP_ALL_NOAWT_CLASSPATH JOGAMP_MOBILE_CLASSPATH JOGAMP_ATOMICS_NOAWT_CLASSPATH JOGAMP_ALL_NOAWT_ALT_CLASSPATH JOGAMP_MOBILE_ALT_CLASSPATH
117
118JOGAMP_CLASSPATH=.:"$GLUEGEN_JAR":"$JOAL_JAR":"$JOGL_CLASSPATH":"$SWT_CLASSPATH":"$JUNIT_JAR":"$ANT_JARS":"$SEMVER_JAR":"$GLUEGEN_TESTUTIL_JAR"
119export JOGAMP_CLASSPATH
120
121export JOGAMP_LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$GLUEGEN_OS":"$JOGL_LIB_DIR"
122export JOGAMP_DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH":"$GLUEGEN_OS":"$JOGL_LIB_DIR"
123
124echo JOGAMP_ALL_AWT_CLASSPATH: "$JOGAMP_ALL_AWT_CLASSPATH"
125echo JOGAMP_ALL_NOAWT_CLASSPATH: "$JOGAMP_ALL_NOAWT_CLASSPATH"
126echo JOGAMP_MOBILE_CLASSPATH: "$JOGAMP_MOBILE_CLASSPATH"
127echo JOGAMP_CLASSPATH: "$JOGAMP_CLASSPATH"
128echo JOGAMP_LD_LIBRARY_PATH: "$JOGAMP_LD_LIBRARY_PATH"
129echo JOGAMP_DYLD_LIBRARY_PATH: "$JOGAMP_DYLD_LIBRARY_PATH"
130echo
131echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true" for running demos without AWT, e.g. NEWT
132echo MacOSX REMEMBER to add the JVM arguments "-XstartOnFirstThread -Djava.awt.headless=true com.jogamp.newt.util.MainThread" for running demos with NEWT
133
134PATH=$J2RE_HOME/bin:$JAVA_HOME/bin:$PATH
135export PATH
136
137