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