script changes for cross-compile and compliance with development guidelines

pull/3/head
PrajwalaNagaraj 2020-10-12 18:03:17 -04:00
parent 2247fe7123
commit 43b05bde41
4 changed files with 100 additions and 91 deletions

View File

@ -37,34 +37,28 @@ if [ "$build_type" == "debug" ]; then
$debug_flag = true;
fi
#download and install dependencies
python_version="python3"
psutil_version=5.6.3
sleekxmpp_version=1.3.3
requests_version=2.21.0
simplejson_version=3.16.0
ryu_version=4.30
sudo apt update -y
sudo apt install -y git make libssl-dev g++-5 $python_version $python_version-pip $python_version-dev openvswitch-switch iproute2 bridge-utils
sudo -H $python_version -m pip install --upgrade pip
sudo -H $python_version -m pip --no-cache-dir install psutil==$psutil_version sleekxmpp==$sleekxmpp_version requests==$requests_version simplejson==$simplejson_version ryu==$ryu_version
mkdir -p ~/workspace
cd ~/workspace
#mkdir -p ~/workspace
#cd ~/workspace
#assuming this script runs from a place a directory where all three -evio, tools,external exist
git clone https://github.com/EdgeVPNio/evio.git
if [[ "$target_os" == "ubuntu" ]]; then
git clone -b ubuntu-x64 --single-branch https://github.com/EdgeVPNio/external.git
git clone -b debian-x64 --single-branch https://github.com/EdgeVPNio/external.git
elif [[ "$target_os" == "ubuntu" ]]; then
git clone -b debian-arm --single-branch https://github.com/EdgeVPNio/external.git
fi
#Todo: add git clone cmd for different OS
git clone https://github.com/EdgeVPNio/tools.git
cd evio/tincan
export PATH=`pwd`/../tools/bin:$PATH
export PATH=`pwd`/../../tools/bin:$PATH
if [[ "$target_os" == "ubuntu" ]]; then
gn gen out/$build_type "--args='is_debug=$debug_flag target_sysroot_dir=\"/path/to/external/sysroot\"'"
gn gen out/debian-x64/$build_type "--args='is_debug=$debug_flag target_sysroot_dir=\"\'pwd\'/../../external\" use_debug_fission=false clang_base_path=\"\'pwd\'/../../tools/llvm/bin\""
ninja -C out/debian-x64/$build_type
else
gn gen out/$build_type "--args='target_os=\"linux\" target_cpu=\"arm\" is_debug=$debug_flag treat_warnings_as_errors=false use_lld=true target_sysroot_dir=\"/path/to/external/sysroot\" enable_iterator_debugging=false is_component_build=false is_debug=true rtc_build_wolfssl=true rtc_build_ssl=false rtc_ssl_root=\"/usr/local/include\"\'"
gn gen out/debian-arm/$build_type "--args='target_cpu=\"arm\" is_debug=$debug_flag use_lld=true target_sysroot_dir=\"\'pwd\'/../../external\" is_debug=$debug_flag clang_base_path=\"\'pwd\'/../../tools/llvm/bin\""
ninja -C out/debian-arm/$build_type
fi
ninja -C out/$build_type

View File

@ -41,9 +41,6 @@ if [ "$build_type" == "debug" ]; then
$debug_flag = true;
fi
#clang installation
sudo apt install clang
sudo apt-get install libc++-dev
mkdir -p ~/workspace/webrtc-checkout && cd ~/workspace/webrtc-checkout
#install Toolchain according to OS

View File

