The Android apps that were previously built with bash
commmands are now using Chromium build targets and no
longer produces output into the source tree. Thus such
Git ignore entries can be removed.
TESTED=Built for Android and verified no files showed up
when running 'git status'.
R=perkj@webrtc.org
Review URL: https://codereview.webrtc.org/1749543003 .
Cr-Commit-Position: refs/heads/master@{#11821}
I removed the 'libjingle' target in talk/libjingle.gyp and replaced
all users of it with base/base.gyp:rtc_base. It seems the jsoncpp
and expat dependencies were not used by it's previous references.
The files in talk/media/testdata were uploaded to Google Storage and
added .sha1 files in resources/media instead of simply moving them.
The previously disabled warnings that were inherited from
talk/build/common.gypi are now replaced by target-specific disabling
of only the failing warnings. Additional disabling was needed since the stricter
compilation warnings that applies to code in webrtc/.
License headers will be updated in a follow-up CL in order to not
break Git history.
Other modifications:
* Updated the header guards.
* Sorted the includes using chromium/src/tools/sort-headers.py
except for these files:
talk/app/webrtc/peerconnectionendtoend_unittest.cc
talk/app/webrtc/java/jni/androidmediadecoder_jni.cc
talk/app/webrtc/java/jni/androidmediaencoder_jni.cc
webrtc/media/devices/win32devicemanager.cc.
* Unused GYP reference to libjingle_tests_additional_deps was removed.
* Removed duplicated GYP entries of
webrtc/base/testutils.cc
webrtc/base/testutils.h
The HAVE_WEBRTC_VIDEO and HAVE_WEBRTC_VOICE defines were used by only talk/media,
so they were moved to the media.gyp.
I also checked that none of
EXPAT_RELATIVE_PATH,
FEATURE_ENABLE_VOICEMAIL,
GTEST_RELATIVE_PATH,
JSONCPP_RELATIVE_PATH,
LOGGING=1,
SRTP_RELATIVE_PATH,
FEATURE_ENABLE_SSL,
FEATURE_ENABLE_VOICEMAIL,
FEATURE_ENABLE_PSTN,
HAVE_SCTP,
HAVE_SRTP,
are used by the talk/media code.
For Chromium, the following changes will need to be applied to the roll CL that updates the
DEPS for WebRTC and libjingle: https://codereview.chromium.org/1604303002/
BUG=webrtc:5420
NOPRESUBMIT=True
TBR=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1587193006
Cr-Commit-Position: refs/heads/master@{#11495}
Change log: 6a04368..717238e
Full diff: 6a04368..717238e
Also add third_party/tcmalloc to the symlink list.
As per crrev.com/1611633003 host tools require tcmalloc.
No update to Clang.
BUG=chromium:580777
Review URL: https://codereview.webrtc.org/1629373002
Cr-Commit-Position: refs/heads/master@{#11369}
Fix creates a symlink tools/generate_stubs -> chromium/src/tools/generate_stubs which is used by ffmpeg on windows.
BUG=468365
NOTRY=True
Review URL: https://codereview.webrtc.org/1586083003
Cr-Commit-Position: refs/heads/master@{#11264}
Defining use_third_party_h264 directly, and indirectly defining use_openh264 (from third_party/openh264) and ffmpeg_branding (from third_party/ffmpeg).
These will be used in a follow-up CL that adds an encoder and decoder implementation.
The flags are added in this CL so that they can be used by trybots/waterfall bots in GN without "Build argument had no effect" errors. Equivalent GYP changes are also added.
BUG=468365
Review URL: https://codereview.webrtc.org/1575913003
Cr-Commit-Position: refs/heads/master@{#11204}
The JNI code for VoiceEngine is not maintained and VoiceEngine is being
refactored. This is not a supported Java interface, use AppRTCDemo as a
starting point instead.
Also renames webrtc/libjingle_examples.gyp webrtc/webrtc_examples.gyp to
replace the previous file (that only contained media_demo).
BUG=
R=henrika@webrtc.org, kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1439593002 .
Cr-Commit-Position: refs/heads/master@{#10599}
In https://codereview.webrtc.org/1430023005 all the code
references to ICU were removed. This actually removes the
library from being referenced.
TESTED=git cl try -c --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc
R=phoglund@webrtc.org
Review URL: https://codereview.webrtc.org/1417563006 .
Cr-Commit-Position: refs/heads/master@{#10584}
Xvfb is needed for the screen capture tests in modules_unittests,
which also brings in xdisplaycheck used by testing/xvfb.py.
libjingle_media_unittest was missing a resource video in the .isolate
file.
BUG=chromium:497757
R=stip@chromium.org
Review URL: https://codereview.webrtc.org/1415603005 .
Cr-Commit-Position: refs/heads/master@{#10365}
Landmines is a feature used in Chromium that makes it possible to
clobber the build output directory when needed. Example scenarios
are when compiler/tool/infrastructure changes require a full rebuild.
This is mainly to ease clobbering on all bots, but will also ensure
developers don't have to waste time on figuring out what's wrong
(or rely on reading PSA e-mails announcing when such manual action
is required).
This CL depends on https://codereview.chromium.org/1407733002/
being landed and rolled into DEPS first.
BUG=5077
R=kjellander@chromium.org, machenbach@chromium.org
Review URL: https://codereview.webrtc.org/1402923003 .
Cr-Commit-Position: refs/heads/master@{#10287}
It turns out that if a bot is interrupted during test execution,
the existence of this directory causes the next build to fail.
This usually happens when the Buildbot master is restarted.
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1376723002 .
Cr-Commit-Position: refs/heads/master@{#10105}
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).
Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).
Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/
Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).
Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS
Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh
BUG=481034, 535973
TBR=marpan@webrtc.org
Review URL: https://codereview.webrtc.org/1355083002
Cr-Commit-Position: refs/heads/master@{#10101}
This updates the isolate.gypi copies we have to maintain in our
code repo to Chromium's revision 310ea93.
The changes about generating .isolated.gen.json files are needed
to support running with Swarming (https://www.chromium.org/developers/testing/isolated-testing)
Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that's added to our links
script.
In order to use isolate_driver.py, the .isolate files must be in the
same directory as the test_name_run target is defined, which meant
I had to move around some of the isolate files and targets below
webrtc/modules.
BUG=497757
R=maruel@chromium.orgTBR=henrik.lundin@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org
TESTED=Clobbered trybots:
git cl try -c --bot=linux_compile_rel --bot=mac_compile_rel --bot=win_compile_rel --bot=android_compile_rel --bot=ios_rel -m tryserver.webrtc
Review URL: https://codereview.webrtc.org/1373513002 .
Cr-Commit-Position: refs/heads/master@{#10081}
Recent changes (https://codereview.chromium.org/1311013010) introduces a
dependency on WebKit (Blink) in Chromium, which forces us to start pulling
down that as well (+6GB). However Blink is about to be merged into the
Chromium repo soon anyway, so the size increase is inevitable.
Luckily, this can be removed in the next roll, if we roll past
http://crrev.com/348812
The ijar dependency was introduced in https://codereview.chromium.org/1323053003 (#347208)
Relevant changes:
* src/third_party/boringssl/src: 12fe1b2..ac8302a
* src/third_party/libvpx: a208eca..0304cef
* src/third_party/libyuv: 3c4f573..0bc626a
* src/tools/gyp: 6ee91ad..5d01a8c
Details: a28d8d5..5482f56/DEPS
Clang version was not updated in this roll.
R=torbjorng@webrtc.orgTBR=marpan@webrtc.org
BUG=webrtc:5005, chromium:530112
Review URL: https://codereview.webrtc.org/1305043008 .
Cr-Commit-Position: refs/heads/master@{#9956}
https://codereview.chromium.org/1051343002 adds a dependency
on Chromium's third_party/junit into base/ which affects our
Android tests that uses that code.
The precompiled JUnit 4.11 JAR file that is only by the
libjingle_peerconnection_java_unittest target on Linux has been
moved to third_party/junit-jar, since it collided with the expected
path for the JUnit dependency mentioned above.
It had to be kept since the Chromium JUnit is only possible to build
when OS==android.
This CL also brings in Mockito and Robolectric, which should be
useful for our Android tests.
Other relevant changes:
* src/buildtools: 3b302fe..15308f4
* src/third_party/libjpeg_turbo: 034e9a9..9e9058b
* src/third_party/libyuv: 32ad6e0..01db3d1
Details: a12e1e1..0cb2549/DEPS
Clang version was not updated in this roll.
BUG=4499
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48239004
Cr-Commit-Position: refs/heads/master@{#9113}
When Chromium decides to move conflicting dependencies
to the _bad_scm directory it is possible to end up with
problems when that directory gets added to the local index.
Ignoring it should avoid such problems.
R=hbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45969004
Cr-Commit-Position: refs/heads/master@{#8988}
We used to symlink the .gn file from Chromium but it's now
replaced by our own copy (needed for recent GN changes in
https://codereview.chromium.org/988563002).
Relevant changes:
* src/third_party/boringssl/src: e2e1326..40acdae
* src/third_party/icu: 46be516..10834e8
* src/third_party/nss: bb4e75a..d1edb68
* src/tools/gyp: d174d75..2889664
The entries for
* src/third_party/jsoncpp/source/include
* src/third_party/jsoncpp/source/src/lib_json
are removed and replaced by:
* src/third_party/jsoncpp/source @ab1e40f
(which doesn't matter for us since we symlink third_party/jsoncpp
Details: 5333e14..d8f8dc8/DEPS
Clang version was not updated in this roll.
R=henrika@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48919004
Cr-Commit-Position: refs/heads/master@{#8959}
This enables OpenSSL by default for Windows, see
8e72e1d..271c6cc/build/common.gypi
which required libjingle_tests.gyp to be updated since the
targets in third_party/nss/nss.gyp was moved into a condition in
https://codereview.chromium.org/694643002.
New Android dependencies are required due to being introduced in
build/android/pylib/remote/device/remote_device_test_run.py
of 5c49978f09
This should also fix Android test execution that started failing after
https://codereview.chromium.org/815213002 was submitted, since
it's based on e2a338fac9
Relevant other changes:
* src/buildtools: 535aff2..23a4e2f
* src/third_party/android_tools: 4f723e2..8fe116f
* src/third_party/boringssl/src: 00505ec..306e520
* src/third_party/icu: 53ecf0f..51c1a4c
* src/third_party/libvpx: 9fbec81..d3f3dce
* src/tools/swarming_client: 1d4965c..119b084
Details: 8e72e1d..271c6cc/DEPS
Clang version updated 218707:223108:
8e72e1d..271c6cc/tools/clang/scripts/update.sh
Due to this, we had to disable deadlock detection for TSan
due to a bug in Clang (see webrtc:
BUG=4106
R=pbos@webrtc.org, pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36459004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8003 4adac7df-926f-26a2-2b94-8c16560cd09d
This changes sync_chromium.py to download a full Chromium
checkout instead of one with no history. It has been noticed
that the download of the no-history checkout is very slow, even
when on high-speed internet connections, due to current limitations
in the Git backend serving these clones.
Switching to a full checkout is faster, but requires more bandwidth
and disk space.
To keep the old behavior, users must set the CHROMIUM_NO_HISTORY
environment variable to 1.
Using a full checkout also enables the use of the Chromium
infrastructure teams' Git cache functionality, that speeds up
the initial download and also heavily reduces the traffic when
setting up multiple checkouts on the same machine.
This is not enabled by default, but is supported if the user is
setting the cache_dir variable in his checkout's .gclient file to
point at a directory on local disk.
BUG=3882
TESTED=
* Ran gclient sync and verified chromium/src now contained a Git
repo with full history.
* Tested rolling chromium_revision in DEPS forward + sync.
* Tested rolling it back again + sync.
* Tested with an existing no-history checkout:
CHROMIUM_NO_HISTORY=1 gclient sync
No change was performed.
* Tested with a .gclient that had cache_dir configured.
* Verified error message is displayed when .gclient has cache_dir
configured and CHROMIUM_NO_HISTORY=1.
R=iannucci@chromium.org
Review URL: https://webrtc-codereview.appspot.com/22869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7506 4adac7df-926f-26a2-2b94-8c16560cd09d
Add third_party/instrumented_libraries to setup_links.py
Add tools/msan/blacklist.txt which is the default location used
by MSan.
These changes are prerequisites to be able to use MSan with WebRTC.
To use it, one must also run:
sudo third_party/instrumented_libraries/install-build-deps.sh
to get the instrumented libraries installed (requires
/etc/apt/sources.list to be setup with deb-src entries).
NOTICE: Compilation is not yet working, but with this we can setup
a FYI bot to work with.
BUG=chromium:416871
TESTED=gclient sync + generate projects using:
GYP_DEFINES='msan=1 use_instrumented_libraries=1 instrumented_libraries_jobs=20' webrtc/build/gyp_webrtc
Built successfully in Release and ran a couple of tests (some crashed, some passed).
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7352 4adac7df-926f-26a2-2b94-8c16560cd09d
Libvpx now supports GN and this CL turns on compiling it.
I also introduced an executable target 'webrtc_tests'
that depends on all in WeBRTC + tests in order to get a full
linking step executed (since we've seen link problems for GN
when rolling WebRTC into Chromium).
I also converted a few test targets and made a GN file for
third_party/gflags.
BUG=3441
TESTED=Trybots + full Chromium build with a symlinked src/third_party/webrtc
dir to a workspace wit this CL applied.
R=brettw@chromium.orgTBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/25569004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7344 4adac7df-926f-26a2-2b94-8c16560cd09d
Restructure how the Android APK tests are compiled now
that we have a Chromium checkout available (since r6938).
This removes the need of several hacks that were needed when
building these targets from inside a Chromium checkout.
By creating a symlink to Chromium's base we can compile the required
targets. This also removes the need of the previously precompiled
binaries we keep in /deps/tools/android at Google code.
All the user needs to do is to add the target_os = ["android"]
entry to his .gclient as described at
https://code.google.com/p/chromium/wiki/AndroidBuildInstructions
Before committing this CL, the Android APK buildbots will need
to be updated.
This also solves http://crbug.com/402594 since the apply_svn_patch.py
usage will be similar to the other standalone bots.
It also solves http://crbug.com/399297
BUG=chromium:399297, chromium:402594
TESTED=Locally compiled all APK targets by running:
GYP_DEFINES="OS=android include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release
checkdeps
R=henrike@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22149004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7014 4adac7df-926f-26a2-2b94-8c16560cd09d
WebRTC standalone shares a lot of dependencies and build
tools with Chromium. To make the build work, many of the
paths of a Chromium checkout is now emulated by creating
symlinks to files and directories.
All DEPS entries that previously used Var("chromium_trunk")
to reference a Chromium checkout or From("chromium_deps"..)
to reference the Chromium DEPS file are now removed and
replaced by symlink entries in setup_links.py.
The script also handles cleanup of the legacy
Subversion-based dependencies that's needed for the
transition.
Windows: One Windows-specific important change is that
gclient sync|runhooks must now be run from a shell
with Administrator privileges in order to be able to create
symlinks. This also means that Windows XP is no longer
supported.
To transition a previously created checkout:
Run "python setup_links.py --force" to cleanup the old
SVN-based dependencies that have been synced by gclient sync.
For Buildbots, the --force flag is automatically enabled for
their syncs.
BUG=2863, chromium:339647
TEST=Manual testing on Linux, Mac and Windows.
R=andrew@webrtc.org, iannucci@chromium.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18379005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6938 4adac7df-926f-26a2-2b94-8c16560cd09d