| Index: webrtc/build/ios/build_ios_framework.sh | 
| diff --git a/webrtc/build/ios/build_ios_framework.sh b/webrtc/build/ios/build_ios_framework.sh | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..35ec552798ce711f2f5f6b3c9912fddc283100ee | 
| --- /dev/null | 
| +++ b/webrtc/build/ios/build_ios_framework.sh | 
| @@ -0,0 +1,85 @@ | 
| +#!/bin/bash | 
| + | 
| +#  Copyright 2015 The WebRTC project authors. All Rights Reserved. | 
| +# | 
| +#  Use of this source code is governed by a BSD-style license | 
| +#  that can be found in the LICENSE file in the root of the source | 
| +#  tree. An additional intellectual property rights grant can be found | 
| +#  in the file PATENTS.  All contributing project authors may | 
| +#  be found in the AUTHORS file in the root of the source tree. | 
| + | 
| +# Generates dynamic FAT framework for iOS in out_ios_framework. | 
| + | 
| +# Check for Darwin. | 
| +if [[ ! $(uname) = "Darwin" ]]; then | 
| +  echo "OS X required." >&2 | 
| +fi | 
| + | 
| +# Check for iOS library build script. | 
| +SCRIPT_DIR=$(dirname $0) | 
| +WEBRTC_BASE_DIR=${SCRIPT_DIR}/../../.. | 
| +BUILD_WEBRTC_SCRIPT=${WEBRTC_BASE_DIR}/webrtc/build/ios/build_ios_libs.sh | 
| +if [[ ! -x ${BUILD_WEBRTC_SCRIPT} ]]; then | 
| +  echo "Failed to find iOS library build script." >&2 | 
| +  exit 1 | 
| +fi | 
| +# Check for flatten iOS headers script. | 
| +FLATTEN_HEADERS_SCRIPT=${WEBRTC_BASE_DIR}/webrtc/build/ios/flatten_ios_headers | 
| +if [[ ! -x ${FLATTEN_HEADERS_SCRIPT} ]]; then | 
| +  echo "Failed to find flatten iOS headers script." >&2 | 
| +  exit 1 | 
| +fi | 
| + | 
| +pushd ${WEBRTC_BASE_DIR} | 
| +LIB_BASE_DIR=out_ios_libs | 
| +FRAMEWORK_BASE_DIR=out_ios_framework | 
| + | 
| +# Build static libraries for iOS. | 
| +${BUILD_WEBRTC_SCRIPT} | 
| +if [ $? -ne 0 ]; then | 
| +  echo "Failed to build iOS static libraries." >&2 | 
| +  exit 1 | 
| +fi | 
| + | 
| +# Flatten the directory structure for iOS headers. | 
| +${FLATTEN_HEADERS_SCRIPT} ${LIB_BASE_DIR} ${FRAMEWORK_BASE_DIR} | 
| +if [ $? -ne 0 ]; then | 
| +  echo "Failed to flatten iOS headers." >&2 | 
| +  exit 1 | 
| +fi | 
| + | 
| +# Replace full paths for headers with framework paths. | 
| +SED_PATTERN=' | 
| +  s/(\#import )\"webrtc\/api\/objc\/(.*)\"/\1<WebRTC\/\2>/g; | 
| +  s/(\#import )\"webrtc\/base\/objc\/(.*)\"/\1<WebRTC\/\2>/g; | 
| +  s/(\#include )\"webrtc\/base\/objc\/(.*)\"/\1<WebRTC\/\2>/g; | 
| +' | 
| +sed -E -i '' "$SED_PATTERN" ${FRAMEWORK_BASE_DIR}/include/*.h | 
| + | 
| +SDK_DIR=webrtc/build/ios/SDK | 
| +PROJECT_DIR=${SDK_DIR}/Framework | 
| +# Build the framework. | 
| +pushd ${PROJECT_DIR} | 
| +xcodebuild -project WebRTC.xcodeproj -scheme WebRTC -configuration Release \ | 
| +    build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | 
| +xcodebuild -project WebRTC.xcodeproj -scheme WebRTC -configuration Release \ | 
| +    build -destination 'platform=iOS Simulator,name=iPhone 6' | 
| +popd | 
| + | 
| +# Copy podspec, framework, dSYM and LICENSE to FRAMEWORK_BASE_DIR | 
| +DEVICE_BUILD_DIR=${PROJECT_DIR}/build/Release-iphoneos | 
| +cp ${SDK_DIR}/WebRTC.podspec ${FRAMEWORK_BASE_DIR}/ | 
| +cp -R ${DEVICE_BUILD_DIR}/WebRTC.framework ${FRAMEWORK_BASE_DIR}/ | 
| +cp -R ${DEVICE_BUILD_DIR}/WebRTC.framework.dSYM ${FRAMEWORK_BASE_DIR}/ | 
| +cp -R webrtc/LICENSE ${FRAMEWORK_BASE_DIR}/ | 
| + | 
| +# Combine multiple architectures | 
| +SIMULATOR_BUILD_DIR=${PROJECT_DIR}/build/Release-iphonesimulator | 
| +DYLIB_PATH=WebRTC.framework/WebRTC | 
| +DWARF_PATH=WebRTC.framework.dSYM/Contents/Resources/DWARF/WebRTC | 
| +lipo ${FRAMEWORK_BASE_DIR}/${DYLIB_PATH} ${SIMULATOR_BUILD_DIR}/${DYLIB_PATH} \ | 
| +    -create -output ${FRAMEWORK_BASE_DIR}/${DYLIB_PATH} | 
| +lipo ${FRAMEWORK_BASE_DIR}/${DWARF_PATH} ${SIMULATOR_BUILD_DIR}/${DWARF_PATH} \ | 
| +    -create -output ${FRAMEWORK_BASE_DIR}/${DWARF_PATH} | 
| + | 
| +popd | 
|  |