1#!/bin/bash
2
3GLSLANG_REV=517f39eee46f27c83527117d831c4d7e2f7c9fe3
4SPIRV_TOOLS_REV=c341f7a6cd441d05ca1347ee39f2f03f32225c59
5SPIRV_HEADERS_REV=3fdabd0da2932c276b25b9b4a988ba134eba1aa6
6
7if [ -z $PROTOCOL ]; then
8	PROTOCOL=git
9fi
10
11echo "Using protocol \"$PROTOCOL\" for checking out repositories. If this is problematic, try PROTOCOL=https $0."
12
13if [ -d external/glslang ]; then
14	echo "Updating glslang to revision $GLSLANG_REV."
15	cd external/glslang
16	git fetch origin
17	git checkout $GLSLANG_REV
18else
19	echo "Cloning glslang revision $GLSLANG_REV."
20	mkdir -p external
21	cd external
22	git clone $PROTOCOL://github.com/KhronosGroup/glslang.git
23	cd glslang
24	git checkout $GLSLANG_REV
25fi
26cd ../..
27
28if [ -d external/spirv-tools ]; then
29	echo "Updating SPIRV-Tools to revision $SPIRV_TOOLS_REV."
30	cd external/spirv-tools
31	git fetch origin
32	git checkout $SPIRV_TOOLS_REV
33else
34	echo "Cloning SPIRV-Tools revision $SPIRV_TOOLS_REV."
35	mkdir -p external
36	cd external
37	git clone $PROTOCOL://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools
38	cd spirv-tools
39	git checkout $SPIRV_TOOLS_REV
40fi
41
42if [ -d external/spirv-headers ]; then
43	cd external/spirv-headers
44	git pull origin master
45	git checkout $SPIRV_HEADERS_REV
46	cd ../..
47else
48	git clone $PROTOCOL://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
49	cd external/spirv-headers
50	git checkout $SPIRV_HEADERS_REV
51	cd ../..
52fi
53
54cd ../..
55
56