[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/machineL1994/tensorflow/master/util/python/python_config.sh [Back]  [Original]

#!/usr/bin/env bash
# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================

set -e -o errexit

if [ -d "../org_tensorflow" ]; then
  script_path="../org_tensorflow"
else
  # Prefix expected paths with ./ locally and external/reponame/ for remote repos.
  # TODO(kchodorow): remove once runfiles paths are fixed, see
  # https://github.com/bazelbuild/bazel/issues/848.
  script_path=$(dirname $(dirname $(dirname "$0")))
  script_path=${script_path:-.}
fi

EXPECTED_PATHS="$script_path/util/python/python_include"\
" $script_path/util/python/python_lib"\
" $script_path/third_party/py/numpy/numpy_include"

function main {
  argument="$1"
  shift
  case $argument in
    --check)
      check_python
      exit 0
      ;;
    --setup)
      setup_python "$1"
      exit 0
      ;;
  esac
}

function python_path {
  "$PYTHON_BIN_PATH" -  tools/python_bin_path.sh
}

PLATFORM="$(uname -s | tr 'A-Z' 'a-z')"
function is_windows() {
  # On windows, the shell script is actually running in msys
  if [[ "${PLATFORM}" =~ msys_nt* ]]; then
    true
  else
    false
  fi
}

function check_python {
  for x in $EXPECTED_PATHS; do
    if [ ! -e "$x" ]; then
      echo -e "\n\nERROR: Cannot find '${x}'.  Did you run configure?\n\n" 1>&2
      exit 1
    fi
    # Don't check symbolic link on Windows
    if ! is_windows && [ ! -L "${x}" ]; then
      echo -e "\n\nERROR: '${x}' is not a symbolic link.  Internal error.\n\n" 1>&2
      exit 1
    fi
    if is_windows; then
      # In msys, readlink  doesn't work, because no symbolic link on
      # Windows. readlink -f  returns the real path of a junction.
      true_path=$(readlink -f "${x}")
    else
      true_path=$(readlink "${x}")
    fi
    if [ ! -d "${true_path}" ]; then
      echo -e "\n\nERROR: '${x}' does not refer to an existing directory: ${true_path}.  Do you need to rerun configure?\n\n" 1>&2
      exit 1
    fi
  done
}

main "$@"

Web Proxy Viewer  |  New URL  |  Original Page