blob: 90279acdedfa538e74cbf58f0af512e699303800 [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
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"
38 else
39 svn checkout --username "$KHRONOS_ACCOUNT_NAME" https://cvs.khronos.org/svn/repos/oglc/trunk/nextgen/proposals/BIL .
40 fi
41}
42
43function update_LunarGLASS () {
44 echo "Updating $BASEDIR/LunarGLASS"
45 cd $BASEDIR/LunarGLASS
46 svn update
47}
48
49function update_BIL () {
50 if [ -d "$BASEDIR/BIL" ]; then
51 # Update source
52 cd $BASEDIR/BIL
53 svn update
54 # copy of necessary BIL pieces into glslang
55 cp $BASEDIR/BIL/glslangOverlay_into_BIL/* $BASEDIR/glslang/BIL
56 cp $BASEDIR/BIL/Bil.h $BASEDIR/glslang/BIL
57 cp $BASEDIR/BIL/GLSL450Lib.h $BASEDIR/glslang/BIL
58 # copy of necessary BIL pieces into LLVM
59 cp $BASEDIR/BIL/ToLLVM/CMakeLists.txt $BASEDIR/LunarGLASS
60 cp -r $BASEDIR/BIL/ToLLVM/Standalone $BASEDIR/LunarGLASS
61 cp -r $BASEDIR/BIL/ToLLVM/FrontEnds/* $BASEDIR/LunarGLASS/Frontends/
62
63# cd $BASEDIR
64# tar cf bil.tar BIL
65# scp bil.tar ns1:~dropbox/Courtney
66 fi
67}
68
69function build_glslang () {
70 cd $BASEDIR/glslang
71 mkdir -p build
72 cd build
73 cmake -D CMAKE_BUILD_TYPE=Release ..
74 cmake -D CMAKE_BUILD_TYPE=Release ..
75 make
76 make install
77}
78
79function build_LunarGLASS () {
80 cd $BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4
81 if [ ! -d "$BASEDIR/LunarGLASS/Core/LLVM/llvm-3.4/build" ]; then
82 mkdir -p build
83 cd build
84 ../configure --enable-terminfo=no --enable-curses=no
85 REQUIRES_RTTI=1 make -j $(nproc) && make install DESTDIR=`pwd`/install
86 fi
87 cd $BASEDIR/LunarGLASS
88 mkdir -p build
89 cd build
90 cmake -D CMAKE_BUILD_TYPE=Release ..
91 cmake -D CMAKE_BUILD_TYPE=Release ..
92 make
93 make install
94}
95
96if [ ! -d "$BASEDIR/glslang" ]; then
97 create_glslang
98fi
99if [ ! -d "$BASEDIR/LunarGLASS" ]; then
100 create_LunarGLASS
101fi
102if [ ! -d "$BASEDIR/BIL" ]; then
103 create_BIL
104fi
105
106update_glslang
107update_LunarGLASS
108update_BIL
109
110build_LunarGLASS
111build_glslang