diff options
author | Edward Hervey <bilboed@bilboed.com> | 2014-09-26 10:35:34 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2014-09-30 14:23:41 +0200 |
commit | 5656c9b353605ba6cdf2045a1a988b3c9f13c7fb (patch) | |
tree | 220b702d3b7731f4b521f55d0c5878eb71a1270b | |
parent | f1bcebb3a841577d08286b684ec5fda1e03b09f3 (diff) |
WIP toolchaintoolchain
-rw-r--r-- | recipes/toolchain/gcc-core.recipe | 13 | ||||
-rw-r--r-- | recipes/toolchain/gcc.recipe | 10 | ||||
-rw-r--r-- | recipes/toolchain/mingw-w64-0001-winpthreads-Use-XCClinker-for-no-pthread.patch | 26 | ||||
-rw-r--r-- | recipes/toolchain/mingw-w64-headers.recipe | 12 | ||||
-rw-r--r-- | recipes/toolchain/mingw-w64.recipe | 5 | ||||
-rw-r--r-- | recipes/toolchain/winpthreads.recipe | 9 |
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: |