blob: 9beb7b9b2f352f53296dcd16c7e915098ea5f409 [file] [log] [blame]
Courtney Goeltzenleuchter87094962014-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
5BUILDDIR=$PWD
6BASEDIR=$BUILDDIR/..
7
8function create_glslang () {
9 rm -rf $BASEDIR/glslang
10 mkdir -p $BASEDIR/glslang
11 cd $BASEDIR/glslang
12 svn checkout https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang .
13}
14
15function update_glslang () {
16 echo "Updating $BASEDIR/glslang"
17 cd $BASEDIR/glslang
18 svn update
19}
20
21function create_LunarGLASS () {
22 rm -rf $BASEDIR/LunarGLASS
23 mkdir -p $BASEDIR/LunarGLASS/Core/LLVM
24 cd $BASEDIR/LunarGLASS/Core/LLVM
25 wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz
26 tar --gzip -xf llvm-3.4.src.tar.gz
27 cd $BASEDIR/LunarGLASS
28 svn checkout --force https://lunarglass.googlecode.com/svn/trunk/ .
29 svn revert --depth=infinity .
30}
31
32function create_BIL () {
33 rm -rf $BASEDIR/BIL
34 mkdir -p $BASEDIR/BIL
35 cd $BASEDIR/BIL
36 if [ -z "$KHRONOS_ACCOUNT_NAME" ]; then
37 echo "Must define KHRONOS_ACCOUNT_NAME to access BIL component"
Courtney Goeltzenleuchter7d6fabe2014-10-24 14:37:18 -060038 exit 1
Courtney Goeltzenleuchter87094962014-10-17 18:21:42 -060039 else
40 svn checkout --username "$KHRONOS_ACCOUNT_NAME" https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL .
41 fi
42}
43
44function update_LunarGLASS () {
45 echo "Updating $BASEDIR/LunarGLASS"
46 cd $BASEDIR/LunarGLASS
47 svn update
48}
49
50function update_BIL () {
51 if [ -d "$BASEDIR/BIL" ]; then
52 # Update source
53 cd $BASEDIR/BIL
54 svn update
55 # copy of necessary BIL pieces into glslang
56 cp $BASEDIR/BIL/glslangOverlay_into_BIL/* $BASEDIR/glslang/BIL
57 cp $BASEDIR/BIL/Bil.h $BASEDIR/glslang/BIL
58 cp $BASEDIR/BIL/GLSL450Lib.h $BASEDIR/glslang/BIL
59 # copy of necessary BIL pieces into LLVM
60 cp $BASEDIR/BIL/ToLLVM/CMakeLists.txt $BASEDIR/LunarGLASS
61 cp -r $BASEDIR/BIL/ToLLVM/Standalone $BASEDIR/LunarGLASS
62 cp -r $BASEDIR/BIL/ToLLVM/FrontEnds/* $BASEDIR/LunarGLASS/Frontends/
63
64# cd $BASEDIR
65# tar cf bil.tar BIL
66# scp bil.tar ns1:~dropbox/Courtney
67 fi
68}
69
70function build_glslang () {
71 cd $BASEDIR/glslang
72 mkdir -p build
73 cd build
74 cmake -D CMAKE_BUILD_TYPE=Release ..
75 cmake -D CMAKE_BUILD_TYPE=Release ..
76 make
77 make install
78}
79
80function build_LunarGLASS () {
81 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
82 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
83 mkdir -p build
84 cd build
85 ../configure --enable-terminfo=no --enable-curses=no
86 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
87 fi
88 cd $BASEDIR/LunarGLASS
89 mkdir -p build
90 cd build
91 cmake -D CMAKE_BUILD_TYPE=Release ..
92 cmake -D CMAKE_BUILD_TYPE=Release ..
93 make
94 make install
95}
96
97if [ ! -d "$BASEDIR/glslang" ]; then
98 create_glslang
99fi
100if [ ! -d "$BASEDIR/LunarGLASS" ]; then
101 create_LunarGLASS
102fi
103if [ ! -d "$BASEDIR/BIL" ]; then
104 create_BIL
105fi
106
107update_glslang
108update_LunarGLASS
109update_BIL
110
111build_LunarGLASS
112build_glslang