summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2014-09-26 10:35:34 +0200
committerEdward Hervey <bilboed@bilboed.com>2014-09-30 14:23:41 +0200
commit5656c9b353605ba6cdf2045a1a988b3c9f13c7fb (patch)
tree220b702d3b7731f4b521f55d0c5878eb71a1270b
parentf1bcebb3a841577d08286b684ec5fda1e03b09f3 (diff)
WIP toolchaintoolchain
-rw-r--r--recipes/toolchain/gcc-core.recipe13
-rw-r--r--recipes/toolchain/gcc.recipe10
-rw-r--r--recipes/toolchain/mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch26
-rw-r--r--recipes/toolchain/mingw-w64-headers.recipe12
-rw-r--r--recipes/toolchain/mingw-w64.recipe5
-rw-r--r--recipes/toolchain/winpthreads.recipe9
6 files changed, 58 insertions, 17 deletions
diff --git a/recipes/toolchain/gcc-core.recipe b/recipes/toolchain/gcc-core.recipe
index 5ae81988..632beff2 100644
--- a/recipes/toolchain/gcc-core.recipe
+++ b/recipes/toolchain/gcc-core.recipe
@@ -1,10 +1,14 @@
-from cerbero.utils import shell
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+from cerbero.utils import shell
class Recipe(recipe.Recipe):
name = 'gcc-core'
- version = '4.7.3'
+ version = '4.9.1'
+ package_name = 'gcc-%s' % version
licenses = [License.GPLv3]
+ url = 'http://ftp.gnu.org/gnu/gcc/gcc-4.9.1/gcc-4.9.1.tar.bz2'
+ stype = SourceType.TARBALL
configure_options = '--disable-multilib ' \
'--with-sysroot=$CERBERO_PREFIX ' \
'--enable-fully-dynamic-string ' \
@@ -30,13 +34,10 @@ class Recipe(recipe.Recipe):
new_env = {'CPP': None}
def prepare(self):
- self.remotes = {'origin': '%s/%s' %
- (self.config.git_root, 'gcc')}
self.repo_dir = os.path.join(self.config.local_sources, 'gcc')
self.build_dir = os.path.join(self.config.sources, 'gcc-%s' %
self.version)
- self.make_dir = os.path.abspath(os.path.join(self.build_dir,
- self.srcdir))
+ self.download_path = os.path.join(self.repo_dir, self.tarball_name)
if self.config.target_arch == Architecture.X86:
self._target = 'i686-w64-mingw32'
diff --git a/recipes/toolchain/gcc.recipe b/recipes/toolchain/gcc.recipe
index 9a782dd9..8bd98248 100644
--- a/recipes/toolchain/gcc.recipe
+++ b/recipes/toolchain/gcc.recipe
@@ -1,8 +1,10 @@
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
import shutil
class Recipe(recipe.Recipe):
name = 'gcc'
- version = '4.7.3'
+ version = '4.9.1'
licenses = [License.GPLv3]
requires_non_src_build = True
stype = SourceType.CUSTOM
@@ -10,7 +12,7 @@ class Recipe(recipe.Recipe):
make_install = 'make install-strip'
files_bins = ['gcc', 'cpp', 'gcov', 'jcf-dump', 'c++', 'gcj', 'g++',
- 'gcc-4.7.3', 'gfortran']
+ 'gcc-4.9.1', 'gfortran']
files_gcc = ['%(host)s/include/c++',
'%(host)s/bin/c++%(bext)s',
'%(host)s/bin/g++%(bext)s',
@@ -46,8 +48,8 @@ class Recipe(recipe.Recipe):
'%(host)s/lib/libsupc++.la',
'lib/libiberty.a',
]
- files_lib_gcc = ['lib/gcc/%(host)s/4.7.3',
- 'libexec/gcc/%(host)s/4.7.3']
+ files_lib_gcc = ['lib/gcc/%(host)s/4.9.1',
+ 'libexec/gcc/%(host)s/4.9.1']
files_lang = ['gcc', 'cpplib']
def configure(self):
diff --git a/recipes/toolchain/mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch b/recipes/toolchain/mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch
new file mode 100644
index 00000000..e673be5a
--- /dev/null
+++ b/recipes/toolchain/mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch
@@ -0,0 +1,26 @@
+From b6caaf6033d66efebb45271fc1002023ef530f16 Mon Sep 17 00:00:00 2001
+From: Edward Hervey <bilboed@bilboed.com>
+Date: Sat, 27 Sep 2014 09:21:02 +0200
+Subject: [PATCH] winpthreads: Use -XCClinker for -no-pthread
+
+Otherwise libtool just drops it before calling CC
+---
+ mingw-w64-libraries/winpthreads/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mingw-w64-libraries/winpthreads/Makefile.am b/mingw-w64-libraries/winpthreads/Makefile.am
+index 231c313..162a498 100644
+--- a/mingw-w64-libraries/winpthreads/Makefile.am
++++ b/mingw-w64-libraries/winpthreads/Makefile.am
+@@ -8,7 +8,7 @@ lib_LTLIBRARIES = libwinpthread.la
+
+ include_HEADERS = include/pthread.h include/sched.h include/semaphore.h include/pthread_unistd.h include/pthread_time.h include/pthread_compat.h include/pthread_signal.h
+ libwinpthread_la_CPPFLAGS = -I$(srcdir)/include -DIN_WINPTHREAD -DWINPTHREAD_DBG=1
+-libwinpthread_la_LDFLAGS = -no-undefined -version-info 1:0:0 -L$(builddir)/fakelib -no-pthread
++libwinpthread_la_LDFLAGS = -no-undefined -version-info 1:0:0 -L$(builddir)/fakelib -XCClinker -no-pthread
+ EXTRA_libwinpthread_la_DEPENDENCIES = fakelib/libgcc.a fakelib/libgcc_eh.a fakelib/libgcc_s.a
+ libwinpthread_la_SOURCES = \
+ src/barrier.h src/cond.h src/misc.h src/mutex.h src/rwlock.h src/spinlock.h src/thread.h src/ref.h src/sem.h src/wpth_ver.h \
+--
+2.1.0
+
diff --git a/recipes/toolchain/mingw-w64-headers.recipe b/recipes/toolchain/mingw-w64-headers.recipe
index 965a0376..d11509d8 100644
--- a/recipes/toolchain/mingw-w64-headers.recipe
+++ b/recipes/toolchain/mingw-w64-headers.recipe
@@ -1,18 +1,24 @@
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
class Recipe(recipe.Recipe):
name = 'mingw-w64-headers'
- version = 'v2.0.8'
+ version = 'v3.2.0'
+ package_name = 'mingw-w64-%s' % version
licenses = [License.LGPL]
+ stype = SourceType.TARBALL
+ url = 'http://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v3.2.0.tar.bz2'
+ patches = ['mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch']
srcdir = 'mingw-w64-headers'
add_host_build_target = False
+ configure_tpl = "%(config-sh)s %(options)s"
def prepare(self):
- self.remotes = {'origin': '%s/%s' %
- (self.config.git_root, 'mingw-w64')}
if self.config.target_arch == Architecture.X86:
self.host = 'i686-w64-mingw32'
else:
self.host = 'x86_64-w64-mingw32'
self.configure_options += ' --host=%s' % self.host
+ self.configure_options += ' --prefix=%s' % os.path.join(self.config.prefix, self.host)
files = ['%s/include/%s' % (self.host, x) for x in self.files_headers]
files.extend(['%s/include/%s' % ('mingw', x) for x in self.files_headers])
self.files_headers = files
diff --git a/recipes/toolchain/mingw-w64.recipe b/recipes/toolchain/mingw-w64.recipe
index 6298f089..a541d18f 100644
--- a/recipes/toolchain/mingw-w64.recipe
+++ b/recipes/toolchain/mingw-w64.recipe
@@ -1,9 +1,11 @@
class Recipe(recipe.Recipe):
name = 'mingw-w64'
- version = 'v2.0.8'
+ version = 'v3.2.0'
licenses = [License.LGPL]
+ stype = SourceType.CUSTOM
configure_options = '--without-headers '\
'--with-sysroot=$CERBERO_PREFIX '
+ configure_tpl = "%(config-sh)s %(options)s"
add_host_build_target = False
deps = ['mingw-w64-headers', 'binutils', 'gcc-core']
@@ -14,6 +16,7 @@ class Recipe(recipe.Recipe):
else:
host = 'x86_64-w64-mingw32'
self.configure_options += ' --disable-lib32 '
+ self.configure_options += ' --prefix=%s' % os.path.join(self.config.prefix, host)
self.configure_options += ' --host=%s' % host
files = ['%s/lib/%s' % (host, x) for x in self.files_crt]
files.extend(['%s/lib/%s' % ('mingw', x) for x in self.files_crt])
diff --git a/recipes/toolchain/winpthreads.recipe b/recipes/toolchain/winpthreads.recipe
index 74226262..f65aa4d6 100644
--- a/recipes/toolchain/winpthreads.recipe
+++ b/recipes/toolchain/winpthreads.recipe
@@ -1,7 +1,11 @@
+# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python
+
class Recipe(recipe.Recipe):
name = 'winpthreads'
- version = 'v2.0.8'
+ version = 'v3.2.0'
+ package_name = 'mingw-w64-%s' % version
licenses = [License.LGPL]
+ stype = SourceType.CUSTOM
srcdir = 'mingw-w64-libraries/winpthreads'
configure_options = '--enable-shared --enable-static '
add_host_build_target = False
@@ -26,8 +30,7 @@ class Recipe(recipe.Recipe):
def prepare(self):
self.repo_dir = os.path.join(self.config.local_sources, 'mingw-w64')
- self.remotes = {'origin': '%s/%s' %
- (self.config.git_root, 'mingw-w64')}
+ self.make_dir = os.path.join(self.build_dir, self.srcdir)
if self.config.target_arch == Architecture.X86:
host = 'i686-w64-mingw32'
else: