Mercurial > gub
view gub/specs/cross/binutils.py @ 6186:50b17646c488
cross/binutils: For Fedora 17, remove libiberty too. Fixes build.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Sat, 25 Aug 2012 17:21:06 +0200 |
parents | 3ba7afee45b6 |
children | 0146243c7915 2e44d8df9406 |
line wrap: on
line source
from gub import build from gub import cross from gub import misc from gub.specs import binutils class Binutils (cross.AutoBuild): source = 'http://ftp.gnu.org/pub/gnu/binutils/binutils-2.19.1.tar.bz2' patches = [] dependencies = [ 'tools::zlib', ] # Block usage of libz.so during configure, which may not be # available in the library path. config_cache_overrides = cross.AutoBuild.config_cache_overrides + ''' ac_cv_search_zlibVersion= ''' configure_flags = (cross.AutoBuild.configure_flags + ' --disable-werror' + ' --cache-file=%(builddir)s/config.cache' ) configure_variables = (cross.AutoBuild.configure_variables + misc.join_lines (''' LDFLAGS='-L%(tools_prefix)s/lib %(rpath)s %(libs)s' ''')) #CC='gcc -L%(tools_prefix)s/lib %(rpath)s %(libs)s' #LD_LIBRARY_PATH=%(tools_prefix)s/lib # binutils' makefile uses: # MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory` # which differs on each system. Setting it avoids inconsistencies. make_flags = misc.join_lines (''' MULTIOSDIR=../../lib ''') #CCLD='$(CC) -L%(tools_prefix)s/lib %(rpath)s' def install (self): cross.AutoBuild.install (self) binutils.install_missing_plain_binaries (self) binutils.install_librestrict_stat_helpers (self) binutils.remove_fedora9_untwanted_but_mysteriously_built_libiberies (self) remove_fedora17_untwanted_but_mysteriously_built_libiberies (self) def remove_fedora17_untwanted_but_mysteriously_built_libiberies (self): 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') class Binutils__linux__ppc (Binutils): patches = Binutils.patches + [ 'binutils-2.18-werror-ppc.patch' ] class Binutils__mingw (Binutils): dependencies = Binutils.dependencies + [ 'tools::libtool', ] def configure (self): Binutils.configure (self) # Configure all subpackages, makes # w32.libtool_fix_allow_undefined to find all libtool files self.system ('cd %(builddir)s && make %(compile_flags)s configure-host configure-target') # Must ONLY do target stuff, otherwise cross executables cannot find their libraries # self.map_locate (lambda logger,file: build.libtool_update (logger, self.expand ('%(tools_prefix)s/bin/libtool'), file), '%(builddir)s', 'libtool') self.map_locate (lambda logger, file: build.libtool_update (logger, self.expand ('%(tools_prefix)s/bin/libtool'), file), '%(builddir)s/libiberty', 'libtool')