Unfortunately needs to introduce yet another workaround
script for the Visual Studio toolchain download.
This will resolve the failures with our Dr Memory Full bot
(see https://code.google.com/p/chromium/issues/detail?id=366637#c2
for details). Long term, I'm considering a better approach
than using the added gclient solution pointing at
svn://svn-mirror.golo.chromium.org/chrome/trunk/deps/third_party/drmemory/drmemory.DEPS
i.e. add an entry that we roll separately in our DEPS file
instead. However, the Dr Memory team assured that changes
in their reporting format like this are rare.
Thanks fischman@ for the video_render.gypi fix!
Thanks kma@ for the transform_neon.S fix even if it turned out
not to be needed right now (probably will come back).
BUG=chromium:366637
TEST=git try -t compile
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13369007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6010 4adac7df-926f-26a2-2b94-8c16560cd09d
Having this override in the .gypi file avoids having to set it for the bots, which I think is best if we can avoid.
This CL also reverts r5869 so video_capture_tests are compiled for Android again.
BUG=2974,3152
TEST=Successfully ran:
git try -t compile
git try --bot=win_baremetal,mac_baremetal,linux_baremetal -t video_capture_tests
git try --bot=android_apk,android_apk_rel
Verified the change in webrtc/build/apk_tests.gyp makes the build compile successfully from a Chromium+WebRTC configured checkout for Android APK tests.
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5919 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done
(and then removed the talk/ impact)
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
Also enables running video_capture_tests_apk on the WebRTC/Chromium APK bots,
assuming GYP_DEFINES includes include_tests=1 and
include_internal_video_capture=1.
This required running VideoCaptureAndroid's camera capture on a dedicated thread, matching other platform's video_capture impls.
BUG=2974,3152
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11359004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5868 4adac7df-926f-26a2-2b94-8c16560cd09d
This disables GN use for the moment (Chromium
has disabled it for now but plan to pick up the
work at a later stage). I'm leaving the rest of
the GN stuff in our DEPS since that's how
the Chromium DEPS currently looks like.
Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 255773:260462
which can be compared with the output of:
$ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq
in a WebRTC checkout, gives the following relevant changes:
* third_party/android_tools 0582bd:ca3567
* third_party/icu 249466:259309
* third_party/libjpeg_turbo 251747:259851
* third_party/libyuv 979:986
* third_party/nss 254867:259440
* tools/gyp 1860:1880
The following also shows that Clang is upgraded from r198389 to r202554:
$ svn diff http://src.chromium.org/chrome/trunk/src/tools/clang/scripts/update.sh -r 255773:260462
TEST=trybots
BUG=None
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10679004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5822 4adac7df-926f-26a2-2b94-8c16560cd09d
Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 249215:255773
which can be compared with the output of:
$ grep chromium_deps DEPS
in a WebRTC checkout, gives the following relevant changes:
* third_party/icu 246118:249466
* third_party/libyuv 978:979
* third_party/libjpeg_turbo 239595:251747
* third_party/libsrtp 214783:250757
* third_party/nss 246067:254867
* tools/clang-format 198831:202065
* tools/gyp 1846:1860
Among a variety of updated DEPS, this enables us to use
the new automatic download of Chromium's stripped down
Visual Studio 2013 toolchain on Windows.
For Windows, Visual Studio 2013 is also the default compiler
in Chrome. This CL sets the GYP_MSVS_VERSION to 2010 unless
otherwise specified. Doing that we can first fix our 2013 problems
before we move over to having 2013 by default.
The plan is to build 2013 at the WebRTC FYI waterfall at
http://build.chromium.org/p/client.webrtc.fyi/waterfall
to ensure we can support VS2013 before the switch.
I realized we can sync Chromium's find_depot_tools.py script
into it's own folder and just alter the PYTHONPATH for the
gyp_webrtc script. That way there's no need to have the dummy
module in webrtc/build anymore. The real script is also needed
for the logic that handles checking VS2013 and downloading it if
not found.
BUG=chromium:340973
TEST=All trybots passing runhooks and compile step.
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5667 4adac7df-926f-26a2-2b94-8c16560cd09d
As a by-product, a generic tool for testing and comparing the complexity of codecs is added, and new audio files are added to the resources.
Three complexity tests are included
1. Default Opus complexity
2. Opus complexity knob
3. Default iSAC complexity (to compare with Opus)
The complexity tests are only meant for development reasons
and not to be run at bots.
The .isolate file is only needed for the APK packaging and test execution on Android.
TEST=passes all trybots
BUG=
R=kjellander@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5655 4adac7df-926f-26a2-2b94-8c16560cd09d
The name "libwebrtc.a" was conflicting with the newish webrtc target,
resulting in this error:
$ ./webrtc/build/gyp_webrtc merged_lib.gyp
$ ninja -C out/Debug
ninja: warning: multiple rules generate libwebrtc.a. builds involving
this target will not be correct; continuing anyway
ninja: error: dependency cycle: no_op -> libwebrtc.a -> no_op
BUG=b/12955740
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8409005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5528 4adac7df-926f-26a2-2b94-8c16560cd09d
The find_depot_tools.py is needed to workaround the import
error we get from gyp_chromium when importing it in
webrtc/build/gyp_webrtc (to avoid code duplication).
gyp_chromium introduced a dependency on it in
http://crrev.com/245412 but as we cannot sync all of Chrome's
src/tools (it's quite big), we'll work around this by
adding an empty find_depot_tools module.
The removal of the Cygwin relates to
http://crrev.com/248802 which is a step on the way to remove
Cygwin in Chromium. We seem to already be able to remove it
entirely for WebRTC though.
Changes in the isolate framework required us to update our
copies of the isolate.gypi files.
BUG=none
TEST=trybots passing on all platforms
R=andrew@webrtc.org, fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8099004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5512 4adac7df-926f-26a2-2b94-8c16560cd09d
The reason for this is that http://crrev.com/245412
introduces a dependency of Chrome's src/build/gyp_chromium
to src/tools/find_depot_tools.py, which we don't have
synced in WebRTC (src/tools is very big).
Offline discussions shows that we cannot rely on syncing
individual subdirectories from Chrome in the future, but
maintaining our own gyp_webrtc file will at least buy us
some time for now, so we can roll past that chromium_revision
in WebRTC DEPS.
Overview of differences between gyp_webrtc and gyp_chromium
(and how we previously used gyp_chromium):
* No .gyp file needs to be passed (defaults to all.gyp)
* CHROMIUM_GYP_FILE is ignored (i.e. cannot be used to
specify an alternate .gyp file to process)
* Ninja is used by default on all platforms unless GYP_GENERATORS
is set.
* Gyp syntax check is always on
* Gyp circular dependency check is always on
* No support for automatic toolchain detection on Windows.
* --depth argument is no longer needed since calculated by
the script.
* Support for a webrtc.gyp_env file sitting next to the
.gclient file in the top dir of checkout, which can be
used to override Gyp variables similar to chromium.gyp_env.
* SKIP_WEBRTC_GYP_ENV can be set to skip reading webrtc.gyp_env.
BUG=2863
TEST=Ran and verified behavior on Linux with:
gclient runhooks
webrtc/build/gyp_webrtc
webrtc/build/gyp_webrtc -Dextra_gyp_flag=0
. build/android/envsetup.sh && gclient runhooks
SKIP_WEBRTC_GYP_ENV=1 webrtc/build/gyp_webrtc
GYP_GENERATORS=make webrtc/build/gyp_webrtc
The patch also passes runhooks and compile step on all trybots.
R=andrew@webrtc.org, fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7759004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5467 4adac7df-926f-26a2-2b94-8c16560cd09d
This will enable some low-level webrtc logging in a Chromium build,
while limiting the binary size impact.
For a Mac Release build, it results in an increase to Chrome.app of 37k
and libpeerconnection.so of 25k. For comparison, enabling full logs
costs 230k and 218k respectively.
BUG=b/11470432
TESTED=voe_cmd_test produces logs of the appropriate severity.
R=fischman@webrtc.org, henrikg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3479004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5097 4adac7df-926f-26a2-2b94-8c16560cd09d
In r4966 this was disabled on Linux for WebRTC code in order to detect any new unused const variables.
This CL does the same for Mac.
BUG=none
TEST=added an unused const and verified compilation fails
when this patch is applied. Mac trybots passing as well.
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2459004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4997 4adac7df-926f-26a2-2b94-8c16560cd09d
Recent changes in GYP seem to have broken our previous
"hack" for getting the GYP rule for .isolate files
imported from the Chromium build/isolate.gypi.
The best solution for now is to remove the hack
and check in a copy of Chromium's src/build/isolate.gypi
in WebRTC's build/ dir instead. A similar approach is
used for our build/protoc.gypi file.
TEST=On Linux, I successfully ran:
gclient runhooks
ninja -C out/Release
and verified a bunch of .isolated files were created in
out/Release (which didn't happen before this patch).
I also renamed the build/isolate.gypi from Chromium to
ensure that our own is used and not that one (in case any
paths would be incorrect).
I also ran build/gyp_chromium in a Chromium checkout
with WebRTC in third_party/webrtc having this patch applied
to ensure GYP processing was still working.
Finally, I verified that the same project generation and
compilation from a Chromium checkout worked the way we build
our Android native tests, using:
. build/android/envsetup.sh
GYP_DEFINES="$GYP_DEFINES include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release android_builder_webrtc
BUG=1916
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2338004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4907 4adac7df-926f-26a2-2b94-8c16560cd09d