| #!/bin/bash |
| |
| set -e |
| |
| # If any tracked revision no longer matches the local revision, blast the extenal toolchain directories |
| |
| function check_revision() |
| { |
| echo Checking current revision for $1 in $2 |
| if [ -d $2/.git ]; then |
| current_rev=$(git --git-dir=$2/.git rev-parse HEAD); |
| fi |
| echo current_rev for $1 is $current_rev; |
| tracked_rev=$(cat $3); |
| echo tracked_rev for $1 is $tracked_rev; |
| if [ "$current_rev" != "$tracked_rev" ]; then |
| echo Revisions for $1 do not match.; |
| if [ -d external ]; then |
| echo Removing current desktop toolchain; |
| rm -rf external/*; |
| fi |
| if [ -d build-android/external ]; then |
| echo Removing current android toolchain; |
| rm -rf build-android/external/*; |
| fi |
| echo Done removing toolchains. |
| exit 0; |
| fi |
| } |
| |
| # Parameters are tool, current git repo location, tracked revision location |
| tool=glslang |
| dir=external/glslang |
| rev=external_revisions/glslang_revision |
| check_revision $tool $dir $rev |
| |
| tool=glslang_android |
| dir=build-android/external/glslang |
| rev=build-android/glslang_revision_android |
| check_revision $tool $dir $rev |
| |
| tool=spirv-tools_android |
| dir=build-android/external/spirv-tools |
| rev=build-android/spirv-tools_revision_android |
| check_revision $tool $dir $rev |
| |
| tool=spirv-headers_android |
| dir=build-android/external/spirv-tools/external/spirv-headers |
| rev=build-android/spirv-headers_revision_android |
| check_revision $tool $dir $rev |
| |
| tool=shaderc_android |
| dir=build-android/external/shaderc |
| rev=build-android/shaderc_revision_android |
| check_revision $tool $dir $rev |
| |
| exit 0 |