From a80d6e4bcb09cc04d9189e7872fe4f98b16b778a Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Fri, 17 Oct 2014 18:21:42 -0600 Subject: [PATCH] tools: utility script to create and update external sources --- update_external_sources.sh | 111 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100755 update_external_sources.sh diff --git a/update_external_sources.sh b/update_external_sources.sh new file mode 100755 index 0000000..90279ac --- /dev/null +++ b/update_external_sources.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# Update source for glslang and LLVM +# Copy necessary BIL pieces into glslang and LLVM + +BUILDDIR=$PWD +BASEDIR=$BUILDDIR/.. + +function create_glslang () { + rm -rf $BASEDIR/glslang + mkdir -p $BASEDIR/glslang + cd $BASEDIR/glslang + svn checkout https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang . +} + +function update_glslang () { + echo "Updating $BASEDIR/glslang" + cd $BASEDIR/glslang + svn update +} + +function create_LunarGLASS () { + rm -rf $BASEDIR/LunarGLASS + mkdir -p $BASEDIR/LunarGLASS/Core/LLVM + cd $BASEDIR/LunarGLASS/Core/LLVM + wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz + tar --gzip -xf llvm-3.4.src.tar.gz + cd $BASEDIR/LunarGLASS + svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ . + svn revert --depth=infinity . +} + +function create_BIL () { + rm -rf $BASEDIR/BIL + mkdir -p $BASEDIR/BIL + cd $BASEDIR/BIL + if [ -z "$KHRONOS_ACCOUNT_NAME" ]; then + echo "Must define KHRONOS_ACCOUNT_NAME to access BIL component" + else + svn checkout --username "$KHRONOS_ACCOUNT_NAME" https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL . + fi +} + +function update_LunarGLASS () { + echo "Updating $BASEDIR/LunarGLASS" + cd $BASEDIR/LunarGLASS + svn update +} + +function update_BIL () { + if [ -d "$BASEDIR/BIL" ]; then + # Update source + cd $BASEDIR/BIL + svn update + # copy of necessary BIL pieces into glslang + cp $BASEDIR/BIL/glslangOverlay_into_BIL/* $BASEDIR/glslang/BIL + cp $BASEDIR/BIL/Bil.h $BASEDIR/glslang/BIL + cp $BASEDIR/BIL/GLSL450Lib.h $BASEDIR/glslang/BIL + # copy of necessary BIL pieces into LLVM + cp $BASEDIR/BIL/ToLLVM/CMakeLists.txt $BASEDIR/LunarGLASS + cp -r $BASEDIR/BIL/ToLLVM/Standalone $BASEDIR/LunarGLASS + cp -r $BASEDIR/BIL/ToLLVM/FrontEnds/* $BASEDIR/LunarGLASS/Frontends/ + +# cd $BASEDIR +# tar cf bil.tar BIL +# scp bil.tar ns1:~dropbox/Courtney + fi +} + +function build_glslang () { + cd $BASEDIR/glslang + mkdir -p build + cd build + cmake -D CMAKE_BUILD_TYPE=Release .. + cmake -D CMAKE_BUILD_TYPE=Release .. + make + make install +} + +function build_LunarGLASS () { + cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4 + if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then + mkdir -p build + cd build + ../configure --enable-terminfo=no --enable-curses=no + REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install + fi + cd $BASEDIR/LunarGLASS + mkdir -p build + cd build + cmake -D CMAKE_BUILD_TYPE=Release .. + cmake -D CMAKE_BUILD_TYPE=Release .. + make + make install +} + +if [ ! -d "$BASEDIR/glslang" ]; then + create_glslang +fi +if [ ! -d "$BASEDIR/LunarGLASS" ]; then + create_LunarGLASS +fi +if [ ! -d "$BASEDIR/BIL" ]; then + create_BIL +fi + +update_glslang +update_LunarGLASS +update_BIL + +build_LunarGLASS +build_glslang -- 2.7.4