changeset 5488:5aa5e6bc48ca

cross::binutils: cleanup and bump to 2.19.1.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 20 Aug 2009 14:42:07 +0200
parents f30fb9756b2c
children e93696c40ef0
files gub/specs/cross/binutils.py
diffstat 1 files changed, 19 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/gub/specs/cross/binutils.py	Thu Aug 20 14:41:52 2009 +0200
+++ b/gub/specs/cross/binutils.py	Thu Aug 20 14:42:07 2009 +0200
@@ -1,56 +1,37 @@
 from gub import build
 from gub import cross
+from gub.specs import binutils
 
 class Binutils (cross.AutoBuild):
-    source = 'ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.18.tar.gz'
-    patches = ['binutils-2.18-makeinfo-version.patch', 'binutils-2.18-werror.patch' ]
+    source = 'http://ftp.gnu.org/pub/gnu/binutils/binutils-2.19.1.tar.gz'
+    patches = []
     def _get_build_dependencies (self):
-        return ['tools::texinfo']
-    def xconfigure_command (self):
-        # --werror is broken
+        return [
+            ]
+    def configure_command (self):
         return (cross.AutoBuild.configure_command (self)
-                + misc.join_lines ('''
---disable-werror
-'''))
+                + ' --disable-werror'
+                )
     def makeflags (self):
-        ##return 'toolexeclibdir=%(system_prefix)s/lib'
-        ##binutils' makefile uses:
-        ## MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory`
-        ## which differs on each system.
-        ## so we MUST set it.
+        # binutils' makefile uses:
+        #     MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory`
+        # which differs on each system.  Setting it avoids inconsistencies.
         return 'MULTIOSDIR=../../lib'
-    def install_librestrict_stat_helpers (self):
-        # librestrict stats PATH to find gnm and gstrip
-        self.system ('''
-cd %(install_prefix)s%(cross_dir)s/bin && ln %(toolchain_prefix)sas %(toolchain_prefix)sgas
-cd %(install_prefix)s%(cross_dir)s/bin && ln %(toolchain_prefix)snm %(toolchain_prefix)sgnm
-cd %(install_prefix)s%(cross_dir)s/bin && ln %(toolchain_prefix)sstrip %(toolchain_prefix)sgstrip
-cd %(install_prefix)s%(cross_dir)s/%(target_architecture)s/bin && ln as gas
-cd %(install_prefix)s%(cross_dir)s/%(target_architecture)s/bin && ln nm gnm
-cd %(install_prefix)s%(cross_dir)s/%(target_architecture)s/bin && ln strip gstrip
-''')
     def install (self):
         cross.AutoBuild.install (self)
-        self.install_librestrict_stat_helpers ()
-        '''
-        On some systems [Fedora9], libiberty.a is provided by binutils
-        *and* by gcc
-
-        http://lists.gnu.org/archive/html/lilypond-devel/2008-11/msg00163.html
-        http://lists.gnu.org/archive/html/lilypond-devel/2009-02/msg00118.html
-        
-        Not all systems make binutils compile libiberty.a, so we
-        optionally remove it.
-        '''
-        self.system ('rm -f %(install_prefix)s%(cross_dir)s/lib/libiberty.a')
-        self.system ('rm -f %(install_prefix)s%(cross_dir)s/lib64/libiberty.a')
+        binutils.install_librestrict_stat_helpers (self)
+        binutils.remove_fedora9_untwanted_but_mysteriously_built_libiberies (self)
 
 class Binutils__linux__ppc (Binutils):
-    patches = Binutils.patches + ['binutils-2.18-werror-ppc.patch']
+    patches = Binutils.patches + [
+        'binutils-2.18-werror-ppc.patch'
+        ]
 
 class Binutils__mingw (Binutils):
     def _get_build_dependencies (self):
-        return Binutils._get_build_dependencies (self) + ['tools::libtool']
+        return Binutils._get_build_dependencies (self) + [
+            'tools::libtool',
+            ]
     def configure (self):
         Binutils.configure (self)
         # Configure all subpackages, makes