Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: talk/build/build_ios_libs.sh

Issue 1673503002: Update build_ios_libs.sh script to build new Objective-C API (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Use bool Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | talk/build/export_headers » ('j') | talk/build/export_headers » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # 2 #
3 # libjingle 3 # libjingle
4 # Copyright 2015 Google Inc. 4 # Copyright 2015 Google Inc.
5 # 5 #
6 # Redistribution and use in source and binary forms, with or without 6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions are met: 7 # modification, are permitted provided that the following conditions are met:
8 # 8 #
9 # 1. Redistributions of source code must retain the above copyright notice, 9 # 1. Redistributions of source code must retain the above copyright notice,
10 # this list of conditions and the following disclaimer. 10 # this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright notice, 11 # 2. Redistributions in binary form must reproduce the above copyright notice,
12 # this list of conditions and the following disclaimer in the documentation 12 # this list of conditions and the following disclaimer in the documentation
13 # and/or other materials provided with the distribution. 13 # and/or other materials provided with the distribution.
14 # 3. The name of the author may not be used to endorse or promote products 14 # 3. The name of the author may not be used to endorse or promote products
15 # derived from this software without specific prior written permission. 15 # derived from this software without specific prior written permission.
16 # 16 #
17 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
18 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20 # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 # Generates static FAT libraries for ios in out_ios_libs. 28 # Generates static FAT libraries for ios in out_ios_libs.
29 29
30 # Flag to build the new or legacy version of the API.
31 USE_LEGACY_API=1
32
30 # Check for Darwin. 33 # Check for Darwin.
31 if [[ ! $(uname) = "Darwin" ]]; then 34 if [[ ! $(uname) = "Darwin" ]]; then
32 echo "OS/X required." >&2 35 echo "OS/X required." >&2
33 fi 36 fi
34 37
35 # Check for libtool. 38 # Check for libtool.
36 if [[ -z $(which libtool) ]]; then 39 if [[ -z $(which libtool) ]]; then
37 echo "Missing libtool binary." >&2 40 echo "Missing libtool binary." >&2
38 fi 41 fi
39 42
40 # Check for GYP generator. 43 # Check for GYP generator.
41 SCRIPT_DIR=$(dirname $0) 44 SCRIPT_DIR=$(dirname $0)
42 WEBRTC_BASE_DIR=${SCRIPT_DIR}/../.. 45 WEBRTC_BASE_DIR=${SCRIPT_DIR}/../..
43 GYP_WEBRTC_SCRIPT=${WEBRTC_BASE_DIR}/webrtc/build/gyp_webrtc 46 GYP_WEBRTC_SCRIPT=${WEBRTC_BASE_DIR}/webrtc/build/gyp_webrtc
44 if [[ ! -x ${GYP_WEBRTC_SCRIPT} ]]; then 47 if [[ ! -x ${GYP_WEBRTC_SCRIPT} ]]; then
45 echo "Failed to find gyp generator." >&2 48 echo "Failed to find gyp generator." >&2
46 exit 1 49 exit 1
47 fi 50 fi
51 # Check for export headers script.
52 EXPORT_HEADERS_SCRIPT=${SCRIPT_DIR}/export_headers
53 if [[ ! -x ${EXPORT_HEADERS_SCRIPT} ]]; then
54 echo "Failed to find export headers script." >&2
55 exit 1
56 fi
48 # Check for merge script. 57 # Check for merge script.
49 MERGE_SCRIPT=${SCRIPT_DIR}/merge_ios_libs 58 MERGE_SCRIPT=${SCRIPT_DIR}/merge_ios_libs
50 if [[ ! -x ${MERGE_SCRIPT} ]]; then 59 if [[ ! -x ${MERGE_SCRIPT} ]]; then
51 echo "Failed to find library merging script." >&2 60 echo "Failed to find library merging script." >&2
52 exit 1 61 exit 1
53 fi 62 fi
54 63
55 pushd ${WEBRTC_BASE_DIR} 64 pushd ${WEBRTC_BASE_DIR}
56 LIBRARY_BASE_DIR="out_ios_libs" 65 LIBRARY_BASE_DIR="out_ios_libs"
57 66
58 function build_webrtc { 67 function build_webrtc {
59 OUTPUT_DIR=$1 68 OUTPUT_DIR=$1
60 FLAVOR=$2 69 FLAVOR=$2
61 TARGET_ARCH=$3 70 TARGET_ARCH=$3
62 TARGET_SUBARCH=$4
63 if [[ ${TARGET_ARCH} = 'arm' || ${TARGET_ARCH} = 'arm64' ]]; then 71 if [[ ${TARGET_ARCH} = 'arm' || ${TARGET_ARCH} = 'arm64' ]]; then
64 FLAVOR="${FLAVOR}-iphoneos" 72 FLAVOR="${FLAVOR}-iphoneos"
65 else 73 else
66 FLAVOR="${FLAVOR}-iphonesimulator" 74 FLAVOR="${FLAVOR}-iphonesimulator"
67 fi 75 fi
68 export GYP_DEFINES="OS=ios target_arch=${TARGET_ARCH} clang_xcode=1" 76 export GYP_DEFINES="OS=ios target_arch=${TARGET_ARCH} clang_xcode=1"
69 export GYP_GENERATORS="ninja" 77 export GYP_GENERATORS="ninja"
70 export GYP_GENERATOR_FLAGS="output_dir=${OUTPUT_DIR}" 78 export GYP_GENERATOR_FLAGS="output_dir=${OUTPUT_DIR}"
71 webrtc/build/gyp_webrtc talk/build/merge_ios_libs.gyp 79 webrtc/build/gyp_webrtc talk/build/merge_ios_libs.gyp
72 ninja -C ${OUTPUT_DIR}/${FLAVOR} libjingle_peerconnection_objc_no_op 80 if [[ ${USE_LEGACY_API} -eq 1 ]]; then
81 ninja -C ${OUTPUT_DIR}/${FLAVOR} libjingle_peerconnection_objc_no_op
82 else
83 ninja -C ${OUTPUT_DIR}/${FLAVOR} webrtc_api_objc_no_op
84 fi
73 mkdir -p ${LIBRARY_BASE_DIR}/${TARGET_ARCH} 85 mkdir -p ${LIBRARY_BASE_DIR}/${TARGET_ARCH}
74 mv ${OUTPUT_DIR}/${FLAVOR}/*.a ${LIBRARY_BASE_DIR}/${TARGET_ARCH} 86 mv ${OUTPUT_DIR}/${FLAVOR}/*.a ${LIBRARY_BASE_DIR}/${TARGET_ARCH}
75 } 87 }
76 88
77 # Build all the common architectures. 89 # Build all the common architectures.
78 build_webrtc "out_ios_arm" "Release" "arm" 90 build_webrtc "out_ios_arm" "Release" "arm"
79 build_webrtc "out_ios_arm64" "Release" "arm64" 91 build_webrtc "out_ios_arm64" "Release" "arm64"
80 build_webrtc "out_ios_ia32" "Release" "ia32" 92 build_webrtc "out_ios_ia32" "Release" "ia32"
81 build_webrtc "out_ios_x86_64" "Release" "x64" 93 build_webrtc "out_ios_x86_64" "Release" "x64"
82 94
83 popd 95 popd
84 96
97 # Export header files.
98 ${EXPORT_HEADERS_SCRIPT} ${WEBRTC_BASE_DIR}/${LIBRARY_BASE_DIR} \
99 ${USE_LEGACY_API}
100
85 # Merge the libraries together. 101 # Merge the libraries together.
86 ${MERGE_SCRIPT} ${WEBRTC_BASE_DIR}/${LIBRARY_BASE_DIR} 102 ${MERGE_SCRIPT} ${WEBRTC_BASE_DIR}/${LIBRARY_BASE_DIR}
OLDNEW
« no previous file with comments | « no previous file | talk/build/export_headers » ('j') | talk/build/export_headers » ('J')

Powered by Google App Engine
This is Rietveld 408576698