summaryrefslogtreecommitdiff
path: root/graphics/asymptote/build-scripts/build-asygl
blob: f1d75a6f8030b471973fc0adea986d55ed6d2b72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
if [ $# -gt 1 -o \( $# = 1 -a "$1" != "debug" \) ]; then \
    echo Usage: "$0 [debug]"; exit 1; \
fi

if [ $# -eq 1 ]; then \
UGLIFY=cat; \
UGLIFYOPT=""; \
else \
UGLIFY=uglifyjs; \
UGLIFYOPTIONS="-m -c --comments"; \
fi    

GL_MATRIX_VERSION=2.4.0
GL_MATRIX_DIR=gl-matrix-$GL_MATRIX_VERSION
GL_MATRIX_DIR_PRUNED=$GL_MATRIX_DIR-pruned
if test ! -r $GL_MATRIX_DIR_PRUNED; then \
    TEMPDIR=`mktemp -d`
    TARFILE=$TEMPDIR/$GL_MATRIX_DIR.tar.gz
    wget https://github.com/toji/gl-matrix/archive/v$GL_MATRIX_VERSION.tar.gz --output-document=$TARFILE
tar -zxf $TARFILE
mv $GL_MATRIX_DIR $GL_MATRIX_DIR_PRUNED
rm -r $TEMPDIR
cd $GL_MATRIX_DIR_PRUNED
patch -p1 < ../patches/$GL_MATRIX_DIR_PRUNED.patch
npm install
npm run build-all
echo "/*@license for gl-matrix mat3 and mat4 functions:" > LICENSE.js
echo "*/"| cat LICENSE.md - >> LICENSE.js
cd ..
fi
SHADERS=`mktemp`
echo "let vertex=\`" > $SHADERS
echo "\`;" | cat webgl/vertex.glsl - >> $SHADERS
echo "let fragment=\`" >> $SHADERS
echo "\`;" | cat webgl/fragment.glsl - >> $SHADERS
cat webgl/license $GL_MATRIX_DIR_PRUNED/LICENSE.js \
    $SHADERS $GL_MATRIX_DIR_PRUNED/dist/gl-matrix.js webgl/gl.js | \
    $UGLIFY $UGLIFYOPTIONS > base/webgl/asygl.js
rm $SHADERS