blob: 7beb68a6c810ac2f99bd2e2f1db3da56c3d27089 [file] [log] [blame]
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06001#!/bin/bash
2# Update source for glslang and LLVM
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06003
Cody Northrop2b66e132015-06-03 11:52:35 -06004LUNARGLASS_REVISION=1091
5GLSLANG_REVISION=31490
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -06006
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06007BUILDDIR=$PWD
8BASEDIR=$BUILDDIR/..
9
10function create_glslang () {
11 rm -rf $BASEDIR/glslang
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070012 echo "Creating local glslang repository ($BASEDIR/glslang)."
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060013 mkdir -p $BASEDIR/glslang
14 cd $BASEDIR/glslang
15 svn checkout https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang .
16}
17
18function update_glslang () {
19 echo "Updating $BASEDIR/glslang"
20 cd $BASEDIR/glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060021 svn update -r "$GLSLANG_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060022}
23
24function create_LunarGLASS () {
25 rm -rf $BASEDIR/LunarGLASS
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070026 echo "Creating local LunarGLASS repository ($BASEDIR/LunarGLASS)."
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060027 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
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060036function update_LunarGLASS () {
37 echo "Updating $BASEDIR/LunarGLASS"
38 cd $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060039 svn update -r "$LUNARGLASS_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060040}
41
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060042function build_glslang () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070043 echo "Building $BASEDIR/glslang"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060044 cd $BASEDIR/glslang
45 mkdir -p build
46 cd build
47 cmake -D CMAKE_BUILD_TYPE=Release ..
48 cmake -D CMAKE_BUILD_TYPE=Release ..
49 make
50 make install
51}
52
53function build_LunarGLASS () {
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070054 echo "Building $BASEDIR/LunarGLASS"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060055 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
56 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
57 mkdir -p build
58 cd build
59 ../configure --enable-terminfo=no --enable-curses=no
60 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
61 fi
62 cd $BASEDIR/LunarGLASS
63 mkdir -p build
64 cd build
65 cmake -D CMAKE_BUILD_TYPE=Release ..
66 cmake -D CMAKE_BUILD_TYPE=Release ..
67 make
68 make install
69}
70
71if [ ! -d "$BASEDIR/glslang" ]; then
72 create_glslang
73fi
74if [ ! -d "$BASEDIR/LunarGLASS" ]; then
75 create_LunarGLASS
76fi
Courtney Goeltzenleuchterf000ccf2015-01-07 13:35:32 -070077
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060078update_glslang
79update_LunarGLASS
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060080
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060081build_glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060082build_LunarGLASS