#!/bin/bash GLSLANG_REV=5d0e01d9e7f9fae7609843d00f9fc5f41c3ddfdd SPIRV_TOOLS_REV=e0d5544c9864e1b6852c4ab949892898b2866c3e SPIRV_HEADERS_REV=601d738723ac381741311c6c98c36d6170be14a2 if [ -z $PROTOCOL ]; then PROTOCOL=git fi echo "Using protocol \"$PROTOCOL\" for checking out repositories. If this is problematic, try PROTOCOL=https $0." if [ -d external/glslang ]; then echo "Updating glslang to revision $GLSLANG_REV." cd external/glslang git fetch origin git checkout $GLSLANG_REV else echo "Cloning glslang revision $GLSLANG_REV." mkdir -p external cd external git clone $PROTOCOL://github.com/KhronosGroup/glslang.git cd glslang git checkout $GLSLANG_REV fi cd ../.. if [ -d external/spirv-tools ]; then echo "Updating SPIRV-Tools to revision $SPIRV_TOOLS_REV." cd external/spirv-tools git fetch origin git checkout $SPIRV_TOOLS_REV else echo "Cloning SPIRV-Tools revision $SPIRV_TOOLS_REV." mkdir -p external cd external git clone $PROTOCOL://github.com/KhronosGroup/SPIRV-Tools.git spirv-tools cd spirv-tools git checkout $SPIRV_TOOLS_REV fi if [ -d external/spirv-headers ]; then cd external/spirv-headers git pull origin master git checkout $SPIRV_HEADERS_REV cd ../.. else git clone $PROTOCOL://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers cd external/spirv-headers git checkout $SPIRV_HEADERS_REV cd ../.. fi cd ../..