blob: ba5153c62ce5cedd0814129737eb82b490bd6f79 [file] [log] [blame]
Cody Northropb3106db2016-03-29 10:06:49 -06001#!/bin/bash
2# Update source for glslang, spirv-tools, shaderc
3
4# Copyright 2016 The Android Open Source Project
5# Copyright (C) 2015 Valve Corporation
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18
19set -e
20
21ANDROIDBUILDDIR=$PWD
22BUILDDIR=$ANDROIDBUILDDIR/..
Cody Northrop217d23c2016-05-03 15:38:05 -060023BASEDIR=$BUILDDIR/external
Cody Northropb3106db2016-03-29 10:06:49 -060024
Cody Northrop4bf55d72016-03-31 16:33:00 -060025GLSLANG_REVISION=$(cat $ANDROIDBUILDDIR/glslang_revision_android)
26SPIRV_TOOLS_REVISION=$(cat $ANDROIDBUILDDIR/spirv-tools_revision_android)
Cody Northrop83ff93f2016-08-01 10:27:25 -060027SPIRV_HEADERS_REVISION=$(cat $ANDROIDBUILDDIR/spirv-headers_revision_android)
Cody Northrop4bf55d72016-03-31 16:33:00 -060028SHADERC_REVISION=$(cat $ANDROIDBUILDDIR/shaderc_revision_android)
Cody Northropb3106db2016-03-29 10:06:49 -060029
30echo "GLSLANG_REVISION=$GLSLANG_REVISION"
31echo "SPIRV_TOOLS_REVISION=$SPIRV_TOOLS_REVISION"
32echo "SHADERC_REVISION=$SHADERC_REVISION"
33
34function create_glslang () {
35 rm -rf $BASEDIR/glslang
36 echo "Creating local glslang repository ($BASEDIR/glslang)."
37 mkdir -p $BASEDIR/glslang
38 cd $BASEDIR/glslang
39 git clone https://github.com/KhronosGroup/glslang.git .
40 git checkout $GLSLANG_REVISION
41}
42
43function update_glslang () {
44 echo "Updating $BASEDIR/glslang"
45 cd $BASEDIR/glslang
46 git fetch --all
47 git checkout $GLSLANG_REVISION
48}
49
50function create_spirv-tools () {
51 rm -rf $BASEDIR/spirv-tools
52 echo "Creating local spirv-tools repository ($BASEDIR/spirv-tools)."
53 mkdir -p $BASEDIR/spirv-tools
54 cd $BASEDIR/spirv-tools
55 git clone https://github.com/KhronosGroup/SPIRV-Tools.git .
56 git checkout $SPIRV_TOOLS_REVISION
57}
58
59function update_spirv-tools () {
60 echo "Updating $BASEDIR/spirv-tools"
61 cd $BASEDIR/spirv-tools
62 git fetch --all
63 git checkout $SPIRV_TOOLS_REVISION
64}
65
Cody Northrop83ff93f2016-08-01 10:27:25 -060066function create_spirv-headers () {
67 rm -rf $BASEDIR/spirv-tools/external/spirv-headers
68 echo "Creating local spirv-headers repository ($BASEDIR/spirv-tools/external/spirv-headers)."
69 mkdir -p $BASEDIR/spirv-tools/external/spirv-headers
70 cd $BASEDIR/spirv-tools/external/spirv-headers
71 git clone https://github.com/KhronosGroup/SPIRV-Headers.git .
72 git checkout $SPIRV_HEADERS_REVISION
73}
74
75function update_spirv-headers () {
76 echo "Updating $BASEDIR/spirv-tools/external/spirv-headers"
77 cd $BASEDIR/spirv-tools/external/spirv-headers
78 git fetch --all
79 git checkout $SPIRV_HEADERS_REVISION
80}
81
Cody Northropb3106db2016-03-29 10:06:49 -060082function create_shaderc () {
83 rm -rf $BASEDIR/shaderc
84 echo "Creating local shaderc repository ($BASEDIR/shaderc)."
85 cd $BASEDIR
Cody Northrop2aa3b882016-05-25 08:23:45 -060086 git clone https://github.com/google/shaderc.git
Cody Northropb3106db2016-03-29 10:06:49 -060087 cd shaderc
88 git checkout $SHADERC_REVISION
89}
90
91function update_shaderc () {
92 echo "Updating $BASEDIR/shaderc"
93 cd $BASEDIR/shaderc
94 git fetch --all
95 git checkout $SHADERC_REVISION
96}
97
98function build_shaderc () {
99 echo "Building $BASEDIR/shaderc"
100 cd $BASEDIR/shaderc/android_test
101 ndk-build THIRD_PARTY_PATH=../.. -j 4
102}
103
104if [ ! -d "$BASEDIR/glslang" -o ! -d "$BASEDIR/glslang/.git" -o -d "$BASEDIR/glslang/.svn" ]; then
105 create_glslang
106fi
107 update_glslang
108
109
110if [ ! -d "$BASEDIR/spirv-tools" -o ! -d "$BASEDIR/spirv-tools/.git" ]; then
111 create_spirv-tools
112fi
113update_spirv-tools
114
Cody Northrop83ff93f2016-08-01 10:27:25 -0600115if [ ! -d "$BASEDIR/spirv-tools/external/spirv-headers" -o ! -d "$BASEDIR/spirv-tools/external/spirv-headers/.git" ]; then
116 create_spirv-headers
117fi
118update_spirv-headers
119
Cody Northropb3106db2016-03-29 10:06:49 -0600120if [ ! -d "$BASEDIR/shaderc" -o ! -d "$BASEDIR/shaderc/.git" ]; then
121 create_shaderc
122fi
123update_shaderc
124build_shaderc
125
126echo ""
127echo "${0##*/} finished."
128