@ -32,54 +32,60 @@ elif [ "$target_os" != "ubuntu" ] && [ "$target_os" != "raspberry-pi" ]; then
helpFunction
fi
mkdir -p out/debian-x64/external/libs
if [[ "$target_os" == "ubuntu" ]]; then
platform="debian-x64"
elif [[ "$target_os" == "raspberry-pi" ]]; then
platform="debian-arm"
fi
mkdir -p out/$platform/external/libs
#getting the required .o files and .a files to 3rd party libs from webrtc-checkout
#build_type="$build_type"
llvm-ar -rcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_base/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_base_approved/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/p2p/rtc_p2p/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/logging/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_event/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/stringutils/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/timeutils/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/platform_thread_types/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/criticalsection/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/crypto/options/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/pc/rtc_pc_base/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/checks/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/synchronization/sequence_checker/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/synchronization/yield_policy/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtc_error/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/system_wrappers/metrics/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/system_wrappers/field_trial/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/logging/ice_log/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/experiments/field_trial_parser/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/transport/stun_types/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/libjingle_peerconnection_api/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/weak_ptr/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/network/sent_packet/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_numerics/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/third_party/base64/base64/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/task_queue/task_queue/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/system/file_wrapper/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/platform_thread/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtc_event_log/rtc_event_log/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtp_parameters/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/transport/media/media_transport_interface/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/call/rtp_receiver/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/modules/rtp_rtcp/rtp_rtcp_format/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/media/rtc_media_base/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/data_size/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/time_delta/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/data_rate/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/video/video_rtp_headers/*.o
llvm-ar -qcs out/debian-x64/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/pc/media_protocol_names/*.o
llvm-ar -rcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_base/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_base_approved/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/p2p/rtc_p2p/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/logging/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_event/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/stringutils/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/timeutils/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/platform_thread_types/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/criticalsection/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/crypto/options/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/pc/rtc_pc_base/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/checks/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/synchronization/sequence_checker/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/synchronization/yield_policy/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtc_error/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/system_wrappers/metrics/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/system_wrappers/field_trial/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/logging/ice_log/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/experiments/field_trial_parser/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/transport/stun_types/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/libjingle_peerconnection_api/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/weak_ptr/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/network/sent_packet/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/rtc_numerics/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/third_party/base64/base64/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/task_queue/task_queue/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/system/file_wrapper/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/rtc_base/platform_thread/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtc_event_log/rtc_event_log/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/rtp_parameters/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/transport/media/media_transport_interface/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/call/rtp_receiver/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/modules/rtp_rtcp/rtp_rtcp_format/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/media/rtc_media_base/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/data_size/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/time_delta/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/units/data_rate/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/api/video/video_rtp_headers/*.o
llvm-ar -qcs out/$platform/external/libs/libwebrtc_lite.a webrtc-checkout/src/out/$build_type/obj/pc/media_protocol_names/*.o
#archives from third-party directory
llvm-ar -rcs out/debian-x64/external/libs/libboringssl_asm.a webrtc-checkout/src/out/$build_type/obj/third_party/boringssl/boringssl_asm/*.o
llvm-ar -qcs out/debian-x64/external/libs/libjsoncxx.a webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_reader.o webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_value.o webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_writer.o
llvm-ar -rcs out/debian-x64/external/libs/libboringssl.a webrtc-checkout/src/out/$build_type/obj/third_party/boringssl/boringssl/*.o
llvm-ar -rcs out/debian-x64/external/libs/libprotobuf_lite.a webrtc-checkout/src/out/$build_type/obj/third_party/protobuf/protobuf_lite/*.o
llvm-ar -qcs out/debian-x64/external/libs/libabseil_cpp.a webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/strings/strings/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/base/throw_delegate/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/types/bad_optional_access/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/base/raw_logging_internal/*.o
llvm-ar -rcs out/debian-x64/external/libs/libsrtp.a webrtc-checkout/src/out/$build_type/obj/third_party/libsrtp/libsrtp/*.o
llvm-ar -rcs out/debian-x64/external/libs/libc++.a webrtc-checkout/src/out/$build_type/obj/buildtools/third_party/libc++/libc++/*.o
llvm-ar -rcs out/debian-x64/external/libs/libc++abi.a webrtc-checkout/src/out/$build_type/obj/buildtools/third_party/libc++abi/libc++abi/*.o
llvm-ar -rcs out/$platform/external/libs/libboringssl_asm.a webrtc-checkout/src/out/$build_type/obj/third_party/boringssl/boringssl_asm/*.o
llvm-ar -qcs out/$platform/external/libs/libjsoncxx.a webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_reader.o webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_value.o webrtc-checkout/src/out/$build_type/obj/third_party/jsoncpp/jsoncpp/json_writer.o
llvm-ar -rcs out/$platform/external/libs/libboringssl.a webrtc-checkout/src/out/$build_type/obj/third_party/boringssl/boringssl/*.o
llvm-ar -rcs out/$platform/external/libs/libprotobuf_lite.a webrtc-checkout/src/out/$build_type/obj/third_party/protobuf/protobuf_lite/*.o
llvm-ar -qcs out/$platform/external/libs/libabseil_cpp.a webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/strings/strings/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/base/throw_delegate/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/types/bad_optional_access/*.o webrtc-checkout/src/out/$build_type/obj/third_party/abseil-cpp/absl/base/raw_logging_internal/*.o
llvm-ar -rcs out/$platform/external/libs/libsrtp.a webrtc-checkout/src/out/$build_type/obj/third_party/libsrtp/libsrtp/*.o
llvm-ar -rcs out/$platform/external/libs/libc++.a webrtc-checkout/src/out/$build_type/obj/buildtools/third_party/libc++/libc++/*.o
llvm-ar -rcs out/$platform/external/libs/libc++abi.a webrtc-checkout/src/out/$build_type/obj/buildtools/third_party/libc++abi/libc++abi/*.o

View File

@ -31,28 +31,40 @@ elif [ "$target_os" != "ubuntu" ] && [ "$target_os" != "raspberry-pi" ]; then
helpFunction
fi
if [[ "$target_os" == "ubuntu" ]]; then
platform="debian-x64"
elif [[ "$target_os" == "raspberry-pi" ]]; then
platform="debian-arm"
fi
mkdir -p out/$platform/external/include
#getting the required include files and folders from webrtc-checkout
# folders required: absl,api,base,call,common_video,logging,media,modules,p2p,pc,system_wrappers,rtc_base,build,common_types.h, jni.h, logging_buildflags.h
mkdir -p external/include/webrtc
cp -r webrtc-checkout/src/third_party/abseil-cpp/absl external/include
cp -r webrtc-checkout/src/api external/include/webrtc
cp -r webrtc-checkout/src/base external/include/webrtc
cp -r webrtc-checkout/src/call external/include/webrtc
cp -r webrtc-checkout/src/common_video external/include/webrtc
cp -r webrtc-checkout/src/logging/rtc_event_log external/include/webrtc
cp -r webrtc-checkout/src/media external/include/webrtc
cp -r webrtc-checkout/src/modules external/include/webrtc
cp -r webrtc-checkout/src/p2p external/include/webrtc
cp -r webrtc-checkout/src/pc external/include/webrtc
cp -r webrtc-checkout/src/system_wrappers/include external/include/webrtc
cp -r webrtc-checkout/src/rtc_base external/include/webrtc
cp -r webrtc-checkout/src/third_party/jsoncpp/source/include/json external/include
cp webrtc-checkout/src/third_party/jsoncpp/generated/version.h external/include/json
cp webrtc-checkout/src/common_types.h external/include/webrtc
cp webrtc-checkout/src/third_party/ffmpeg/libavcodec/jni.h external/include/webrtc
mkdir -p external/include/libc++
mkdir -p external/include/libc++abi
cp -r webrtc-checkout/src/buildtools/third_party/libc++/trunk/include external/include/libc++
cp -r webrtc-checkout/src/buildtools/third_party/libc++abi/trunk/include external/include/libc++abi
# Script to be run at workspace containing webrtc-checkout
mkdir -p out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/third_party/abseil-cpp/absl out/$platform/external/include
cp -r webrtc-checkout/src/api out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/base out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/call out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/common_video out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/logging/rtc_event_log out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/media out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/modules out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/p2p out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/pc out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/system_wrappers out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/rtc_base out/$platform/external/include/webrtc
cp -r webrtc-checkout/src/third_party/jsoncpp/source/include/json out/$platform/external/include
cp webrtc-checkout/src/third_party/jsoncpp/generated/version.h out/$platform/external/include/json
cp webrtc-checkout/src/common_types.h out/$platform/external/include/webrtc
cp webrtc-checkout/src/third_party/ffmpeg/libavcodec/jni.h out/$platform/external/include/webrtc
mkdir -p out/$platform/external/include/libc++
mkdir -p out/$platform/external/include/libc++abi
cp -r webrtc-checkout/src/buildtools/third_party/libc++/trunk/include out/$platform/external/include/libc++
cp -r webrtc-checkout/src/buildtools/third_party/libc++abi/trunk/include out/$platform/external/include/libc++abi
#command to remove all files other than *.h
cd out/$platform/external/include
find . -type f ! -name '*.h' -delete
#mkdir -p /external/include/build && cp webrtc-checkout/src/build/build_config.h "$_"
#cp webrtc-checkout/src/build/buildflag.h /external/include/build
#cp webrtc-checkout/src/build/buildflag.h /external/include/build