| #!/bin/bash | |
| # Copyright 2021 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 | |
| # Given a list of wheel files, launch a suitable docker container | |
| # and audit/repair them. | |
| # Usage: ./audit_wheels.sh <files> | |
| # Typically: | |
| # ./build_tools/python_deploy/audit_wheels.sh \ | |
| # ./llvm-projects/iree-compiler-api/wheels/iree_compiler_api-*.whl | |
| # | |
| # Note that this will mount the current directory under docker, so all | |
| # files must be relative. | |
| set -eu -o errtrace | |
| this_dir="$(cd $(dirname $0) && pwd)" | |
| script_name="$(basename $0)" | |
| dockcross_image="manylinux2014-x64" | |
| function run_on_host() { | |
| echo "Running on host" | |
| "$this_dir/setup_dockcross.sh" $dockcross_image | |
| echo "Running in docker..." | |
| "$this_dir/$dockcross_image" \ | |
| --args "-v $this_dir:/python_deploy -e __MANYLINUX_BUILD_WHEELS_IN_DOCKER=1" \ | |
| -- bash /python_deploy/$script_name "$@" | |
| } | |
| function run_in_docker() { | |
| for relative_path in "$@"; do | |
| abs_path="/work/$relative_path" | |
| echo "Repairing $relative_path ($abs_path)" | |
| auditwheel repair -w "$(dirname $abs_path)"/audited "$abs_path" | |
| done | |
| } | |
| # Trampoline to the docker container if running on the host. | |
| if [ -z "${__MANYLINUX_BUILD_WHEELS_IN_DOCKER-}" ]; then | |
| run_on_host "$@" | |
| else | |
| run_in_docker "$@" | |
| fi |