webrtcbuild.sh-创新互联

#!/bin/bash

创新互联公司是一家专注于网站建设、成都做网站与策划设计,牡丹网站建设哪家好?创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:牡丹等地区。牡丹做网站价格咨询:18980820575

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";

}

#运行命令行参数中第一个参数所指定的Shell函数

$@

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:webrtcbuild.sh-创新互联
本文URL:http://myzitong.com/article/jjphp.html