Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: third_party/ffmpeg/munge_config_optimizations.sh

Issue 300013: Add yasm and ffmpeg into the build tree for linux. (Closed)
Patch Set: Fix mark's comments. Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/ffmpeg/ffmpeg.gyp ('k') | third_party/ffmpeg/source/config/Chrome/linux/ia32/config.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/ffmpeg/munge_config_optimizations.sh
diff --git a/third_party/ffmpeg/munge_config_optimizations.sh b/third_party/ffmpeg/munge_config_optimizations.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f32edd87d960baa1686a4697034adea1c9dffdb4
--- /dev/null
+++ b/third_party/ffmpeg/munge_config_optimizations.sh
@@ -0,0 +1,30 @@
+# Copyright (c) 2009 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script munges the config.h to mark EBP unavailable so that the ffmpeg
+# library can be compiled as WITHOUT -fomit-frame-pointer allowing for
+# breakpad to work.
+#
+# Without this, building without -fomit-frame-pointer on ia32 will result in
+# the the inclusion of a number of inline assembly blocks that use too many
+# registers for its input/output operands. This will cause gcc to barf with:
+#
+# error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
+#
+# This modification should only be required on ia32, and not x64.
+#
+# Note that HAVE_EBX_AVAILABLE is another flag available in config.h. One would
+# think that setting this to 0 would allow for ffmpeg to be built with -fPIC.
+# However, not all the assembly blocks requiring 6 registers are excluded by
+# this flag.
+
+set -e
+
+sed -i.orig -e '
+/HAVE_EBP_AVAILABLE/ {
+c\
+#define HAVE_EBP_AVAILABLE 0
+}
+' \
+$1
« no previous file with comments | « third_party/ffmpeg/ffmpeg.gyp ('k') | third_party/ffmpeg/source/config/Chrome/linux/ia32/config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698