update_external_sources.sh revision a8ac135a2d6fa09229443f0c27549efe4d649c19
1#!/bin/bash 2# Update source for glslang and LLVM 3 4set -e 5 6LUNARGLASS_REVISION=$(cat $PWD/LunarGLASS_revision) 7GLSLANG_REVISION=$(cat $PWD/glslang_revision) 8echo "LUNARGLASS_REVISION=$LUNARGLASS_REVISION" 9echo "GLSLANG_REVISION=$GLSLANG_REVISION" 10 11BUILDDIR=$PWD 12BASEDIR=$BUILDDIR/.. 13 14function create_glslang () { 15 rm -rf $BASEDIR/glslang 16 echo "Creating local glslang repository ($BASEDIR/glslang)." 17 mkdir -p $BASEDIR/glslang 18 cd $BASEDIR/glslang 19 svn checkout https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang . 20} 21 22function update_glslang () { 23 echo "Updating $BASEDIR/glslang" 24 cd $BASEDIR/glslang 25 svn update -r "$GLSLANG_REVISION" 26} 27 28function create_LunarGLASS () { 29 rm -rf $BASEDIR/LunarGLASS 30 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)." 31 mkdir -p $BASEDIR/LunarGLASS/Core/LLVM 32 cd $BASEDIR/LunarGLASS/Core/LLVM 33 wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz 34 tar --gzip -xf llvm-3.4.src.tar.gz 35 cd $BASEDIR/LunarGLASS 36 svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ . 37 svn revert --depth=infinity . 38} 39 40function update_LunarGLASS () { 41 echo "Updating $BASEDIR/LunarGLASS" 42 cd $BASEDIR/LunarGLASS 43 svn update -r "$LUNARGLASS_REVISION" 44} 45 46function build_glslang () { 47 echo "Building $BASEDIR/glslang" 48 cd $BASEDIR/glslang 49 mkdir -p build 50 cd build 51 cmake -D CMAKE_BUILD_TYPE=Release .. 52 cmake -D CMAKE_BUILD_TYPE=Release .. 53 make 54 make install 55} 56 57function build_LunarGLASS () { 58 echo "Building $BASEDIR/LunarGLASS" 59 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4 60 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then 61 mkdir -p build 62 cd build 63 ../configure --enable-terminfo=no --enable-curses=no 64 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install 65 fi 66 cd $BASEDIR/LunarGLASS 67 mkdir -p build 68 cd build 69 cmake -D CMAKE_BUILD_TYPE=Release .. 70 cmake -D CMAKE_BUILD_TYPE=Release .. 71 make 72 make install 73} 74 75if [ ! -d "$BASEDIR/glslang" ]; then 76 create_glslang 77fi 78if [ ! -d "$BASEDIR/LunarGLASS" ]; then 79 create_LunarGLASS 80fi 81 82update_glslang 83update_LunarGLASS 84 85build_glslang 86build_LunarGLASS 87