diff options
Diffstat (limited to 'tensorflow/contrib/makefile/compile_ios_protobuf.sh')
-rwxr-xr-x | tensorflow/contrib/makefile/compile_ios_protobuf.sh | 369 |
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 |