aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/makefile/compile_ios_tensorflow.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/makefile/compile_ios_tensorflow.sh')
-rwxr-xr-xtensorflow/contrib/makefile/compile_ios_tensorflow.sh155
1 files changed, 43 insertions, 112 deletions
diff --git a/tensorflow/contrib/makefile/compile_ios_tensorflow.sh b/tensorflow/contrib/makefile/compile_ios_tensorflow.sh
index ae82163e11..5d1cc8b375 100755
--- a/tensorflow/contrib/makefile/compile_ios_tensorflow.sh
+++ b/tensorflow/contrib/makefile/compile_ios_tensorflow.sh
@@ -43,124 +43,55 @@ then
exit 1
fi
-usage() {
- echo "Usage: $(basename "$0") [-a]"
- echo "-a [build_arch] build for specified arch comma separate for multiple archs (eg: x86_64,arm64)"
- echo "default is [i386, x86_64, armv7, armv7s, arm64]"
- exit 1
-}
-
-BUILD_TARGET="i386 x86_64 armv7 armv7s arm64"
-while getopts "a:f:h:n:" opt_name; do
- case "$opt_name" in
- a) BUILD_TARGET="${OPTARG}";;
- f) BUILD_OPT="${OPTARG}";;
- h) NSYNC_HOST="${OPTARG}";;
- n) NSYNC_TARGET="${OPTARG}";;
- *) usage;;
- esac
-done
-shift $((OPTIND - 1))
-
-IFS=' ' read -r -a build_targets <<< "${BUILD_TARGET}"
-
-SCRIPT_DIR=$(cd `dirname $0` && pwd)
-source "${SCRIPT_DIR}/build_helper.subr"
-
-
GENDIR=tensorflow/contrib/makefile/gen/
LIBDIR=${GENDIR}lib
LIB_PREFIX=libtensorflow-core
-#remove any old artifacts
-rm -rf ${LIBDIR}/${LIB_PREFIX}.a
+make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
+TARGET=IOS IOS_ARCH=ARMV7 LIB_NAME=${LIB_PREFIX}-armv7.a OPTFLAGS="$1"
+if [ $? -ne 0 ]
+then
+ echo "armv7 compilation failed."
+ exit 1
+fi
-package_tf_library() {
- CAP_DIR=`echo $1 | tr 'a-z' 'A-Z'`
- tf_libs="${LIBDIR}/ios_${CAP_DIR}/${LIB_PREFIX}-${1}.a"
- if [ -f "${LIBDIR}/${LIB_PREFIX}.a" ]; then
- tf_libs="$tf_libs ${LIBDIR}/${LIB_PREFIX}.a"
- fi
- lipo \
- $tf_libs \
- -create \
- -output ${LIBDIR}/${LIB_PREFIX}.a
-}
+make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
+TARGET=IOS IOS_ARCH=ARMV7S LIB_NAME=${LIB_PREFIX}-armv7s.a OPTFLAGS="$1"
+if [ $? -ne 0 ]
+then
+ echo "arm7vs compilation failed."
+ exit 1
+fi
-build_tf_target() {
-case "$1" in
- armv7)
- make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
- TARGET=IOS IOS_ARCH=ARMV7 LIB_NAME=${LIB_PREFIX}-armv7.a \
- OPTFLAGS="${BUILD_OPT}" HOST_NSYNC_LIB="${NSYNC_HOST}" \
- TARGET_NSYNC_LIB="${NSYNC_TARGET}"
- if [ $? -ne 0 ]
- then
- echo "armv7 compilation failed."
- exit 1
- fi
- package_tf_library "armv7"
- ;;
- armv7s)
- make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
- TARGET=IOS IOS_ARCH=ARMV7S LIB_NAME=${LIB_PREFIX}-armv7s.a \
- OPTFLAGS="${BUILD_OPT}" HOST_NSYNC_LIB="${NSYNC_HOST}" \
- TARGET_NSYNC_LIB="${NSYNC_TARGET}"
+make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
+TARGET=IOS IOS_ARCH=ARM64 LIB_NAME=${LIB_PREFIX}-arm64.a OPTFLAGS="$1"
+if [ $? -ne 0 ]
+then
+ echo "arm64 compilation failed."
+ exit 1
+fi
- if [ $? -ne 0 ]
- then
- echo "arm7vs compilation failed."
- exit 1
- fi
- package_tf_library "armv7s"
- ;;
- arm64)
- make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
- TARGET=IOS IOS_ARCH=ARM64 LIB_NAME=${LIB_PREFIX}-arm64.a \
- OPTFLAGS="${BUILD_OPT}" HOST_NSYNC_LIB="${NSYNC_HOST}" \
- TARGET_NSYNC_LIB="${NSYNC_TARGET}"
- if [ $? -ne 0 ]
- then
- echo "arm64 compilation failed."
- exit 1
- fi
- package_tf_library "arm64"
- ;;
- i386)
- make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
- TARGET=IOS IOS_ARCH=I386 LIB_NAME=${LIB_PREFIX}-i386.a \
- OPTFLAGS="${BUILD_OPT}" HOST_NSYNC_LIB="${NSYNC_HOST}" \
- TARGET_NSYNC_LIB="${NSYNC_TARGET}"
- if [ $? -ne 0 ]
- then
- echo "i386 compilation failed."
- exit 1
- fi
- package_tf_library "i386"
- ;;
- x86_64)
- make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
- TARGET=IOS IOS_ARCH=X86_64 LIB_NAME=${LIB_PREFIX}-x86_64.a \
- OPTFLAGS="${BUILD_OPT}" HOST_NSYNC_LIB="${NSYNC_HOST}" \
- TARGET_NSYNC_LIB="${NSYNC_TARGET}"
- if [ $? -ne 0 ]
- then
- echo "x86_64 compilation failed."
- exit 1
- fi
- package_tf_library "x86_64"
- ;;
- *)
- echo "Unknown ARCH"
- exit 1
-esac
-}
+make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
+TARGET=IOS IOS_ARCH=I386 LIB_NAME=${LIB_PREFIX}-i386.a OPTFLAGS="$1"
+if [ $? -ne 0 ]
+then
+ echo "i386 compilation failed."
+ exit 1
+fi
-for build_tf_element in "${build_targets[@]}"
-do
- echo "$build_tf_element"
- build_tf_target "$build_tf_element"
-done
+make -j"${JOB_COUNT}" -f tensorflow/contrib/makefile/Makefile \
+TARGET=IOS IOS_ARCH=X86_64 LIB_NAME=${LIB_PREFIX}-x86_64.a OPTFLAGS="$1"
+if [ $? -ne 0 ]
+then
+ echo "x86_64 compilation failed."
+ exit 1
+fi
-echo "Done building and packaging TF"
-file ${LIBDIR}/${LIB_PREFIX}.a
+lipo \
+${LIBDIR}/ios_ARMV7/${LIB_PREFIX}-armv7.a \
+${LIBDIR}/ios_ARMV7S/${LIB_PREFIX}-armv7s.a \
+${LIBDIR}/ios_ARM64/${LIB_PREFIX}-arm64.a \
+${LIBDIR}/ios_I386/${LIB_PREFIX}-i386.a \
+${LIBDIR}/ios_X86_64/${LIB_PREFIX}-x86_64.a \
+-create \
+-output ${LIBDIR}/${LIB_PREFIX}.a