Fix gcc + binutils compilation. (#9024)

* fix binutils deptype for gcc

binutils needs to be a run dependency of gcc

* Fix gcc+binutils build on RHEL7+

static-libstdc++ is not available with system gcc.
Anyway, as it is for bootstraping, we do not really care depending on
a shared libstdc++.

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
This commit is contained in:
cedricchevalier19 2020-07-06 20:02:35 +02:00 committed by Gregory Becker
parent 476961782d
commit 750ca36a8d

View File

@ -103,7 +103,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
depends_on('zlib', when='@6:') depends_on('zlib', when='@6:')
depends_on('libiconv', when='platform=darwin') depends_on('libiconv', when='platform=darwin')
depends_on('gnat', when='languages=ada') depends_on('gnat', when='languages=ada')
depends_on('binutils~libiberty', when='+binutils') depends_on('binutils~libiberty', when='+binutils', type=('build', 'link', 'run'))
depends_on('zip', type='build', when='languages=java') depends_on('zip', type='build', when='languages=java')
depends_on('cuda', when='+nvptx') depends_on('cuda', when='+nvptx')
@ -341,8 +341,6 @@ def configure_args(self):
# enable appropriate bootstrapping flags # enable appropriate bootstrapping flags
stage1_ldflags = str(self.rpath_args) stage1_ldflags = str(self.rpath_args)
boot_ldflags = stage1_ldflags + ' -static-libstdc++ -static-libgcc' boot_ldflags = stage1_ldflags + ' -static-libstdc++ -static-libgcc'
if '%gcc' in spec:
stage1_ldflags = boot_ldflags
options.append('--with-stage1-ldflags=' + stage1_ldflags) options.append('--with-stage1-ldflags=' + stage1_ldflags)
options.append('--with-boot-ldflags=' + boot_ldflags) options.append('--with-boot-ldflags=' + boot_ldflags)