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