| Index: third_party/protobuf/objectivec/DevTools/full_mac_build.sh
|
| diff --git a/third_party/protobuf/objectivec/DevTools/full_mac_build.sh b/third_party/protobuf/objectivec/DevTools/full_mac_build.sh
|
| deleted file mode 100644
|
| index 2192b760976de32b3721cf4e4998b059beb4dc88..0000000000000000000000000000000000000000
|
| --- a/third_party/protobuf/objectivec/DevTools/full_mac_build.sh
|
| +++ /dev/null
|
| @@ -1,228 +0,0 @@
|
| -#!/bin/bash
|
| -#
|
| -# Helper to do build so you don't have to remember all the steps/args.
|
| -
|
| -
|
| -set -eu
|
| -
|
| -# Some base locations.
|
| -readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
|
| -readonly ProtoRootDir="${ScriptDir}/../.."
|
| -
|
| -printUsage() {
|
| - NAME=$(basename "${0}")
|
| - cat << EOF
|
| -usage: ${NAME} [OPTIONS]
|
| -
|
| -This script does the common build steps needed.
|
| -
|
| -OPTIONS:
|
| -
|
| - General:
|
| -
|
| - -h, --help
|
| - Show this message
|
| - -c, --clean
|
| - Issue a clean before the normal build.
|
| - -a, --autogen
|
| - Start by rerunning autogen & configure.
|
| - -r, --regenerate-descriptors
|
| - The descriptor.proto is checked in generated, cause it to regenerate.
|
| - -j #, --jobs #
|
| - Force the number of parallel jobs (useful for debugging build issues).
|
| - --skip-xcode
|
| - Skip the invoke of Xcode to test the runtime on both iOS and OS X.
|
| - --skip-xcode-ios
|
| - Skip the invoke of Xcode to test the runtime on iOS.
|
| - --skip-xcode-osx
|
| - Skip the invoke of Xcode to test the runtime on OS X.
|
| -
|
| -EOF
|
| -}
|
| -
|
| -header() {
|
| - echo ""
|
| - echo "========================================================================"
|
| - echo " ${@}"
|
| - echo "========================================================================"
|
| -}
|
| -
|
| -# Thanks to libtool, builds can fail in odd ways and since it eats some output
|
| -# it can be hard to spot, so force error output if make exits with a non zero.
|
| -wrapped_make() {
|
| - set +e # Don't stop if the command fails.
|
| - make $*
|
| - MAKE_EXIT_STATUS=$?
|
| - if [ ${MAKE_EXIT_STATUS} -ne 0 ]; then
|
| - echo "Error: 'make $*' exited with status ${MAKE_EXIT_STATUS}"
|
| - exit ${MAKE_EXIT_STATUS}
|
| - fi
|
| - set -e
|
| -}
|
| -
|
| -NUM_MAKE_JOBS=$(/usr/sbin/sysctl -n hw.ncpu)
|
| -if [[ "${NUM_MAKE_JOBS}" -lt 4 ]] ; then
|
| - NUM_MAKE_JOBS=4
|
| -fi
|
| -
|
| -DO_AUTOGEN=no
|
| -DO_CLEAN=no
|
| -REGEN_CPP_DESCRIPTORS=no
|
| -DO_XCODE_IOS_TESTS=yes
|
| -DO_XCODE_OSX_TESTS=yes
|
| -while [[ $# != 0 ]]; do
|
| - case "${1}" in
|
| - -h | --help )
|
| - printUsage
|
| - exit 0
|
| - ;;
|
| - -c | --clean )
|
| - DO_CLEAN=yes
|
| - ;;
|
| - -a | --autogen )
|
| - DO_AUTOGEN=yes
|
| - ;;
|
| - -r | --regenerate-cpp-descriptors )
|
| - REGEN_CPP_DESCRIPTORS=yes
|
| - ;;
|
| - -j | --jobs )
|
| - shift
|
| - NUM_MAKE_JOBS="${1}"
|
| - ;;
|
| - --skip-xcode )
|
| - DO_XCODE_IOS_TESTS=no
|
| - DO_XCODE_OSX_TESTS=no
|
| - ;;
|
| - --skip-xcode-ios )
|
| - DO_XCODE_IOS_TESTS=no
|
| - ;;
|
| - --skip-xcode-osx )
|
| - DO_XCODE_OSX_TESTS=no
|
| - ;;
|
| - -*)
|
| - echo "ERROR: Unknown option: ${1}" 1>&2
|
| - printUsage
|
| - exit 1
|
| - ;;
|
| - *)
|
| - echo "ERROR: Unknown argument: ${1}" 1>&2
|
| - printUsage
|
| - exit 1
|
| - ;;
|
| - esac
|
| - shift
|
| -done
|
| -
|
| -# Into the proto dir.
|
| -pushd "${ProtoRootDir}"
|
| -
|
| -# if no Makefile, force the autogen.
|
| -if [[ ! -f Makefile ]] ; then
|
| - DO_AUTOGEN=yes
|
| -fi
|
| -
|
| -if [[ "${DO_AUTOGEN}" == "yes" ]] ; then
|
| - header "Running autogen & configure"
|
| - ./autogen.sh
|
| - ./configure CXXFLAGS="-mmacosx-version-min=10.9 -Wnon-virtual-dtor -Woverloaded-virtual -Wunused-const-variable -Wunused-function"
|
| -fi
|
| -
|
| -if [[ "${DO_CLEAN}" == "yes" ]] ; then
|
| - header "Cleaning"
|
| - wrapped_make clean
|
| - if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
|
| - XCODEBUILD_CLEAN_BASE_IOS=(
|
| - xcodebuild
|
| - -project objectivec/ProtocolBuffers_iOS.xcodeproj
|
| - -scheme ProtocolBuffers
|
| - )
|
| - "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Debug clean
|
| - "${XCODEBUILD_CLEAN_BASE_IOS[@]}" -configuration Release clean
|
| - fi
|
| - if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
|
| - XCODEBUILD_CLEAN_BASE_OSX=(
|
| - xcodebuild
|
| - -project objectivec/ProtocolBuffers_OSX.xcodeproj
|
| - -scheme ProtocolBuffers
|
| - )
|
| - "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Debug clean
|
| - "${XCODEBUILD_CLEAN_BASE_OSX[@]}" -configuration Release clean
|
| - fi
|
| -fi
|
| -
|
| -if [[ "${REGEN_CPP_DESCRIPTORS}" == "yes" ]] ; then
|
| - header "Regenerating the C++ descriptor sources."
|
| - ./generate_descriptor_proto.sh -j "${NUM_MAKE_JOBS}"
|
| -fi
|
| -
|
| -header "Building"
|
| -# Can't issue these together, when fully parallel, something sometimes chokes
|
| -# at random.
|
| -wrapped_make -j "${NUM_MAKE_JOBS}" all
|
| -wrapped_make -j "${NUM_MAKE_JOBS}" check
|
| -
|
| -header "Ensuring the ObjC descriptors are current."
|
| -# Find the newest input file (protos, compiler, and the generator script).
|
| -# (these patterns catch some extra stuff, but better to over sample than under)
|
| -readonly NewestInput=$(find \
|
| - src/google/protobuf/*.proto \
|
| - src/.libs src/*.la src/protoc \
|
| - objectivec/generate_descriptors_proto.sh \
|
| - -type f -print0 \
|
| - | xargs -0 stat -f "%m %N" \
|
| - | sort -n | tail -n1 | cut -f2- -d" ")
|
| -# Find the oldest output file.
|
| -readonly OldestOutput=$(find \
|
| - "${ProtoRootDir}/objectivec/google" \
|
| - -type f -print0 \
|
| - | xargs -0 stat -f "%m %N" \
|
| - | sort -n -r | tail -n1 | cut -f2- -d" ")
|
| -# If the newest input is newer than the oldest output, regenerate.
|
| -if [[ "${NewestInput}" -nt "${OldestOutput}" ]] ; then
|
| - echo ">> Newest input is newer than oldest output, regenerating."
|
| - objectivec/generate_descriptors_proto.sh -j "${NUM_MAKE_JOBS}"
|
| -else
|
| - echo ">> Newest input is older than oldest output, no need to regenerating."
|
| -fi
|
| -
|
| -header "Checking on the ObjC Runtime Code"
|
| -objectivec/DevTools/pddm_tests.py
|
| -if ! objectivec/DevTools/pddm.py --dry-run objectivec/*.[hm] objectivec/Tests/*.[hm] ; then
|
| - echo ""
|
| - echo "Update by running:"
|
| - echo " objectivec/DevTools/pddm.py objectivec/*.[hm] objectivec/Tests/*.[hm]"
|
| - exit 1
|
| -fi
|
| -
|
| -if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
|
| - XCODEBUILD_TEST_BASE_IOS=(
|
| - xcodebuild
|
| - -project objectivec/ProtocolBuffers_iOS.xcodeproj
|
| - -scheme ProtocolBuffers
|
| - # Don't need to worry about form factors or retina/non retina;
|
| - # just pick a mix of OS Versions and 32/64 bit.
|
| - -destination "platform=iOS Simulator,name=iPhone 4s,OS=7.1" # 32bit
|
| - -destination "platform=iOS Simulator,name=iPhone 6,OS=8.3" # 64bit
|
| - -destination "platform=iOS Simulator,name=iPad 2,OS=7.1" # 32bit
|
| - -destination "platform=iOS Simulator,name=iPad Air,OS=8.3" # 64bit
|
| - )
|
| - header "Doing Xcode iOS build/tests - Debug"
|
| - "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Debug test
|
| - header "Doing Xcode iOS build/tests - Release"
|
| - "${XCODEBUILD_TEST_BASE_IOS[@]}" -configuration Release test
|
| - # Don't leave the simulator in the developer's face.
|
| - killall "iOS Simulator"
|
| -fi
|
| -if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
|
| - XCODEBUILD_TEST_BASE_OSX=(
|
| - xcodebuild
|
| - -project objectivec/ProtocolBuffers_OSX.xcodeproj
|
| - -scheme ProtocolBuffers
|
| - # Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported.
|
| - -destination "platform=OS X,arch=x86_64" # 64bit
|
| - )
|
| - header "Doing Xcode OS X build/tests - Debug"
|
| - "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Debug test
|
| - header "Doing Xcode OS X build/tests - Release"
|
| - "${XCODEBUILD_TEST_BASE_OSX[@]}" -configuration Release test
|
| -fi
|
|
|