aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/makefile/compile_ios_protobuf.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/makefile/compile_ios_protobuf.sh')
-rwxr-xr-xtensorflow/contrib/makefile/compile_ios_protobuf.sh369
1 files changed, 156 insertions, 213 deletions
diff --git a/tensorflow/contrib/makefile/compile_ios_protobuf.sh b/tensorflow/contrib/makefile/compile_ios_protobuf.sh
index 43e5809dd2..4056db18a7 100755
--- a/tensorflow/contrib/makefile/compile_ios_protobuf.sh
+++ b/tensorflow/contrib/makefile/compile_ios_protobuf.sh
@@ -21,28 +21,10 @@ if [[ -n MACOSX_DEPLOYMENT_TARGET ]]; then
export MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion)
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 arch i386, x86_64, armv7, armv7s, arm64"
- exit 1
-}
-
-BUILD_TARGET="i386 x86_64 armv7 armv7s arm64"
-while getopts "a:" opt_name; do
- case "$opt_name" in
- a) BUILD_TARGET="${OPTARG}";;
- *) usage;;
- esac
-done
-shift $((OPTIND - 1))
-
-IFS=' ' read -r -a build_targets <<< "${BUILD_TARGET}"
-
-SCRIPT_DIR=$(cd `dirname $0` && pwd)
+SCRIPT_DIR=$(dirname $0)
source "${SCRIPT_DIR}/build_helper.subr"
-cd ${SCRIPT_DIR}
+cd tensorflow/contrib/makefile
HOST_GENDIR="$(pwd)/gen/protobuf-host"
mkdir -p "${HOST_GENDIR}"
@@ -82,10 +64,6 @@ else
echo "protoc found. Skip building host tools."
fi
-# Remove old libs
-rm -f ${LIBDIR}/libprotobuf.a
-rm -f ${LIBDIR}/libprotobuf-lite.a
-
./autogen.sh
if [ $? -ne 0 ]
then
@@ -93,192 +71,157 @@ then
exit 1
fi
-package_pb_library() {
- pb_libs="${LIBDIR}/${1}/lib/libprotobuf.a"
- if [ -f "${LIBDIR}/libprotobuf.a" ]; then
- pb_libs="$pb_libs ${LIBDIR}/libprotobuf.a"
- fi
- lipo \
- $pb_libs \
- -create \
- -output ${LIBDIR}/libprotobuf.a
-
- pblite_libs="${LIBDIR}/${1}/lib/libprotobuf-lite.a"
- if [ -f "${LIBDIR}/libprotobuf-lite.a" ]; then
- pblite_libs="$pblite_libs ${LIBDIR}/libprotobuf-lite.a"
- fi
- lipo \
- $pblite_libs \
- -create \
- -output ${LIBDIR}/libprotobuf-lite.a
-}
-
-build_target() {
-case "$1" in
- i386) make distclean
- ./configure \
- --host=i386-apple-${OSX_VERSION} \
- --disable-shared \
- --enable-cross-compile \
- --with-protoc="${PROTOC_PATH}" \
- --prefix=${LIBDIR}/iossim_386 \
- --exec-prefix=${LIBDIR}/iossim_386 \
- "CFLAGS=${CFLAGS} \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- -arch i386 \
- -fembed-bitcode \
- -isysroot ${IPHONESIMULATOR_SYSROOT}" \
- "CXX=${CXX}" \
- "CXXFLAGS=${CXXFLAGS} \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- -arch i386 \
- -fembed-bitcode \
- -isysroot \
- ${IPHONESIMULATOR_SYSROOT}" \
- LDFLAGS="-arch i386 \
- -fembed-bitcode \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- ${LDFLAGS} \
- -L${IPHONESIMULATOR_SYSROOT}/usr/lib/ \
- -L${IPHONESIMULATOR_SYSROOT}/usr/lib/system" \
- "LIBS=${LIBS}"
- make -j"${JOB_COUNT}"
- make install
-
- package_pb_library "iossim_386"
- ;;
-
- x86_64) make distclean
- ./configure \
- --host=x86_64-apple-${OSX_VERSION} \
- --disable-shared \
- --enable-cross-compile \
- --with-protoc="${PROTOC_PATH}" \
- --prefix=${LIBDIR}/iossim_x86_64 \
- --exec-prefix=${LIBDIR}/iossim_x86_64 \
- "CFLAGS=${CFLAGS} \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- -arch x86_64 \
- -fembed-bitcode \
- -isysroot ${IPHONESIMULATOR_SYSROOT}" \
- "CXX=${CXX}" \
- "CXXFLAGS=${CXXFLAGS} \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- -arch x86_64 \
- -fembed-bitcode \
- -isysroot \
- ${IPHONESIMULATOR_SYSROOT}" \
- LDFLAGS="-arch x86_64 \
- -fembed-bitcode \
- -mios-simulator-version-min=${MIN_SDK_VERSION} \
- ${LDFLAGS} \
- -L${IPHONESIMULATOR_SYSROOT}/usr/lib/ \
- -L${IPHONESIMULATOR_SYSROOT}/usr/lib/system" \
- "LIBS=${LIBS}"
- make -j"${JOB_COUNT}"
- make install
-
- package_pb_library "iossim_x86_64"
- ;;
-
- armv7) make distclean
- ./configure \
- --host=armv7-apple-${OSX_VERSION} \
- --with-protoc="${PROTOC_PATH}" \
- --disable-shared \
- --prefix=${LIBDIR}/ios_arm7 \
- --exec-prefix=${LIBDIR}/ios_arm7 \
- "CFLAGS=${CFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch armv7 \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- "CXX=${CXX}" \
- "CXXFLAGS=${CXXFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch armv7 \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- LDFLAGS="-arch armv7 \
- -fembed-bitcode \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- ${LDFLAGS}" \
- "LIBS=${LIBS}"
- make -j"${JOB_COUNT}"
- make install
-
- package_pb_library "ios_arm7"
- ;;
-
- armv7s) make distclean
- ./configure \
- --host=armv7s-apple-${OSX_VERSION} \
- --with-protoc="${PROTOC_PATH}" \
- --disable-shared \
- --prefix=${LIBDIR}/ios_arm7s \
- --exec-prefix=${LIBDIR}/ios_arm7s \
- "CFLAGS=${CFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch armv7s \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- "CXX=${CXX}" \
- "CXXFLAGS=${CXXFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch armv7s \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- LDFLAGS="-arch armv7s \
- -fembed-bitcode \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- ${LDFLAGS}" \
- "LIBS=${LIBS}"
- make -j"${JOB_COUNT}"
- make install
-
- package_pb_library "ios_arm7s"
- ;;
-
- arm64) make distclean
- ./configure \
- --host=arm \
- --with-protoc="${PROTOC_PATH}" \
- --disable-shared \
- --prefix=${LIBDIR}/ios_arm64 \
- --exec-prefix=${LIBDIR}/ios_arm64 \
- "CFLAGS=${CFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch arm64 \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- "CXXFLAGS=${CXXFLAGS} \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- -arch arm64 \
- -fembed-bitcode \
- -isysroot ${IPHONEOS_SYSROOT}" \
- LDFLAGS="-arch arm64 \
- -fembed-bitcode \
- -miphoneos-version-min=${MIN_SDK_VERSION} \
- ${LDFLAGS}" \
- "LIBS=${LIBS}"
- make -j"${JOB_COUNT}"
- make install
-
- package_pb_library "ios_arm64"
- ;;
- *)
- echo "Unknown ARCH"
- exit 1
- ;;
-esac
-}
-
-for build_element in "${build_targets[@]}"
-do
- echo "$build_element"
- build_target "$build_element"
-done
-
-file ${LIBDIR}/libprotobuf.a
-file ${LIBDIR}/libprotobuf-lite.a
-echo "Done building and packaging the libraries"
+make distclean
+./configure \
+--host=i386-apple-${OSX_VERSION} \
+--disable-shared \
+--enable-cross-compile \
+--with-protoc="${PROTOC_PATH}" \
+--prefix=${LIBDIR}/iossim_386 \
+--exec-prefix=${LIBDIR}/iossim_386 \
+"CFLAGS=${CFLAGS} \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+-arch i386 \
+-fembed-bitcode \
+-isysroot ${IPHONESIMULATOR_SYSROOT}" \
+"CXX=${CXX}" \
+"CXXFLAGS=${CXXFLAGS} \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+-arch i386 \
+-fembed-bitcode \
+-isysroot \
+${IPHONESIMULATOR_SYSROOT}" \
+LDFLAGS="-arch i386 \
+-fembed-bitcode \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+${LDFLAGS} \
+-L${IPHONESIMULATOR_SYSROOT}/usr/lib/ \
+-L${IPHONESIMULATOR_SYSROOT}/usr/lib/system" \
+"LIBS=${LIBS}"
+make -j"${JOB_COUNT}"
+make install
+
+make distclean
+./configure \
+--host=x86_64-apple-${OSX_VERSION} \
+--disable-shared \
+--enable-cross-compile \
+--with-protoc="${PROTOC_PATH}" \
+--prefix=${LIBDIR}/iossim_x86_64 \
+--exec-prefix=${LIBDIR}/iossim_x86_64 \
+"CFLAGS=${CFLAGS} \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+-arch x86_64 \
+-fembed-bitcode \
+-isysroot ${IPHONESIMULATOR_SYSROOT}" \
+"CXX=${CXX}" \
+"CXXFLAGS=${CXXFLAGS} \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+-arch x86_64 \
+-fembed-bitcode \
+-isysroot \
+${IPHONESIMULATOR_SYSROOT}" \
+LDFLAGS="-arch x86_64 \
+-fembed-bitcode \
+-mios-simulator-version-min=${MIN_SDK_VERSION} \
+${LDFLAGS} \
+-L${IPHONESIMULATOR_SYSROOT}/usr/lib/ \
+-L${IPHONESIMULATOR_SYSROOT}/usr/lib/system" \
+"LIBS=${LIBS}"
+make -j"${JOB_COUNT}"
+make install
+
+make distclean
+./configure \
+--host=armv7-apple-${OSX_VERSION} \
+--with-protoc="${PROTOC_PATH}" \
+--disable-shared \
+--prefix=${LIBDIR}/ios_arm7 \
+--exec-prefix=${LIBDIR}/ios_arm7 \
+"CFLAGS=${CFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch armv7 \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+"CXX=${CXX}" \
+"CXXFLAGS=${CXXFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch armv7 \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+LDFLAGS="-arch armv7 \
+-fembed-bitcode \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+${LDFLAGS}" \
+"LIBS=${LIBS}"
+make -j"${JOB_COUNT}"
+make install
+
+make distclean
+./configure \
+--host=armv7s-apple-${OSX_VERSION} \
+--with-protoc="${PROTOC_PATH}" \
+--disable-shared \
+--prefix=${LIBDIR}/ios_arm7s \
+--exec-prefix=${LIBDIR}/ios_arm7s \
+"CFLAGS=${CFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch armv7s \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+"CXX=${CXX}" \
+"CXXFLAGS=${CXXFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch armv7s \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+LDFLAGS="-arch armv7s \
+-fembed-bitcode \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+${LDFLAGS}" \
+"LIBS=${LIBS}"
+make -j"${JOB_COUNT}"
+make install
+
+make distclean
+./configure \
+--host=arm \
+--with-protoc="${PROTOC_PATH}" \
+--disable-shared \
+--prefix=${LIBDIR}/ios_arm64 \
+--exec-prefix=${LIBDIR}/ios_arm64 \
+"CFLAGS=${CFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch arm64 \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+"CXXFLAGS=${CXXFLAGS} \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+-arch arm64 \
+-fembed-bitcode \
+-isysroot ${IPHONEOS_SYSROOT}" \
+LDFLAGS="-arch arm64 \
+-fembed-bitcode \
+-miphoneos-version-min=${MIN_SDK_VERSION} \
+${LDFLAGS}" \
+"LIBS=${LIBS}"
+make -j"${JOB_COUNT}"
+make install
+
+lipo \
+${LIBDIR}/iossim_386/lib/libprotobuf.a \
+${LIBDIR}/iossim_x86_64/lib/libprotobuf.a \
+${LIBDIR}/ios_arm7/lib/libprotobuf.a \
+${LIBDIR}/ios_arm7s/lib/libprotobuf.a \
+${LIBDIR}/ios_arm64/lib/libprotobuf.a \
+-create \
+-output ${LIBDIR}/libprotobuf.a
+
+lipo \
+${LIBDIR}/iossim_386/lib/libprotobuf-lite.a \
+${LIBDIR}/iossim_x86_64/lib/libprotobuf-lite.a \
+${LIBDIR}/ios_arm7/lib/libprotobuf-lite.a \
+${LIBDIR}/ios_arm7s/lib/libprotobuf-lite.a \
+${LIBDIR}/ios_arm64/lib/libprotobuf-lite.a \
+-create \
+-output ${LIBDIR}/libprotobuf-lite.a