blob: 5f145f7bc33a1027348920f7cc37a271e3c40616 [file] [log] [blame]
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06001#!/bin/bash
2# Update source for glslang and LLVM
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06003
Cody Northrop5934a882015-05-12 16:23:59 -06004set -e
5
6LUNARGLASS_REVISION=$(cat $PWD/LunarGLASS_revision)
7GLSLANG_REVISION=$(cat $PWD/glslang_revision)
8echo "LUNARGLASS_REVISION=$LUNARGLASS_REVISION"
9echo "GLSLANG_REVISION=$GLSLANG_REVISION"
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060010
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060011BUILDDIR=$PWD
12BASEDIR=$BUILDDIR/..
13
14function create_glslang () {
15 rm -rf $BASEDIR/glslang
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070016 echo "Creating local glslang repository ($BASEDIR/glslang)."
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060017 mkdir -p $BASEDIR/glslang
18 cd $BASEDIR/glslang
Cody Northropf91add82015-07-02 11:33:41 -060019 git clone https://github.com/KhronosGroup/glslang.git .
20 git checkout $GLSLANG_REVISION
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060021}
22
23function update_glslang () {
24 echo "Updating $BASEDIR/glslang"
25 cd $BASEDIR/glslang
Cody Northropf91add82015-07-02 11:33:41 -060026 git checkout $GLSLANG_REVISION
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060027}
28
29function create_LunarGLASS () {
30 rm -rf $BASEDIR/LunarGLASS
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070031 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)."
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060032 mkdir -p $BASEDIR/LunarGLASS/Core/LLVM
33 cd $BASEDIR/LunarGLASS/Core/LLVM
34 wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz
35 tar --gzip -xf llvm-3.4.src.tar.gz
36 cd $BASEDIR/LunarGLASS
37 svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ .
38 svn revert --depth=infinity .
39}
40
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060041function update_LunarGLASS () {
42 echo "Updating $BASEDIR/LunarGLASS"
43 cd $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060044 svn update -r "$LUNARGLASS_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060045}
46
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060047function build_glslang () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070048 echo "Building $BASEDIR/glslang"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060049 cd $BASEDIR/glslang
50 mkdir -p build
51 cd build
52 cmake -D CMAKE_BUILD_TYPE=Release ..
53 cmake -D CMAKE_BUILD_TYPE=Release ..
54 make
55 make install
56}
57
58function build_LunarGLASS () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070059 echo "Building $BASEDIR/LunarGLASS"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060060 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
61 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
62 mkdir -p build
63 cd build
64 ../configure --enable-terminfo=no --enable-curses=no
65 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
66 fi
67 cd $BASEDIR/LunarGLASS
68 mkdir -p build
69 cd build
70 cmake -D CMAKE_BUILD_TYPE=Release ..
71 cmake -D CMAKE_BUILD_TYPE=Release ..
72 make
73 make install
74}
75
76if [ ! -d "$BASEDIR/glslang" ]; then
77 create_glslang
78fi
79if [ ! -d "$BASEDIR/LunarGLASS" ]; then
80 create_LunarGLASS
81fi
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070082
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060083update_glslang
84update_LunarGLASS
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060085
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060086build_glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060087build_LunarGLASS