blob: 388c488e82f5679853a2f61014151ec7bb4bd4b6 [file] [log] [blame]
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06001#!/bin/bash
2# Update source for glslang and LLVM
3# Copy necessary BIL pieces into glslang and LLVM
4
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -06005BIL_REVISION=28725
6LUNARGLASS_REVISION=1052
7GLSLANG_REVISION=28653
8
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -06009BUILDDIR=$PWD
10BASEDIR=$BUILDDIR/..
11
12function 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
19function update_glslang () {
20 echo "Updating $BASEDIR/glslang"
21 cd $BASEDIR/glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060022 svn update -r "$GLSLANG_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060023}
24
25function 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
36function 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 Goeltzenleuchterb03ec982014-10-24 14:37:18 -060042 exit 1
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060043 else
44 svn checkout --username "$KHRONOS_ACCOUNT_NAME" https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL .
45 fi
46}
47
48function update_LunarGLASS () {
49 echo "Updating $BASEDIR/LunarGLASS"
50 cd $BASEDIR/LunarGLASS
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060051 svn update -r "$LUNARGLASS_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060052}
53
54function update_BIL () {
55 if [ -d "$BASEDIR/BIL" ]; then
56 # Update source
57 cd $BASEDIR/BIL
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -060058 svn update -r "$BIL_REVISION"
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -060059 # 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
74function 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
84function 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
101if [ ! -d "$BASEDIR/glslang" ]; then
102 create_glslang
103fi
104if [ ! -d "$BASEDIR/LunarGLASS" ]; then
105 create_LunarGLASS
106fi
107if [ ! -d "$BASEDIR/BIL" ]; then
108 create_BIL
109fi
110
111update_glslang
112update_LunarGLASS
113update_BIL
114
Courtney Goeltzenleuchter7f0a7be2014-10-17 18:21:42 -0600115build_glslang
Courtney Goeltzenleuchter5120b842014-10-29 17:50:15 -0600116build_LunarGLASS