summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2013-07-23 08:53:28 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-23 08:53:28 +0200
commite2a52bf1bef27823ec0dc2c22eb7e160f76804cf (patch)
tree770c6500dbf1b890de0cd1d6c3a966df45bf16f9
parentad807656ecf9bb66cae7ac8de0391561004cbaba (diff)
parent59d03ca9c94a7ec445899414399cb297e8a054ce (diff)
Merge remote-tracking branch 'origin/master' into upstream-1.0
-rw-r--r--cerbero/bootstrap/build_tools.py2
-rw-r--r--cerbero/config.py3
-rw-r--r--cerbero/packages/osx/packager.py20
-rw-r--r--recipes/x264.recipe6
4 files changed, 23 insertions, 8 deletions
diff --git a/cerbero/bootstrap/build_tools.py b/cerbero/bootstrap/build_tools.py
index f797885..24e4ffa 100644
--- a/cerbero/bootstrap/build_tools.py
+++ b/cerbero/bootstrap/build_tools.py
@@ -56,6 +56,7 @@ class BuildTools (BootstraperBase):
not self.config.prefix_is_executable():
# For glib-mkenums and glib-genmarshal
self.BUILD_TOOLS.append('glib-tools')
+ self.BUILD_TOOLS += self.config.extra_build_tools
def start(self):
# Use a common prefix for the build tools for all the configurations
@@ -70,6 +71,7 @@ class BuildTools (BootstraperBase):
config.build_tools_sources = self.config.build_tools_sources
config.cache_file = self.config.build_tools_cache
config.build_tools_cache = self.config.build_tools_cache
+ config.external_recipes = self.config.external_recipes
if not os.path.exists(config.prefix):
os.makedirs(config.prefix)
diff --git a/cerbero/config.py b/cerbero/config.py
index 5698215..04aa93c 100644
--- a/cerbero/config.py
+++ b/cerbero/config.py
@@ -79,7 +79,7 @@ class Config (object):
'universal_archs', 'osx_target_sdk_version', 'variants',
'build_tools_prefix', 'build_tools_sources',
'build_tools_cache', 'home_dir', 'recipes_commits',
- 'ios_platform']
+ 'ios_platform', 'extra_build_tools']
def __init__(self):
self._check_uninstalled()
@@ -288,6 +288,7 @@ class Config (object):
self.set_property('build_tools_sources', None)
self.set_property('build_tools_cache', None)
self.set_property('recipes_commits', {})
+ self.set_property('extra_build_tools', {})
def set_property(self, name, value, force=False):
if name not in self._properties:
diff --git a/cerbero/packages/osx/packager.py b/cerbero/packages/osx/packager.py
index cabb5aa..e0cef58 100644
--- a/cerbero/packages/osx/packager.py
+++ b/cerbero/packages/osx/packager.py
@@ -26,7 +26,7 @@ from cerbero.ide.xcode.fwlib import StaticFrameworkLibrary
from cerbero.errors import EmptyPackageError, FatalError
from cerbero.packages import PackagerBase, PackageType
from cerbero.packages.package import Package, MetaPackage, App,\
- PackageBase
+ PackageBase, SDKPackage
from cerbero.packages.osx.distribution import DistributionXML
from cerbero.packages.osx.bundles import FrameworkBundlePackager,\
ApplicationBundlePackager
@@ -462,13 +462,20 @@ class IOSPackage(ProductPackage, FrameworkHeadersMixin):
self.package.packages = []
self.fw_path = self.tmp
self._create_framework_bundle_package(packager)
+ self.fw_path = os.path.join(self.tmp, '%s.framework' % framework_name)
+
+ if isinstance(self.package, SDKPackage):
+ pkg_path = [self._create_product(PackageType.DEVEL)]
+ if self.package.user_resources:
+ pkg_path = self._create_dmg (pkg_path,
+ pkg_path.replace('.pkg', '.dmg'))
+ else:
+ pkg_path = self._create_dmg (self.fw_path,
+ os.path.join(output_dir, self._package_name('.dmg')))
- paths = [self._create_product(PackageType.DEVEL)]
- if self.package.user_resources:
- paths = [self._create_dmg (paths[0])]
if not keep_temp:
shutil.rmtree(self.tmp)
- return paths
+ return [pkg_path]
def _copy_files (self, files, root):
for f in files:
@@ -518,8 +525,7 @@ class IOSPackage(ProductPackage, FrameworkHeadersMixin):
return '%s-%s-%s-%s%s' % (self.package.name, self.package.version,
self.config.target_platform, self.config.target_arch, suffix)
- def _create_dmg(self, pkg_path):
- dmg_file = pkg_path.replace('.pkg', '.dmg')
+ def _create_dmg(self, pkg_path, dmg_file):
# Create a new folder with the pkg and the user resources
dmg_dir = os.path.join(self.tmp, 'dmg')
os.makedirs(dmg_dir)
diff --git a/recipes/x264.recipe b/recipes/x264.recipe
index a9973d4..79e2f5f 100644
--- a/recipes/x264.recipe
+++ b/recipes/x264.recipe
@@ -1,4 +1,5 @@
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+from cerbero.tools.libtool import LibtoolLibrary
class Recipe(recipe.Recipe):
@@ -32,3 +33,8 @@ class Recipe(recipe.Recipe):
self.configure_options += ' --disable-asm'
if self.config.target_arch in [Architecture.ARM, Architecture.ARMv7]:
self.new_env = {'AS': os.environ.get('GAS', '')}
+
+ def post_install(self):
+ libtool_la = LibtoolLibrary('x264', 125, None, None, self.config.libdir,
+ self.config.target_platform)
+ libtool_la.save()