|  | #!/bin/bash | 
|  |  | 
|  | # Update third_party/highway to the latest version. | 
|  |  | 
|  | # Usage: (under libaom root directory) | 
|  | # ./tools/update_highway.sh | 
|  |  | 
|  | set -e | 
|  |  | 
|  | highway_dir="$(pwd)/third_party/highway" | 
|  | repo_url="https://github.com/google/highway" | 
|  |  | 
|  | git clone --depth 1 "$repo_url" "$highway_dir" | 
|  |  | 
|  | cd "${highway_dir}" | 
|  |  | 
|  | commit_hash=$(git rev-parse HEAD) | 
|  |  | 
|  | # Remove everything except ./hwy | 
|  | find . -mindepth 1 \ | 
|  | -not -path "./hwy" \ | 
|  | -not -path "./hwy/*" \ | 
|  | -not -name "LICENSE-BSD3" \ | 
|  | -delete | 
|  |  | 
|  | # Remove tests/ directory | 
|  | rm -rf hwy/tests/ | 
|  |  | 
|  | # Remove markdown files | 
|  | find . -name "*.md" -delete | 
|  |  | 
|  | # Remove cc files since we build highway header-only | 
|  | find . -name "*.cc" -delete | 
|  |  | 
|  | # Update the include path | 
|  | find ./hwy \( -name "*.c" -o -name "*.cc" -o -name "*.h" \) -print0 | \ | 
|  | xargs -0 sed -i 's/#include "hwy\//#include "third_party\/highway\/hwy\//g' | 
|  |  | 
|  | find ./hwy \( -name "*.c" -o -name "*.cc" -o -name "*.h" \) -print0 | \ | 
|  | xargs -0 sed -i \ | 
|  | 's/HWY_TARGET_INCLUDE "hwy\//HWY_TARGET_INCLUDE "third_party\/highway\/hwy\//g' | 
|  |  | 
|  | cat > "${highway_dir}/README.libaom" <<EOF | 
|  | URL: $repo_url | 
|  |  | 
|  | Version: $commit_hash | 
|  | License: BSD-3-clause clear | 
|  | License File: LICENSE-BSD3 | 
|  |  | 
|  | Description: | 
|  | Highway is a C++ library that provides portable SIMD/vector intrinsics. | 
|  |  | 
|  | Local Changes: | 
|  | Remove everything except hwy/ and LICENSE-BSD3 | 
|  | EOF |