| #!/bin/zsh | |
| # Copyright 2022 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| # Installs dependencies on MacOS necessary to build IREE. | |
| # Additional dependencies (i.e MoltenVK) may be needed to use all functionality. | |
| # | |
| # Usage: | |
| # sudo install_macos_deps.sh | |
| set -e -o pipefail | |
| if [[ "$(whoami)" != "root" ]]; then | |
| echo "ERROR: Must setup deps as root" | |
| exit 1 | |
| fi | |
| # These can be discovered at https://www.python.org/downloads/macos/ | |
| PYTHON_SPECS=( | |
| 3.13@https://www.python.org/ftp/python/3.13.0/python-3.13.0-macos11.pkg | |
| 3.12@https://www.python.org/ftp/python/3.12.6/python-3.12.6-macos11.pkg | |
| 3.11@https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg | |
| # 3.10@https://www.python.org/ftp/python/3.10.5/python-3.10.5-macos11.pkg | |
| # 3.9@https://www.python.org/ftp/python/3.9.13/python-3.9.13-macos11.pkg | |
| ) | |
| for python_spec in "${PYTHON_SPECS[@]}"; do | |
| python_version="${python_spec%%@*}" | |
| url="${python_spec##*@}" | |
| echo "-- Installing Python $python_version from $url" | |
| python_path="/Library/Frameworks/Python.framework/Versions/$python_version" | |
| python_exe="$python_path/bin/python3" | |
| # Install Python. | |
| if ! [ -x "$python_exe" ]; then | |
| package_basename="$(basename $url)" | |
| download_path="/tmp/iree_python_install/$package_basename" | |
| mkdir -p "$(dirname $download_path)" | |
| echo "Downloading $url -> $download_path" | |
| curl $url -o "$download_path" | |
| echo "Installing $download_path" | |
| installer -pkg "$download_path" -target / | |
| else | |
| echo ":: Python version already installed. Not reinstalling." | |
| fi | |
| echo ":: Python version $python_version installed:" | |
| $python_exe --version | |
| $python_exe -m pip --version | |
| echo ":: Installing system pip packages" | |
| $python_exe -m pip install --upgrade pip | |
| $python_exe -m pip install --upgrade delocate | |
| done | |
| echo "*** All done ***" |