Commit Graph

8 Commits

Author SHA1 Message Date
kjellander@webrtc.org
4e4fe4f9ae Add support for MSan
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
2014-10-01 08:03:19 +00:00
kjellander@webrtc.org
b8caf6a504 GN: Enable libvpx, add link target and convert some test targets
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.org
TBR=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
2014-09-30 18:05:02 +00:00
kjellander@webrtc.org
8cad9432d5 Revert 7327 "Update isolate.gypi files + link to isolate_driver.py"
Breaks debug compilation (didn't run all trybots when testing this).

> Update isolate.gypi files + link to isolate_driver.py
> 
> This updates the isolate.gypi copies we're forced to
> maintain in our code repo to Chromium revision c264a05.
> 
> Since isolated testing is now using a new launch script
> in tools: isolate_driver.py, that is added to our links
> script.
> 
> BUG=395700
> TESTED=Ran one of our tests with:
> ninja -C out/Release tools_unittests_run
> tools/isolate_driver.py run --isolated out/Release/tools_unittests.isolated --isolate webrtc/tools/tools_unittests.isolate
> 
> R=henrika@webrtc.org, jam@chromium.org
> 
> Review URL: https://webrtc-codereview.appspot.com/26649004

TBR=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31509004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7328 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-30 08:44:00 +00:00
kjellander@webrtc.org
02cd3067d2 Update isolate.gypi files + link to isolate_driver.py
This updates the isolate.gypi copies we're forced to
maintain in our code repo to Chromium revision c264a05.

Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that is added to our links
script.

BUG=395700
TESTED=Ran one of our tests with:
ninja -C out/Release tools_unittests_run
tools/isolate_driver.py run --isolated out/Release/tools_unittests.isolated --isolate webrtc/tools/tools_unittests.isolate

R=henrika@webrtc.org, jam@chromium.org

Review URL: https://webrtc-codereview.appspot.com/26649004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7327 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-30 08:34:57 +00:00
kjellander@webrtc.org
e94f83a191 Cleanup .gclient_entries to avoid sync problems.
The .gclient_entries file is written after a successful
gclient sync operation and contains paths mapped to URLs for
all DEPS entries that have been synced.
This has been causing problems for users when switching from
the legacy Subversion based checkouts to the new DEPS approach
using a Chromium Git checkout combined with symlinks.

Also it has been discovered that when entries have been
removed from the Chromium DEPS file, subsequent gclient sync
operations fail when it's trying to process those directories.

This CL changes so that .gclient_entries is wiped for the WebRTC
checkout when moving from the legacy SVN to Git.
It also wipes the chromium/.gclient_entries file when a new Chromium
revision is about to be synced, to avoid problems when DEPS entries
have been removed.

BUG=415219
R=agable@chromium.org

Review URL: https://webrtc-codereview.appspot.com/28509004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7222 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 13:47:23 +00:00
kjellander@webrtc.org
3bd4156d75 Android APK tests built from a normal WebRTC checkout.
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
2014-09-01 11:06:37 +00:00
kjellander@webrtc.org
c23923447c Roll chromium_revision 289723:291647
To pick up recent fixes after the Chromium Git switch.

Relevant changes pulled in by this roll:
* r291168 refactor sanitizer_options (we can now remove some hacks)
* r291647 roll of nss.gyp (its paths work with how we build for iOS).

BUG=2863,3731
R=iannucci@chromium.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6967 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 14:16:32 +00:00
kjellander@webrtc.org
8925662318 Make WebRTC work with Chromium Git checkouts
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
2014-08-20 12:10:11 +00:00