Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Update source for glslang and LLVM |
| 3 | # Copy necessary BIL pieces into glslang and LLVM |
| 4 | |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame^] | 5 | BIL_REVISION=28725 |
| 6 | LUNARGLASS_REVISION=1052 |
| 7 | GLSLANG_REVISION=28653 |
| 8 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 9 | BUILDDIR=$PWD |
| 10 | BASEDIR=$BUILDDIR/.. |
| 11 | |
| 12 | function create_glslang () { |
| 13 | rm -rf $BASEDIR/glslang |
| 14 | mkdir -p $BASEDIR/glslang |
| 15 | cd $BASEDIR/glslang |
| 16 | svn checkout https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang . |
| 17 | } |
| 18 | |
| 19 | function update_glslang () { |
| 20 | echo "Updating $BASEDIR/glslang" |
| 21 | cd $BASEDIR/glslang |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame^] | 22 | svn update -r "$GLSLANG_REVISION" |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 23 | } |
| 24 | |
| 25 | function create_LunarGLASS () { |
| 26 | rm -rf $BASEDIR/LunarGLASS |
| 27 | mkdir -p $BASEDIR/LunarGLASS/Core/LLVM |
| 28 | cd $BASEDIR/LunarGLASS/Core/LLVM |
| 29 | wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz |
| 30 | tar --gzip -xf llvm-3.4.src.tar.gz |
| 31 | cd $BASEDIR/LunarGLASS |
| 32 | svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ . |
| 33 | svn revert --depth=infinity . |
| 34 | } |
| 35 | |
| 36 | function create_BIL () { |
| 37 | rm -rf $BASEDIR/BIL |
| 38 | mkdir -p $BASEDIR/BIL |
| 39 | cd $BASEDIR/BIL |
| 40 | if [ -z "$KHRONOS_ACCOUNT_NAME" ]; then |
| 41 | echo "Must define KHRONOS_ACCOUNT_NAME to access BIL component" |
Courtney Goeltzenleuchter | b03ec98 | 2014-10-24 14:37:18 -0600 | [diff] [blame] | 42 | exit 1 |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 43 | else |
| 44 | svn checkout --username "$KHRONOS_ACCOUNT_NAME" https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL . |
| 45 | fi |
| 46 | } |
| 47 | |
| 48 | function update_LunarGLASS () { |
| 49 | echo "Updating $BASEDIR/LunarGLASS" |
| 50 | cd $BASEDIR/LunarGLASS |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame^] | 51 | svn update -r "$LUNARGLASS_REVISION" |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 52 | } |
| 53 | |
| 54 | function update_BIL () { |
| 55 | if [ -d "$BASEDIR/BIL" ]; then |
| 56 | # Update source |
| 57 | cd $BASEDIR/BIL |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame^] | 58 | svn update -r "$BIL_REVISION" |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 59 | # copy of necessary BIL pieces into glslang |
| 60 | cp $BASEDIR/BIL/glslangOverlay_into_BIL/* $BASEDIR/glslang/BIL |
| 61 | cp $BASEDIR/BIL/Bil.h $BASEDIR/glslang/BIL |
| 62 | cp $BASEDIR/BIL/GLSL450Lib.h $BASEDIR/glslang/BIL |
| 63 | # copy of necessary BIL pieces into LLVM |
| 64 | cp $BASEDIR/BIL/ToLLVM/CMakeLists.txt $BASEDIR/LunarGLASS |
| 65 | cp -r $BASEDIR/BIL/ToLLVM/Standalone $BASEDIR/LunarGLASS |
| 66 | cp -r $BASEDIR/BIL/ToLLVM/FrontEnds/* $BASEDIR/LunarGLASS/Frontends/ |
| 67 | |
| 68 | # cd $BASEDIR |
| 69 | # tar cf bil.tar BIL |
| 70 | # scp bil.tar ns1:~dropbox/Courtney |
| 71 | fi |
| 72 | } |
| 73 | |
| 74 | function build_glslang () { |
| 75 | cd $BASEDIR/glslang |
| 76 | mkdir -p build |
| 77 | cd build |
| 78 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 79 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 80 | make |
| 81 | make install |
| 82 | } |
| 83 | |
| 84 | function build_LunarGLASS () { |
| 85 | cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4 |
| 86 | if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then |
| 87 | mkdir -p build |
| 88 | cd build |
| 89 | ../configure --enable-terminfo=no --enable-curses=no |
| 90 | REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install |
| 91 | fi |
| 92 | cd $BASEDIR/LunarGLASS |
| 93 | mkdir -p build |
| 94 | cd build |
| 95 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 96 | cmake -D CMAKE_BUILD_TYPE=Release .. |
| 97 | make |
| 98 | make install |
| 99 | } |
| 100 | |
| 101 | if [ ! -d "$BASEDIR/glslang" ]; then |
| 102 | create_glslang |
| 103 | fi |
| 104 | if [ ! -d "$BASEDIR/LunarGLASS" ]; then |
| 105 | create_LunarGLASS |
| 106 | fi |
| 107 | if [ ! -d "$BASEDIR/BIL" ]; then |
| 108 | create_BIL |
| 109 | fi |
| 110 | |
| 111 | update_glslang |
| 112 | update_LunarGLASS |
| 113 | update_BIL |
| 114 | |
Courtney Goeltzenleuchter | 7f0a7be | 2014-10-17 18:21:42 -0600 | [diff] [blame] | 115 | build_glslang |
Courtney Goeltzenleuchter | 5120b84 | 2014-10-29 17:50:15 -0600 | [diff] [blame^] | 116 | build_LunarGLASS |