Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Update source for glslang and LLVM |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 3 | |
Cody Northrop | 5934a88 | 2015-05-12 16:23:59 -0600 | [diff] [blame] | 4 | set -e |
| 5 | |
| 6 | LUNARGLASS_REVISION=$(cat $PWD/LunarGLASS_revision) |
| 7 | GLSLANG_REVISION=$(cat $PWD/glslang_revision) |
| 8 | echo "LUNARGLASS_REVISION=$LUNARGLASS_REVISION" |
| 9 | echo "GLSLANG_REVISION=$GLSLANG_REVISION" |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame] | 10 | |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 11 | LUNARGLASS_REVISION_R32=$(cat $PWD/LunarGLASS_revision_R32) |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 12 | echo "LUNARGLASS_REVISION_R32=$LUNARGLASS_REVISION_R32" |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 13 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 14 | BUILDDIR=$PWD |
| 15 | BASEDIR=$BUILDDIR/.. |
| 16 | |
| 17 | function create_glslang () { |
| 18 | rm -rf $BASEDIR/glslang |
Courtney Goeltzenleuchter | f000ccf | 2015-01-07 13:35:32 -0700 | [diff] [blame] | 19 | echo "Creating local glslang repository ($BASEDIR/glslang)." |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 20 | mkdir -p $BASEDIR/glslang |
| 21 | cd $BASEDIR/glslang |
GregF | 6ee6712 | 2015-10-02 13:11:01 -0600 | [diff] [blame] | 22 | git clone git@gitlab.khronos.org:GLSL/glslang.git . |
Courtney Goeltzenleuchter | cd9f874 | 2015-10-08 09:06:53 -0600 | [diff] [blame] | 23 | git checkout $GLSLANG_REVISION |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 24 | } |
| 25 | |
| 26 | function update_glslang () { |
| 27 | echo "Updating $BASEDIR/glslang" |
| 28 | cd $BASEDIR/glslang |
Cody Northrop | 5a4883b | 2015-07-08 09:53:03 -0600 | [diff] [blame] | 29 | git fetch --all |
Courtney Goeltzenleuchter | cd9f874 | 2015-10-08 09:06:53 -0600 | [diff] [blame] | 30 | git checkout $GLSLANG_REVISION |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 31 | } |
| 32 | |
| 33 | function create_LunarGLASS () { |
| 34 | rm -rf $BASEDIR/LunarGLASS |
Courtney Goeltzenleuchter | f000ccf | 2015-01-07 13:35:32 -0700 | [diff] [blame] | 35 | echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)." |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 36 | mkdir -p $BASEDIR/LunarGLASS |
| 37 | cd $BASEDIR/LunarGLASS |
| 38 | git clone https://github.com/LunarG/LunarGLASS.git . |
| 39 | mkdir -p Core/LLVM |
| 40 | cd Core/LLVM |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 41 | wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz |
| 42 | tar --gzip -xf llvm-3.4.src.tar.gz |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 43 | git checkout -f . # put back the LunarGLASS versions of some LLVM files |
| 44 | git checkout $LUNARGLASS_REVISION |
Cody Northrop | 2bed4c3 | 2015-10-08 09:39:57 -0600 | [diff] [blame] | 45 | svn checkout -r $LUNARGLASS_REVISION_R32 --force https://cvs.khronos.org/svn/repos/SPIRV/trunk/LunarGLASS/ . |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 46 | svn revert -R . |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 47 | } |
| 48 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 49 | function update_LunarGLASS () { |
| 50 | echo "Updating $BASEDIR/LunarGLASS" |
| 51 | cd $BASEDIR/LunarGLASS |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 52 | git fetch |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 53 | git checkout -f . |
| 54 | git checkout $LUNARGLASS_REVISION |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 55 | # Figure out how to do this with git |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 56 | #git checkout $LUNARGLASS_REVISION |& tee gitout |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 57 | #if grep --quiet LLVM gitout ; then |
| 58 | # rm -rf $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build |
| 59 | #fi |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 60 | #rm -rf gitout |
| 61 | if [ ! -d "$BASEDIR/LunarGLASS/.svn" ]; then |
Cody Northrop | 2bed4c3 | 2015-10-08 09:39:57 -0600 | [diff] [blame] | 62 | svn checkout -r $LUNARGLASS_REVISION_R32 --force https://cvs.khronos.org/svn/repos/SPIRV/trunk/LunarGLASS/ . |
GregF | 251f058 | 2015-09-22 17:07:37 -0600 | [diff] [blame] | 63 | fi |
| 64 | svn update -r $LUNARGLASS_REVISION_R32 |
| 65 | svn revert -R . |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 66 | } |
| 67 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 68 | function build_glslang () { |
Courtney Goeltzenleuchter | f000ccf | 2015-01-07 13:35:32 -0700 | [diff] [blame] | 69 | echo "Building $BASEDIR/glslang" |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 70 | cd $BASEDIR/glslang |
| 71 | mkdir -p build |
| 72 | cd build |
| 73 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 74 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 75 | make |
| 76 | make install |
| 77 | } |
| 78 | |
| 79 | function build_LunarGLASS () { |
Courtney Goeltzenleuchter | f000ccf | 2015-01-07 13:35:32 -0700 | [diff] [blame] | 80 | echo "Building $BASEDIR/LunarGLASS" |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 81 | cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4 |
| 82 | if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then |
| 83 | mkdir -p build |
| 84 | cd build |
| 85 | ../configure --enable-terminfo=no --enable-curses=no |
| 86 | REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install |
| 87 | fi |
| 88 | cd $BASEDIR/LunarGLASS |
| 89 | mkdir -p build |
| 90 | cd build |
| 91 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 92 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 93 | make |
| 94 | make install |
| 95 | } |
| 96 | |
GregF | 6ee6712 | 2015-10-02 13:11:01 -0600 | [diff] [blame] | 97 | if [ ! -d "$BASEDIR/glslang" -o ! -d "$BASEDIR/glslang/.git" -o -d "$BASEDIR/glslang/.svn" ]; then |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 98 | create_glslang |
| 99 | fi |
GregF | 13977eb | 2015-09-21 17:53:57 -0600 | [diff] [blame] | 100 | if [ ! -d "$BASEDIR/LunarGLASS" -o ! -d "$BASEDIR/LunarGLASS/.git" ]; then |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 101 | create_LunarGLASS |
| 102 | fi |
Courtney Goeltzenleuchter | f000ccf | 2015-01-07 13:35:32 -0700 | [diff] [blame] | 103 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 104 | update_glslang |
| 105 | update_LunarGLASS |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 106 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 107 | build_glslang |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame] | 108 | build_LunarGLASS |