blob: 77ce46fa64ca6d899ed7b64c7b82e0b56bfc7f28 [file] [log] [blame]
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -06001#!/bin/bash
2# Update source for glslang and LLVM
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -06003
Cody Northropa8ac1352015-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 Goeltzenleuchter90a6f4b2014-10-29 17:50:15 -060010
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060011BUILDDIR=$PWD
12BASEDIR=$BUILDDIR/..
13
14function create_glslang () {
15 rm -rf $BASEDIR/glslang
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070016 echo "Creating local glslang repository ($BASEDIR/glslang)."
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060017 mkdir -p $BASEDIR/glslang
18 cd $BASEDIR/glslang
Cody Northropa1951362015-07-02 11:33:41 -060019 git clone https://github.com/KhronosGroup/glslang.git .
20 git checkout $GLSLANG_REVISION
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060021}
22
23function update_glslang () {
24 echo "Updating $BASEDIR/glslang"
25 cd $BASEDIR/glslang
Cody Northrop139ec4f2015-07-08 09:53:03 -060026 git fetch --all
Cody Northropa1951362015-07-02 11:33:41 -060027 git checkout $GLSLANG_REVISION
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060028}
29
30function create_LunarGLASS () {
31 rm -rf $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070032 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)."
GregF425a7e02015-09-21 17:53:57 -060033 mkdir -p $BASEDIR/LunarGLASS
34 cd $BASEDIR/LunarGLASS
35 git clone https://github.com/LunarG/LunarGLASS.git .
36 mkdir -p Core/LLVM
37 cd Core/LLVM
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060038 wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz
39 tar --gzip -xf llvm-3.4.src.tar.gz
GregF425a7e02015-09-21 17:53:57 -060040 git checkout -f . # put back the LunarGLASS versions of some LLVM files
41 git checkout $LUNARGLASS_REVISION
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060042}
43
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060044function update_LunarGLASS () {
45 echo "Updating $BASEDIR/LunarGLASS"
46 cd $BASEDIR/LunarGLASS
GregF425a7e02015-09-21 17:53:57 -060047 git fetch
48 git checkout $LUNARGLASS_REVISION |& tee gitout
49 # Figure out how to do this with git
50 #if grep --quiet LLVM gitout ; then
51 # rm -rf $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build
52 #fi
53 rm -rf gitout
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060054}
55
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060056function build_glslang () {
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070057 echo "Building $BASEDIR/glslang"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060058 cd $BASEDIR/glslang
59 mkdir -p build
60 cd build
61 cmake -D CMAKE_BUILD_TYPE=Release ..
62 cmake -D CMAKE_BUILD_TYPE=Release ..
63 make
64 make install
65}
66
67function build_LunarGLASS () {
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070068 echo "Building $BASEDIR/LunarGLASS"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060069 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
70 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
71 mkdir -p build
72 cd build
73 ../configure --enable-terminfo=no --enable-curses=no
74 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
75 fi
76 cd $BASEDIR/LunarGLASS
77 mkdir -p build
78 cd build
79 cmake -D CMAKE_BUILD_TYPE=Release ..
80 cmake -D CMAKE_BUILD_TYPE=Release ..
81 make
82 make install
83}
84
Courtney Goeltzenleuchter3d108ae2015-07-15 11:15:37 -060085if [ ! -d "$BASEDIR/glslang" -o ! -d "$BASEDIR/glslang/.git" ]; then
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060086 create_glslang
87fi
GregF425a7e02015-09-21 17:53:57 -060088if [ ! -d "$BASEDIR/LunarGLASS" -o ! -d "$BASEDIR/LunarGLASS/.git" ]; then
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060089 create_LunarGLASS
90fi
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070091
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060092update_glslang
93update_LunarGLASS
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060094
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060095build_glslang
Courtney Goeltzenleuchter90a6f4b2014-10-29 17:50:15 -060096build_LunarGLASS