Setting ffmpeg_branding = "Chrome" is what causes a compilation error
(see [1], where h264_cabac.c is included):
../../third_party/ffmpeg/libavcodec/x86/cabac.h:193:9: error: inline assembly requires more registers than available
BRANCHLESS_GET_CABAC("%0", "%q0", "(%4)", "%1", "%w1",
[...]
See: https://build.chromium.org/p/tryserver.webrtc/builders/linux32_dbg/builds/50.
Also, from the compililation error, this might be a bug on clang?
...
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
...
[1] https://cs.chromium.org/chromium/src/third_party/ffmpeg/ffmpeg_generated.gni?l=222
Bug: webrtc:7413
No-Try: true
Change-Id: I5c785d8f6f61c72a5e7665367023fec017b18d3e
Reviewed-on: https://webrtc-review.googlesource.com/37360
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21489}
MB - The Meta-Build wrapper
MB is a simple wrapper intended to provide a uniform interface to either GYP or GN, such that users and bots can call one script and not need to worry about whether a given bot is meant to use GN or GYP.
It supports two main functions:
-
"gen" - the main
gyp_chromium/gn geninvocation that generates the Ninja files needed for the build. -
"analyze" - the step that takes a list of modified files and a list of desired targets and reports which targets will need to be rebuilt.
We also use MB as a forcing function to collect all of the different
build configurations that we actually support for Chromium builds into
one place, in //tools/mb/mb_config.pyl.
For more information, see: