blob: d99f8b96a5d99835ebcfde85efe62936807786d4 [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 Northrop5a4883b2015-07-08 09:53:03 -060026 git fetch --all
Cody Northropf91add82015-07-02 11:33:41 -060027 git checkout $GLSLANG_REVISION
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060028}
29
30function create_LunarGLASS () {
31 rm -rf $BASEDIR/LunarGLASS
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070032 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)."
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060033 mkdir -p $BASEDIR/LunarGLASS/Core/LLVM
34 cd $BASEDIR/LunarGLASS/Core/LLVM
35 wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz
36 tar --gzip -xf llvm-3.4.src.tar.gz
37 cd $BASEDIR/LunarGLASS
38 svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ .
39 svn revert --depth=infinity .
40}
41
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060042function update_LunarGLASS () {
43 echo "Updating $BASEDIR/LunarGLASS"
44 cd $BASEDIR/LunarGLASS
GregF8108cd82015-08-11 16:03:28 -060045 svn update -r "$LUNARGLASS_REVISION" |& tee svnout
46 if grep --quiet LLVM svnout ; then
47 rm -rf $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build
48 fi
49 rm -rf svnout
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060050}
51
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060052function build_glslang () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070053 echo "Building $BASEDIR/glslang"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060054 cd $BASEDIR/glslang
55 mkdir -p build
56 cd build
57 cmake -D CMAKE_BUILD_TYPE=Release ..
58 cmake -D CMAKE_BUILD_TYPE=Release ..
59 make
60 make install
61}
62
63function build_LunarGLASS () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070064 echo "Building $BASEDIR/LunarGLASS"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060065 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
66 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
67 mkdir -p build
68 cd build
69 ../configure --enable-terminfo=no --enable-curses=no
70 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
71 fi
72 cd $BASEDIR/LunarGLASS
73 mkdir -p build
74 cd build
75 cmake -D CMAKE_BUILD_TYPE=Release ..
76 cmake -D CMAKE_BUILD_TYPE=Release ..
77 make
78 make install
79}
80
Courtney Goeltzenleuchter37a74cc2015-07-15 11:15:37 -060081if [ ! -d "$BASEDIR/glslang" -o ! -d "$BASEDIR/glslang/.git" ]; then
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060082 create_glslang
83fi
84if [ ! -d "$BASEDIR/LunarGLASS" ]; then
85 create_LunarGLASS
86fi
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070087
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060088update_glslang
89update_LunarGLASS
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060090
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060091build_glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060092build_LunarGLASS