blob: 09ef6e5f34d435acdb22d8a32cde2f7be4a87fbd [file]
#!/bin/bash
# Copyright 2026 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# This is based on the instructions at https://github.com/intelxed/xed
set -e
XEDTAG=v2025.03.02
MBUILDTAG=v2024.11.04
DATA=./extern
trace() {
set -x
"$@"
{ local rc=$?; set +x; } 2>/dev/null
return $rc
}
echo "This will download xed to $DATA/xed and $DATA/mbuild and compile it."
echo "It requires Python, a C toolchain, and probably other things."
read -p "Continue (y/n)? " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
if [[ -d "$DATA/xed" ]]; then
echo 2>&1 "$DATA/xed already downloaded"
else
trace git clone -b $XEDTAG https://github.com/intelxed/xed.git $DATA/xed
fi
if [[ -d "$DATA/mbuild" ]]; then
echo 2>&1 "$DATA/mbuild already downloaded"
else
trace git clone -b $MBUILDTAG https://github.com/intelxed/mbuild.git $DATA/mbuild
fi
if [[ -f $DATA/xed/obj/dgen/all-dec-instructions.txt ]]; then
echo 2>&1 "XED data already compiled"
else
trace cd $DATA/xed
trace ./mfile.py
fi