From 43b05bde416e364420ffda49a96fc2fe23f1ef31 Mon Sep 17 00:00:00 2001 From: PrajwalaNagaraj Date: Mon, 12 Oct 2020 18:03:17 -0400 Subject: [PATCH] script changes for cross-compile and compliance with development guidelines --- scripts/build_tincan.sh | 30 +++++------- scripts/build_webrtc.sh | 3 -- scripts/get_archives.sh | 102 +++++++++++++++++++++------------------- scripts/get_include.sh | 56 +++++++++++++--------- 4 files changed, 100 insertions(+), 91 deletions(-) diff --git a/scripts/build_tincan.sh b/scripts/build_tincan.sh index b258895..129ea91 100644 --- a/scripts/build_tincan.sh +++ b/scripts/build_tincan.sh @@ -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 \ No newline at end of file diff --git a/scripts/build_webrtc.sh b/scripts/build_webrtc.sh index e1e40d2..d4560b6 100644 --- a/scripts/build_webrtc.sh +++ b/scripts/build_webrtc.sh @@ -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 diff --git a/scripts/get_archives.sh b/scripts/get_archives.sh index aa59cd4..60fe960 100644 --- a/scripts/get_archives.sh +++ b/scripts/get_archives.sh @@ -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 \ No newline at end of file +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 diff --git a/scripts/get_include.sh b/scripts/get_include.sh index f02aee5..f8c2256 100644 --- a/scripts/get_include.sh +++ b/scripts/get_include.sh @@ -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 \ No newline at end of file +#cp webrtc-checkout/src/build/buildflag.h /external/include/build