diff options
-rw-r--r-- | config/android.config | 5 | ||||
-rw-r--r-- | recipes/gstreamer.recipe | 5 | ||||
-rw-r--r-- | recipes/pixman.recipe | 21 |
3 files changed, 29 insertions, 2 deletions
diff --git a/config/android.config b/config/android.config index cff518fe..8bb2421b 100644 --- a/config/android.config +++ b/config/android.config @@ -36,7 +36,7 @@ ccache = use_ccache and 'ccache ' or '' # Toolchain environment os.environ['CPPFLAGS'] = "--sysroot=%s -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -DANDROID -DPIC -I%s/usr/include" % (sysroot, sysroot) os.environ['CFLAGS'] += "--sysroot=%s -fPIC -DPIC -ffunction-sections -funwind-tables -fstack-protector -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -march=armv5te -mtune=xscale -msoft-float -mthumb -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -I%s/usr/include" % (sysroot, sysroot) -os.environ['LDFLAGS'] = "--sysroot=%s -fPIC -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--gc-sections -Wl,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -L%s/usr/lib %s" % (sysroot, sysroot, os.environ.get('LDFLAGS', '')) +os.environ['LDFLAGS'] = "--sysroot=%s -fPIC -Wl,--no-undefined -Wl,--allow-shlib-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--gc-sections -Wl,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -L%s/usr/lib %s" % (sysroot, sysroot, os.environ.get('LDFLAGS', '')) os.environ['CXXFLAGS']=os.environ['CFLAGS'] def cmd(command): @@ -62,3 +62,6 @@ os.environ['ac_cv_func_posix_getpwuid_r'] = 'no' os.environ['ac_cv_func_nonposix_getpwuid_r'] = 'no' os.environ['ac_cv_func_posix_getgrgid_r'] = 'no' os.environ['ac_cv_func_nonposix_getgrgid_r'] = 'no' + +# For pixman +os.environ['ac_cv_tls'] = 'none' diff --git a/recipes/gstreamer.recipe b/recipes/gstreamer.recipe index b4c04184..22ac7ce4 100644 --- a/recipes/gstreamer.recipe +++ b/recipes/gstreamer.recipe @@ -46,5 +46,8 @@ class Recipe(recipe.Recipe): files_lang = ['gstreamer-0.10'] def prepare(self): - if self.config.target_platform in [Platform.WINDOWS, Platform.DARWIN]: + if self.config.target_platform in [Platform.WINDOWS, Platform.DARWIN, Platform.ANDROID]: self.configure_options += ' --disable-gtk-doc' + + if self.config.target_platform == Platform.ANDROID: + self.make = '%s libcheckinternal_la_LIBADD=""' % self.make diff --git a/recipes/pixman.recipe b/recipes/pixman.recipe index 5e5ce98c..aea652db 100644 --- a/recipes/pixman.recipe +++ b/recipes/pixman.recipe @@ -1,10 +1,31 @@ # -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python +from cerbero.utils import messages as m +import shutil class Recipe(recipe.Recipe): name = 'pixman' version = '0.26.2' licenses = [License.MIT] + autoreconf = True files_libs = ['libpixman-1'] files_devel = ['include/pixman-1', 'lib/pkgconfig/pixman-1.pc'] + + def prepare(self): + if self.config.target_platform == Platform.ANDROID: + # FIXME: Fails to link because of undefined __builtin_* symbols + self.configure_options = '--disable-arm-iwmmxt' + + def configure(self): + if self.config.target_platform == Platform.ANDROID: + cpufeatures_path = os.path.join(self.config.toolchain_prefix, 'sources', 'android', 'cpufeatures') + o = os.path.join(cpufeatures_path, 'cpu-features.h') + f = os.path.join(self.make_dir, 'pixman') + m.action("copying %s to %s" % (o, f)) + shutil.copy(o, f) + o = os.path.join(cpufeatures_path, 'cpu-features.c') + f = os.path.join(self.make_dir, 'pixman') + m.action("copying %s to %s" % (o, f)) + shutil.copy(o, f) + super(recipe.Recipe, self).configure() |