#!/bin/bash
function build_xcode() {
echo "*** building WebRTC for the ia32 iOS simulator";
export GYP_GENERATORS="xcode";
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=ia32 clang_xcode=1";
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_ia32";
export GYP_CROSSCOMPILE=1;
gclient runhooks;
ninja -C out_ios_ia32/Release-iphonesimulator iossim AppRTCDemo;
}
function build_iossim_ia32() {
echo "*** building WebRTC for the ia32 iOS simulator";
export GYP_GENERATORS="ninja";
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=ia32 clang_xcode=1";
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_ia32";
export GYP_CROSSCOMPILE=1;
pushd src;
gclient runhooks;
ninja -C out_ios_ia32/Release-iphonesimulator iossim AppRTCDemo;
echo "*** creating iOS ia32 libraries";
pushd out_ios_ia32/Release-iphonesimulator/;
rm -f libapprtc_signaling.a;
popd;
mkdir -p out_ios_ia32/libs;
libtool -static -o out_ios_ia32/libs/libWebRTC-ia32.a out_ios_ia32/Release-iphonesimulator/lib*.a;
strip -S -x -o out_ios_ia32/libs/libWebRTC.a -r out_ios_ia32/libs/libWebRTC-ia32.a;
rm -f out_ios_ia32/libs/libWebRTC-ia32.a;
echo "*** result: $PWD/out_ios_ia32/libs/libWebRTC.a";
popd;
}
function build_iossim_x86_64() {
echo "*** building WebRTC for the x86_64 iOS simulator";
export GYP_GENERATORS="ninja";
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=x64 target_subarch=arm64 clang_xcode=1";
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_x86_64";
export GYP_CROSSCOMPILE=1;
pushd src;
gclient runhooks;
ninja -C out_ios_x86_64/Release-iphonesimulator iossim AppRTCDemo;
echo "*** creating iOS x86_64 libraries";
pushd out_ios_x86_64/Release-iphonesimulator/;
rm -f libapprtc_signaling.a;
popd;
mkdir -p out_ios_x86_64/libs;
libtool -static -o out_ios_x86_64/libs/libWebRTC-x86_64.a out_ios_x86_64/Release-iphonesimulator/lib*.a;
strip -S -x -o out_ios_x86_64/libs/libWebRTC.a -r out_ios_x86_64/libs/libWebRTC-x86_64.a;
echo "*** result: $PWD/out_ios_x86_64/libs/libWebRTC.a";
popd;
}
function build_iosdevice_armv7() {
echo "*** building WebRTC for armv7 iOS devices";
export GYP_GENERATORS="ninja";
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=armv7 clang_xcode=1";
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_armv7";
export GYP_CROSSCOMPILE=1;
pushd src;
gclient runhooks;
ninja -C out_ios_armv7/Release-iphoneos AppRTCDemo;
echo "*** creating iOS armv7 libraries";
pushd out_ios_armv7/Release-iphoneos/;
rm -f libapprtc_signaling.a;
popd;
mkdir -p out_ios_armv7/libs;
libtool -static -o out_ios_armv7/libs/libWebRTC-armv7.a out_ios_armv7/Release-iphoneos/lib*.a;
strip -S -x -o out_ios_armv7/libs/libWebRTC.a -r out_ios_armv7/libs/libWebRTC-armv7.a;
echo "*** result: $PWD/out_ios_armv7/libs/libWebRTC.a";
popd;
}
function build_iosdevice_arm64() {
echo "*** building WebRTC for arm64 iOS devices";
export GYP_GENERATORS="ninja";
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=arm64 target_subarch=arm64 clang_xcode=1";
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios_arm64";
export GYP_CROSSCOMPILE=1;
echo "src/webrtc/build/gyp_webrtc -Dclang_xcode=1"
pushd src;
gclient runhooks;
ninja -C out_ios_arm64/Release-iphoneos AppRTCDemo;
echo "*** creating iOS arm64 libraries";
pushd out_ios_arm64/Release-iphoneos/;
rm -f libapprtc_signaling.a;
popd;
mkdir -p out_ios_arm64/libs;
libtool -static -o out_ios_arm64/libs/libWebRTC-arm64.a out_ios_arm64/Release-iphoneos/lib*.a;
strip -S -x -o out_ios_arm64/libs/libWebRTC.a -r out_ios_arm64/libs/libWebRTC-arm64.a;
echo "*** result: $PWD/out_ios_arm64/libs/libWebRTC.a";
popd;
}
function combine_libs()
{
echo "*** combining libraries";
lipo -create src/out_ios_armv7/libs/libWebRTC.a \
src/out_ios_arm64/libs/libWebRTC.a \
-output libWebRTC.a;
echo "The public headers are located in $PWD/src/talk/app/webrtc/objc/public/*.h";
}
function combine_libs_sim()
{
echo "*** combining libraries";
lipo -create src/out_ios_ia32/libs/libWebRTC.a \
src/out_ios_x86_64/libs/libWebRTC.a \
-output libWebRTC_sim.a;
echo "The public headers are located in $PWD/src/talk/app/webrtc/objc/public/*.h";
}
function create_framework() {
echo "*** creating WebRTC.framework";
rm -rf WebRTC.framework;
mkdir -p WebRTC.framework/Versions/A/Headers;
cp ./src/talk/app/webrtc/objc/public/*.h WebRTC.framework/Versions/A/Headers;
cp libWebRTC.a WebRTC.framework/Versions/A/WebRTC;
pushd WebRTC.framework/Versions;
ln -sfh A Current;
popd;
pushd WebRTC.framework;
ln -sfh Versions/Current/Headers Headers;
ln -sfh Versions/Current/WebRTC WebRTC;
popd;
}
function clean()
{
echo "*** cleaning";
pushd src;
rm -rf out_ios_arm64;
rm -rf out_ios_armv7;
rm -rf out_ios_ia32;
rm -rf out_ios_x86_64;
popd;
echo "*** all cleaned";
}
function update()
{
gclient sync --force
pushd src
svn info | grep Revision > ../svn_rev.txt
popd
}
function build_all() {
build_iossim_ia32 && build_iossim_x86_64 && \
build_iosdevice_armv7 && build_iosdevice_arm64 && \
combine_libs && combine_libs_sim;
}
function build_os() {
build_iosdevice_armv7 combine_libs;
}
function run_simulator_ia32() {
echo "*** running webrtc appdemo on ia32 iOS simulator";
src/out_ios_ia32/Release-iphonesimulator/iossim src/out_ios_ia32/Release-iphonesimulator/AppRTCDemo.app;
}
function run_simulator_x86_64() {
echo "*** running webrtc appdemo on x86_64 iOS simulator";
src/out_ios_x86_64/Release-iphonesimulator/iossim -d 'iPhone 6' -s '8.4' src/out_ios_x86_64/Release-iphonesimulator/AppRTCDemo.app;
}
function run_on_device_armv7() {
echo "*** launching on armv7 iOS device";
ideviceinstaller -i src/out_ios_armv7/Release-iphoneos/AppRTCDemo.app;
echo "*** launch complete";
}
function run_on_device_arm64() {
echo "*** launching on arm64 iOS device";
ideviceinstaller -i src/out_ios_arm64/Release-iphoneos/AppRTCDemo.app;
echo "*** launch complete";
}
#運(yùn)行命令行參數(shù)中第一個(gè)參數(shù)所指定的Shell函數(shù)
$@
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站名稱:webrtcbuild.sh-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://sd-ha.com/article48/jjphp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、Google、微信小程序、電子商務(wù)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容