#!/bin/bash -e # Copyright 2016 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. # ============================================================================== # Utility functions for scripts to build tensorflow by Makefile get_cpu_count() { case "${OSTYPE}" in linux*) grep processor /proc/cpuinfo | wc -l ;; darwin*) sysctl hw.ncpu | awk '{print $2}' ;; cygwin*) grep processor /proc/cpuinfo | wc -l ;; *) echo "1" exit 1 ;; esac exit 0 } get_job_count() { echo $(($(get_cpu_count))) } make_host_protoc() { if [[ ! $1 ]]; then echo "needs 1 argument (HOST_GENDIR)" exit 1 fi HOST_GENDIR="$1" ./autogen.sh if [ $? -ne 0 ] then echo "./autogen.sh command failed." exit 1 fi rm -rf "${HOST_GENDIR}" mkdir -p "${HOST_GENDIR}" ./configure --disable-shared --prefix="${HOST_GENDIR}" make clean make -j"$(get_job_count)" if [ $? -ne 0 ]; then echo "make failed" exit 1 fi make install } download_and_push() { URL="$1" LOCAL_DEST="$2" ANDROID_DEST="$3" SKIP_DOWNLOAD_IF_EXIST="$4" if [[ "${SKIP_DOWNLOAD_IF_EXIST}" == "true" ]]; then ANDROID_DEST_FILE_PATH="${ANDROID_DEST}/$(basename "${LOCAL_DEST}")" if adb shell test -f "${ANDROID_DEST_FILE_PATH}"; then echo "${ANDROID_DEST_FILE_PATH} already existins, skip download" 1>&2 return 0 fi fi curl -Ls "${URL}" -o "${LOCAL_DEST}" if [[ ! -z "${ANDROID_DEST}" ]]; then adb shell mkdir -p "${ANDROID_DEST}" adb push "${LOCAL_DEST}" "${ANDROID_DEST}" fi }