blob: f32edd87d960baa1686a4697034adea1c9dffdb4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
|