| #!/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 |