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