blob: 6425e21a10095a2438cb38bfff494fa209d3a0f2 [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
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
Courtney Goeltzenleuchter90a6f4b2014-10-29 17:50:15 -060025 svn update -r "$GLSLANG_REVISION"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060026}
27
28function create_LunarGLASS () {
29 rm -rf $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070030 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)."
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060031 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
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060040function update_LunarGLASS () {
41 echo "Updating $BASEDIR/LunarGLASS"
42 cd $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter90a6f4b2014-10-29 17:50:15 -060043 svn update -r "$LUNARGLASS_REVISION"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060044}
45
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060046function build_glslang () {
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070047 echo "Building $BASEDIR/glslang"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060048 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 () {
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070058 echo "Building $BASEDIR/LunarGLASS"
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060059 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
Courtney Goeltzenleuchter4f572612015-01-07 13:35:32 -070081
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060082update_glslang
83update_LunarGLASS
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060084
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060085build_glslang
Courtney Goeltzenleuchter90a6f4b2014-10-29 17:50:15 -060086build_LunarGLASS