142 Commits

Author SHA1 Message Date
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
e34a2e7475 Revert "Set minimum SDK level to 10.7 for Mac and iOS" (r7175)
Reverting this since it didn't fix the build failures.
We ended up passing mac_sdk=10.9 in GYP_DEFINES on the bots
to to make the build pass again
(https://codereview.chromium.org/573673002).

BUG=3120
R=mcasas@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7275 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-23 12:43:14 +00:00
andresp@webrtc.org
ab071daab8 Split video_render_module implementation into default and internal implementation.
Targets must now link with implementation of their choice instead of at "gyp"-time.

Targets linking with libjingle_media:
- internal implementation when build_with_chromium=0, default otherwise.

Targets linking with default render implementation:
- video_engine_tests
- video_loopback
- video_replay
- anything dependent on webrtc_test_common

Targets linking with internal render implementation:
- vie_auto_test
- video_render_tests
- libwebrtcdemo-jni
- video_engine_core_unittests

GN changes:
- Not many since there is almost no test definitions.

Work-around for chromium:
- Until chromium has updated libpeerconnection to link with video_capture_impl and video_render_impl, webrtc target automatically depends on it. This should fix the FYI bots and not require a webrtc roll to fix.

Re-enable android tests by reverting 7026 (some tests left disabled).

TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.
BUG=3770
R=kjellander@webrtc.org, pbos@webrtc.org
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7217 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 08:58:15 +00:00
andresp@webrtc.org
a74eda1b6f Split video_capture_module specific implementation (external vs internal capture)
into its own targets. Dependencies must link directly with the desired one.

Targets linking with libjingle_media:
 - internal implementation when build_with_chromium=0, default otherwise.

Targets linking with default/external capture implementation:
 - anything dependent on webrtc_test_common
 - anything dependent on video_engine_core

Targets linking with internal capture implementation:
 - vie_auto_test
 - anything dependent on webrtc_test_renderer

GN changes:
 - Not many since there is almost no test definitions.

TESTED: passes all the bots. If this inadvertently breaks a target please fix the linking rules so the target has the desired implementation linked in.

BUG=3768
R=glaznev@webrtc.org
TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7209 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 11:50:19 +00:00
andrew@webrtc.org
7351d4d698 Add a gyp target for producing a voice engine merged library.
This is based on webrtc/build/merge_libs.gyp, with a dependency on
voice_engine.gyp instead and suitable name changes.

Executing:
$ rm -rf out/
$ ./webrtc/build/gyp_webrtc -Denable_video=0 -Denable_protobuf=0
-Drelease_optimize=s webrtc/build/merge_libs_voice.gyp
$ ninja -C out/Release merged_lib_voice

results in a minimially sized voice engine lib at:
out/Release/librtc_voice_merged.a

Linux: 6.4 MB
Mac: 3.7 MB

R=braveyao@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7199 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-16 18:48:53 +00:00
kjellander@webrtc.org
192ab710ce Set minimum SDK level to 10.7 for Mac and iOS.
This is needed since r7174 introduced a dependency
on AVFoundation, which is not present in the 10.6 SDK which is
still the default for Chromium.

BUG=
TESTED=Passing compile on trybots.
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7175 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-15 08:02:43 +00:00
pbos@webrtc.org
b9906743da Split suppressons of thread.cc and messagequeue.cc.
Most calls have either of these in the stack, meaning that pretty much
all races are suppressed.

BUG=
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7154 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 14:59:06 +00:00
tpsiaki@google.com
67eabc0938 Add schannel webrtc_base build using a new use_schannel gyp variable.
R=henrike@webrtc.org, thorcarpenter@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7141 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-10 18:06:47 +00:00
kjellander@webrtc.org
6d08ca6379 GN: Prefix WebRTC specific variables with "rtc_"
BUG=3441
TESTED=Trybots + Running GN in a Chromium checkout with
src/third_party/webrtc symlinked to the WebRTC checkout
with this CL applied, both with the default GN settings
and using: --args="os=\"android\" cpu_arch=\"arm\""

R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7095 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 17:36:10 +00:00
kjellander@webrtc.org
0372b93118 Partial revert of r7014 (Android APK refactor)
This reverts selected parts of r7014 to enable
rolling WebRTC in Chromium DEPS.

This works around the problem with GYP includes
being processed in the first pass (i.e. variables
cannot be used for paths). Using a dependency with
a path using a variable that is conditioned for
build_with_chromium being 0 or 1 solves the Chromium
build.

These changes will be restored once I've finished
a major GYP refactoring that will break out all
test related code (at least the parts that includes
the Android APK targets) into a separate chain
of GYP targets that are not processed when generating
projects for Chromium (which is why r7014 is breaking
the Chromium build).

BUG=3741
TESTED=Passing compilation of standalone using:
GYP_DEFINES="OS=android component=static_library fastbuild=1 target_arch=arm" webrtc/build/gyp_webrtc
ninja -C out/Debug
Then verified the *_apk  targets are generated and compiled.

Passing compilation from a Chromium checkout with third_party/webrtc
directory removed and a new empty third_party/webrtc mapped to the
standalone checkout using:
sudo mount --bind /path/to/trunk/webrtc third_party/webrtc
Then running build/gyp_chromium
I also verified WebRTC GYP targets exist and are able to compile.

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7040 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 14:34:46 +00:00
henrike@webrtc.org
d72a7599d4 Create a copy of talk/xmllite under webrtc/xmllite.
BUG=3379
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7027 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-02 15:41:12 +00:00
kjellander@webrtc.org
e281f7fba3 GN: Update webrtc/base to recent GYP changes.
Update the webrtc/base/BUILD.gn file to reflect
webrtc/base/base.gyp changes between r6438 and r7011.

BUG=3441
TESTED= Trybots + compilation with a standalone WebRTC checkout:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default

Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""

R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7022 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-02 11:22:06 +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
524b8f7304 GN: Implement voice engine, common audio, audio coding and audio processing
NOTICE: Assembly offsets generation for audio processing will
not be ported to GN and the process of removing them is tracked
in https://code.google.com/p/webrtc/issues/detail?id=3580.

The GN files are based upon the GYP files as of r7009.

BUG=3441
TESTED=Passing builds with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_debug_dump=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_untrusted_delay_for_testing=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false prefer_fixed_point=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default

I don't know how to setup the mips toolchain to test the following, but it's out of scope for the GN effort for now:
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=0" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=1" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=2" && ninja -C out/Default

Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""

R=andrew@webrtc.org, brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7012 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-31 20:32:53 +00:00
andrew@webrtc.org
af7fdfcde8 Add LTO support for Android Chromium.
This is to add support for a Link-Time Optimizations experiment in Android Chromium. As it is disabled by default, it won't change anything for most configurations.
BUG=chromium:407544
R=andrew@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7009 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-29 17:41:13 +00:00
kjellander@webrtc.org
788f0581c7 GN: Implement video_engine, video_capture and video_render.
Also add more from common.gypi to webrtc.gni.

These GN configs are based on GYP files in r6997.

BUG=3441
TEST=Trybots and local compile using:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default

Passed compile from a Chromium checkout with src/third_party/webrtc linked to the webrtc/ dir of a checkout with this patch applied.

R=brettw@chromium.org, glaznev@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6999 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-28 13:51:08 +00:00
henrike@webrtc.org
66a3582170 Create a copy of talk/sound under webrtc/sound.
BUG=3379
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6986 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 22:04:04 +00:00
pbos@webrtc.org
c9b3f77e65 Fix data races in VideoAdapterTest.
Adressing clear races between the test thread and capturer thread shown
as heap-use-after-free in vpx_codec_destroy in
WebRtcVideoMediaChannelTest.SetSend (way later in the rest run).

When capturing a frame the test copied it to a separate frame that would
then be read by the test without synchronization, if the test didn't
manage to examine the frame in between captures the adapted frame would
be overwritten by the following frame during accesses to it.

The actual races are suppressed by race:webrtc/base/messagequeue.cc and
race:webrtc/base/thread.cc. These fixes reduce the suppression count
locally from around 3000 to 30 for VideoAdapterTest.*.

Also removing tsan suppressions for talk/base as it's been moved to
webrtc/base.

R=tommi@webrtc.org
BUG=3671

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6979 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 12:33:18 +00:00
kjellander@webrtc.org
b96ea2aab5 Remove former team members from OWNERS and WATCHLISTS
Remove the following (CCed) former team members from all
OWNERS files and the WATCHLISTS file:
* fischman@
* leozwang@
* mikhal@
* pwestin@
* wu@

BUG=
R=henrike@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6973 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 06:12:08 +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
henrik.lundin@webrtc.org
3fb2d0cd0e Add TSAN suppression for heap-use-after-free in libvpx
BUG=3671
R=kjellander@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6937 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-20 11:07:29 +00:00
henrike@webrtc.org
1e7d60e451 merge_libs.py: fixes Windows breakage: there should be no space after "lib /OUT:".
TBR=andrew@webrtc.org
BUG=b/15773179

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6793 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 04:45:23 +00:00
henrike@webrtc.org
c7b8f39e2e Fixes "argument list too long" problem on Linux by using the "find" command instead of re-implementing one in python.
R=pbos@webrtc.org
TBR=andrew@webrtc.org
BUG=b/15773179

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6782 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-25 18:36:55 +00:00
stefan@webrtc.org
168f23faa5 Move pacer to fully use webrtc::Clock instead of webrtc::TickTime.
This required rewriting the send-side delay stats api to be callback based, as otherwise the SuspendBelowMinBitrate test started flaking much more frequently since it had lock order inversion problems.

R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:44:02 +00:00
andresp@webrtc.org
7ae9108b60 Remove more unused tsan suppressions and fix call test passing the same decoder to multiple received streams.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6651 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 10:35:12 +00:00
andresp@webrtc.org
045a9b17da Remove unnecessary race suppressions copied from chromium.
And added suppressions to allow to run tests with gtest_parallel in which case some new races were showing up.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6635 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 11:44:34 +00:00
andresp@webrtc.org
33d110d8ea Tight data race suppressions around thread_posix.
BUG=3372,3549
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 10:36:39 +00:00
andresp@webrtc.org
285e9bc84d Fix potential deadlock in webrtc/system_wrappers/source/logging_unittest.cc.
crit_ should not be held while calling Trace.

BUG=3003
R=henrike@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6616 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:27:33 +00:00
stefan@webrtc.org
73823cafa4 Add initial gn build files for video_coding and video_processing.
BUG=
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6611 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 11:46:43 +00:00
kjellander@webrtc.org
11bea8977e GN: Implement BUILD.gn for common_video.
This adds copying of Chromium's third_party/BUILD.gn
to acommondate libyuv's BUILD.gn that imports the 'jpeg'
config from that file.

BUG=3441
TEST=trybots + local compile passing with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false build_libyuv=false" && ninja -C out/Default

R=niklas.enbom@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6595 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 17:04:12 +00:00
andresp@webrtc.org
33586c83b1 Make deadlock suppressions less generic.
Previously they were enabled on all webrtc and talk primitives directly when TSAN config changed to enable deadlock detections.

BUG=3509
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6583 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-02 14:19:05 +00:00
kjellander@webrtc.org
767d98ebff TSan: Move suppressions to source file.
Chromium has deprecated text-file based suppressions for
TSan (v2) and is about to remove the support for it in the
test toolchain in https://codereview.chromium.org/357673002/

This CL moves our suppressions to a source file (based on the
Chromium copy).
It also moves the sanitizer_options.gyp into webrtc/build.

BUG=chromium:302040
TEST=Locally executing all the standalone tests under TSan v2.
R=niklas.enbom@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6552 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-27 09:18:51 +00:00
kjellander@webrtc.org
78f440c5e7 GN: BUILD.gn for system_wrappers
Also cleaned up some unneeded stuff from webrtc/base/BUILD.gn

BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default

I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc

R=brettw@chromium.org
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6515 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-21 14:25:16 +00:00
henrike@webrtc.org
a685c9df62 base: Renaming + conforming: post commit review changes for https://webrtc-codereview.appspot.com/17699005/
BUG=N/A
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6467 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 14:48:44 +00:00
kjellander@webrtc.org
851a09e71a Initial GN work for WebRTC
This CL makes it possible to build the 'webrtc_base'
target using GN.
The majority of our GYP stuff in webrtc/build/common.gypi has been
translated into the configs of webrtc/BUILD.gn.
The webrtc/base/base.gyp file is translated into webrtc/base/BUILD.gn.

This CL depends on https://codereview.chromium.org/322373002/ for the
jsoncpp BUILD.gn file and the ssl config.
To build inside Chromium, https://codereview.chromium.org/321313006/
needs to be landed first.

BUG=webrtc:3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true" && ninja -C out/Default
I also ran:
gn gen out/Default --args="build_with_chromium=false have_dbus_glib=true"
but it fails to compile: something is probably wrong with with pkg-config for that.

For Chromium, I symlinked src/third_party/webrtc to the webrtc subfolder of the
WebRTC checkout and applied the following patches:
https://codereview.chromium.org/322373002 (for jsoncpp and ssl config)
https://codereview.chromium.org/321313006 (enable building WebRTC)
Then I built successfully using:
gn gen out/Default && ninja -C out/Default webrtc_base

R=brettw@chromium.org
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6461 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 08:54:03 +00:00
henrike@webrtc.org
9f36c087f1 Makes it possible to prevent some third party libraries (jsoncpp and openssl) from being linked. This makes it possible to link webrtc with external implementations of those libraries in case the project depending on webrtc requires another version of those libraries.
BUG=3379
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6455 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 21:35:20 +00:00
kjellander@webrtc.org
a1bfc50a72 Pass GYP DEPTH variable to isolate.
Similar change to https://codereview.chromium.org/322403003/
This will make it possible to handle different
directory levels for special builds of WebRTC, without
breaking GYP when the .isolate files are processed and
their contents is verified.

Also update all our .isolate files to use the <(DEPTH)
variable.

BUG=343106
TEST=Successful compile+test on Linux using:
ninja -C out/Release
tools/swarming_client/isolate.py run -s out/Release/tools_unittests.isolated
Also trybots passing all tests.

R=pbos@webrtc.org
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6427 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 09:02:15 +00:00
solenberg@webrtc.org
c6db88b0cf Make it possible to build webrtc for arm64.
- Bump revision of protobuf lib
- Remove -Wextra for arm64 gcc targets (warnings in stlport)
- Add MemoryBarrier implementation in single_rw_fifo.cc.
- [pending 15619004]: Bump revision of /deps/tools/android to get md5sum_bin for arm64.

BUG=chromium:354405,chromium:354539
R=andrew@webrtc.org, fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6330 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 17:15:42 +00:00
henrike@webrtc.org
bf58a75dd9 removed webrtc_base_tests_utils from merge libs as it was breaking some builds.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6177 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 21:45:09 +00:00
henrike@webrtc.org
f048872e91 Adds a modified copy of talk/base to webrtc/base. It is the first step in
migrating talk/base to webrtc/base.

BUG=N/A
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6129 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 18:00:26 +00:00
perkj@webrtc.org
e9a604accd Revert 6107 "Adds a modified copy of talk/base to webrtc/base. I..."
This breaks Chromium FYI builds and prevent roll of webrtc/libjingle to Chrome.

http://chromegw.corp.google.com/i/chromium.webrtc.fyi/builders/Win%20Builder/builds/457


> Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.
> 
> BUG=N/A
> R=andrew@webrtc.org, wu@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/12199004

TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6116 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 08:15:48 +00:00
henrike@webrtc.org
2c7d1b39b9 Adds a modified copy of talk/base to webrtc/base. It is the first step in migrating talk/base to webrtc/base.
BUG=N/A
R=andrew@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6107 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 18:03:09 +00:00
henrik.lundin@webrtc.org
060b84b3bb Remove neteq_unittests from Android builds
BUG=2996
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6011 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 09:49:51 +00:00
kjellander@webrtc.org
59343ee3d8 Roll chromium_revision 260462:266514
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
2014-04-29 09:36:40 +00:00
andrew@webrtc.org
1152fe2247 Only download the VS toolchain if DEPOT_TOOLS_WIN_TOOLCHAIN=1.
BUG=b/13171670
R=fbarchard@google.com, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5999 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 15:46:32 +00:00
kjellander@webrtc.org
c18729165a Set include_internal_video_capture=1 for video_capture_tests
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
2014-04-16 12:59:49 +00:00
fischman@webrtc.org
2c89b5cb27 Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
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
2014-04-14 20:08:03 +00:00
fischman@webrtc.org
2e9d89cf77 Unbreak android APK buildbots by emptying the video_capture_tests_apk target.
Needed until the bots start to specify include_internal_video_capture=1.

TBR=henrike@webrtc.org
BUG=3152

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5869 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 02:34:50 +00:00
fischman@webrtc.org
b0b135e4c2 VideoCaptureAndroid: support multiple frame-rates per resolution.
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
2014-04-09 01:18:32 +00:00