This changes the way we pull in dependencies WebRTC shares with
Chromium. The base, build, tools and third_party directories from
Chromium are now synced as Git subtree mirrors in the DEPS file.
All symlinks to directories that were previously created by the
setup_links.py are replaced with proper DEPS entries.
One downside with this solution is that we get a lot of directories
in tools/ and third_party/ that we currently don't use. Going forward
it might be possible to improve this but as long as the BUILD.gn files
are stored in the Chromium repo rather at each dependency's repo,
this will be very cumbersome.
The DEPS file will be kept auto-rolled by the script in
https://chromium.googlesource.com/external/webrtc/+/master/tools-webrtc/autoroller/roll_deps.py
which is periodically executed by a bot.
This change brings back the Google Play Services download for Android,
which displays a license confirmation dialog to the user at the first sync.
By running it as a proper hook instead of inside sync_chromium.py, the
problems with that the interactive prompt gets hidden/stuck should be
fixed (now the behavior is identical to Chromium).
Some measurements on the size savings for a clean, newly created checkout:
Linux: 15GB -> 6.4GB (-8.6GB)
Linux (with Android): 25 GB -> 16 GB (-9GB). 8.4GB of this is Android SDK+NDK.
Mac (with iOS): 14 GB -> 5.6GB (-8.4GB)
Note that for all of the above, 1GB is occupied by the resources/ dir.
BUG=webrtc:5006, webrtc:5578
NOTRY=True
R=agable@chromium.org, henrika@webrtc.org, iannucci@chromium.org
Review-Url: https://codereview.webrtc.org/1414343008 .
Cr-Commit-Position: refs/heads/master@{#15754}
In addition to moving tools/mb -> tools-webrtc/mb, also
move webrtc/build/mb_config.pyl into tools-webrtc/mb
to match the default location better.
Remove Chromium-specific check for 'mb validate' that failed
due to doing this (we never cleaned that when we forked the code).
BUG=webrtc:5006
TBR=ehmaldonado@webrtc.org
NOTRY=True
TESTED=Manually ran:
tools-webrtc/mb/mb.py gen -m client.webrtc -b 'iOS64 Release' --config-file tools-webrtc/mb/mb_config.pyl //out/Release-iphoneos
tools-webrtc/mb/mb.py gen -m client.webrtc -b 'Mac64 Release' --config-file tools-webrtc/mb/mb_config.pyl //out/Release-mac
Review-Url: https://codereview.webrtc.org/2585743002 .
Cr-Commit-Position: refs/heads/master@{#15664}
The WebRTC valgrind wrapper scripts needs to be moved in order to
unlock us from depending on a Chromium checkout.
BUG=webrtc:5006
TBR=ehmaldonado@webrtc.org
NOTRY=True
Review-Url: https://codereview.webrtc.org/2578093002
Cr-Commit-Position: refs/heads/master@{#15662}
This check will throw a PRESUBMIT error if the author or
organization is not present in the AUTHORS file.
E-mail wildcard entries were also added to the organizations
in the AUTHORS file.
BUG=webrtc:6852
NOTRY=True
Review-Url: https://codereview.webrtc.org/2564613002
Cr-Commit-Position: refs/heads/master@{#15591}
This moves some GN check configurations out of .gn to individual targets.
The now checked target is:
"//webrtc/modules/audio_processing/*",
BUG=webrtc:6828
NOTRY=True
R=kjellander@webrtc.org
Review-Url: https://codereview.webrtc.org/2558813003
Cr-Commit-Position: refs/heads/master@{#15475}
The Bazel build format doesn't support having separate
lists of compilation flags for C and C++; it just has a single
copts list for cc_library:
https://bazel.build/versions/master/docs/be/c-cpp.html#cc_binary.copts
This makes it hard to convert our GN targets to Bazel when there are
compiler warnings that aren't supported for C (like -Woverloaded-virtual
being added in bugs.webrtc.org/6653).
The solution for this is to move all .c files to their own targets
and remove C++-only compiler flags during conversion.
New targets:
//webrtc/common_audio:common_audio_c
//webrtc/common_audio:common_audio_neon_c
//webrtc/modules/audio_coding:g711_c
//webrtc/modules/audio_coding:g722_c
//webrtc/modules/audio_coding:ilbc_c
//webrtc/modules/audio_coding:isac_c
//webrtc/modules/audio_coding:isac_fix_c
//webrtc/modules/audio_coding:isac_test_util
//webrtc/modules/audio_coding:pcm16b_c
//webrtc/modules/audio_coding:webrtc_opusj_c
//webrtc/modules/audio_device:mac_portaudio
//webrtc/modules/audio_procssing:audio_processing_c
//webrtc/modules/audio_procssing:audio_processing_neon_c
This CL also adds a PRESUBMIT.py check that will throw an error
if targets are mixing .c and .cc files, to preven this from regressing.
BUG=webrtc:6653
NOTRY=True
Review-Url: https://codereview.webrtc.org/2550563003
Cr-Commit-Position: refs/heads/master@{#15433}
git cl try will then trigger CQ dry run, achieving even better
result, because PRESUBMIT will be run as well.
TBR=tandrii@chromium.org
BUG=663320
NOTRY=True
Review-Url: https://codereview.webrtc.org/2489523003
Cr-Commit-Position: refs/heads/master@{#14976}
Also show a descriptive error message if BUG= field is missing.
BUG=webrtc:6326
NOTRY=True
TESTED=Verified the presubmit error using this very same CL (but with BUG= left empty).
Review-Url: https://codereview.webrtc.org/2322843003
Cr-Commit-Position: refs/heads/master@{#14291}
The previous blacklist would filter out all headers under /webrtc/sdk
and all headers in objc dirs. This adds a filter for files that end in
objc, for example `video_capture_objc.h`.
BUG=
NOTRY=true
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/2317023002 .
Cr-Commit-Position: refs/heads/master@{#14153}
- Check that no target references sources with paths above the GN file location.
- Chcek that no target depends on rtc_base.
BUG=webrtc:6294
NOTRY=True
Review-Url: https://codereview.webrtc.org/2304883002
Cr-Commit-Position: refs/heads/master@{#14046}
This should make it more clear what's supported and what's
only checked due to legacy code. No longer uses the word deprecated
since it may be confusing.
BUG=webrtc:5095
NOTRY=True
Review-Url: https://codereview.webrtc.org/1513483006
Cr-Commit-Position: refs/heads/master@{#13094}
It gives false positives when using the move operator
(confuses them with logical And operators).
See http://crbug.com/464813 for more details.
NOTRY=True
Review URL: https://codereview.webrtc.org/1917223003
Cr-Commit-Position: refs/heads/master@{#12525}
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.
BUG=
Review URL: https://codereview.webrtc.org/1903663002
Cr-Commit-Position: refs/heads/master@{#12524}
While a three-month deprecation period is appropriate for some API
changes, it's too much for others. Change the help text to reflect
this.
Review URL: https://codereview.webrtc.org/1865293002
Cr-Commit-Position: refs/heads/master@{#12280}
The PyLint was unnecessary slow due to some directories
that don't belong to our repo.
TESTED=Passing 'git cl presubmit' on Windows.
NOTRY=True
Review URL: https://codereview.webrtc.org/1858633002
Cr-Commit-Position: refs/heads/master@{#12217}
Now that DeviceManager and DeviceInfo are gone, this code is unused.
BUG=webrtc:5579
Review URL: https://codereview.webrtc.org/1715043002
Cr-Commit-Position: refs/heads/master@{#12040}
This allows other projects to more easily depend on this.
The plan is to move remote_bitrate_estimator and bitrate_controller into this module and reduce the exposed interface to only a simplified version of congestion_controller.h.
No functional changes in this CL.
R=mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1718473002 .
Cr-Commit-Position: refs/heads/master@{#11718}
This CL removes "build/c++11" from the cpplint filters. The same was
changed in "depot_tools" in https://codereview.chromium.org/1573663003/
From the other CL:
-----
The checks are not reliable for Rvalue references, and only are
allowing default/deleted constructors. They are based on the google3
internal rules which do not exactly match our own c++11 rules, and
may diverge more over time.
-----
NOTRY=True
Review URL: https://codereview.webrtc.org/1710293002
Cr-Commit-Position: refs/heads/master@{#11678}
The PRESUBMIT code is basically a stripped-down copy of the code in
Chromium's src/PRESUBMIT.py.
BUG=chromium:498746
TESTED=I verified with 'git cl presubmit' that the existing
error was found. Then I ran it again after fixing it, with
presubmit passing.
NOTRY=True
Review URL: https://codereview.webrtc.org/1682393002
Cr-Commit-Position: refs/heads/master@{#11572}
The webrtc/supplement.gypi contains a source listing of the
suppressions for TSan and LSan, which are located in source files.
It makes the presubmit fail when it's updated, which is confusing.
NOTRY=True
TESTED=Edited webrtc/supplement.gypi and ran "git cl presubmit" without an error.
Review URL: https://codereview.webrtc.org/1649423002
Cr-Commit-Position: refs/heads/master@{#11457}
webrtc/base is used in several places downstream so we need
to be careful when updating it as well. Add it as deprecated
to disencourage new projects starting to depend on it.
BUG=webrtc:5095
NOTRY=True
Review URL: https://codereview.webrtc.org/1497733002
Cr-Commit-Position: refs/heads/master@{#10892}
BUG=webrtc:5095
TESTED=Modified local header file, ensured only one directory matches it's path (since 'webrtc' is in the list).
Also tested that the _VerifyNativeApiHeadersListIsValid works by adding a path that doesn't exist to the list and verified it produces an error.
NOTRY=True
Review URL: https://codereview.webrtc.org/1408783008
Cr-Commit-Position: refs/heads/master@{#10878}