summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2014-04-18 09:51:02 +0200
committerEdward Hervey <bilboed@bilboed.com>2014-04-18 11:05:34 +0200
commit3341917da6b8de30f313a6896d87ed3144bfb743 (patch)
tree8755254edcfccaa2fb616756d68c7343088800ec
parenta509c3a36b65db9dbb0d1c1b2d4daeed1bc9737f (diff)
x264: Disable ASM optimisations with clang x86-32bit
https://bugzilla.gnome.org/show_bug.cgi?id=727079
-rw-r--r--recipes/x264.recipe13
1 files changed, 12 insertions, 1 deletions
diff --git a/recipes/x264.recipe b/recipes/x264.recipe
index 967515d9..7fd9ccef 100644
--- a/recipes/x264.recipe
+++ b/recipes/x264.recipe
@@ -20,24 +20,35 @@ class Recipe(recipe.Recipe):
'include/x264_config.h']
def prepare(self):
+ # clang x86-32 fails at generating proper asm PIC code
+ # See bug https://bugzilla.gnome.org/show_bug.cgi?id=727079
+ enable_asm = True
+
arch = self.config.target_arch
if self.config.target_arch == Architecture.X86:
arch = 'i686'
if self.config.target_platform == Platform.DARWIN:
if self.config.target_arch == Architecture.X86:
self.new_env = {'AS': 'yasm -O2 -f macho -DPREFIX'}
+ enable_asm = False
if self.config.target_platform == Platform.WINDOWS:
self.configure_options += ' --enable-win32thread'
self.configure_options += ' --host=%s-pc-%s' % (arch, self.config.target_platform)
if self.config.target_platform == Platform.ANDROID:
if self.config.target_arch == Architecture.ARM:
- self.configure_options += ' --disable-asm'
+ # FIXME : Is disabling asm on ARM (< v7) still needed ?
+ enable_asm = False
if self.config.target_arch == Architecture.ARMv7:
self.new_env = {'AS': os.environ.get('CC', '')}
if self.config.target_platform == Platform.IOS:
if self.config.target_arch in [Architecture.ARM, Architecture.ARMv7]:
self.new_env = {'AS': os.environ.get('GAS', '')}
self.new_env['AS'] += ' -no-integrated-as '
+ elif self.config.target_arch == Architecture.X86:
+ enable_asm = False
+
+ if enable_asm is False:
+ self.configure_options += ' --disable-asm '
def post_install(self):
libtool_la = LibtoolLibrary('x264', 125, None, None, self.config.libdir,