Source code
Revision control
Copy as Markdown
Other Tools
#!/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"
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