From 1fe987949f22f98e9f628f2958ac493fc4246409 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Mar 2017 14:56:22 -0500 Subject: Clean up the gcc package (#3511) * Clean up the gcc package * Add preliminary testing support * Older versions of GCC do not depend on MPC * DejaGnu 1.4.4 cannot be built in parallel * Fix GCC test dir * Add two more deps required to run the testsuite --- .../repos/builtin/packages/dejagnu/package.py | 4 ++ var/spack/repos/builtin/packages/gcc/package.py | 48 +++++++++++++--------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/var/spack/repos/builtin/packages/dejagnu/package.py b/var/spack/repos/builtin/packages/dejagnu/package.py index 4c83de7b67..0ea4aa260a 100644 --- a/var/spack/repos/builtin/packages/dejagnu/package.py +++ b/var/spack/repos/builtin/packages/dejagnu/package.py @@ -37,3 +37,7 @@ class Dejagnu(AutotoolsPackage): depends_on('expect') depends_on('tcl@8.5:') + + # DejaGnu 1.4.4 cannot be built in parallel + # `make check` also fails but this can be ignored + parallel = False diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index a9fed4d8dd..1fddb77299 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -59,9 +59,6 @@ class Gcc(AutotoolsPackage): variant('binutils', default=sys.platform != 'darwin', description="Build via binutils") - variant('gold', - default=sys.platform != 'darwin', - description="Build the gold linker plugin for ld-based LTO") variant('piclibs', default=False, description="Build PIC versions of libgfortran.a and libstdc++.a") @@ -70,12 +67,20 @@ class Gcc(AutotoolsPackage): depends_on("gmp") depends_on("mpc", when='@4.5:') depends_on("isl", when='@5.0:') - depends_on("binutils~libiberty", when='+binutils ~gold') - depends_on("binutils~libiberty+gold", when='+binutils +gold') + depends_on("binutils~libiberty", when='+binutils') # TODO: integrate these libraries. # depends_on("ppl") # depends_on("cloog") + + # TODO: Add a 'test' deptype + # https://github.com/LLNL/spack/issues/1279 + # depends_on('dejagnu@1.4.4', type='test') + # depends_on('expect', type='test') + # depends_on('tcl', type='test') + # depends_on('autogen@5.5.4:', type='test') + # depends_on('guile@1.4.1:', type='test') + if sys.platform == 'darwin': patch('darwin/gcc-4.9.patch1', when='@4.9.3') patch('darwin/gcc-4.9.patch2', when='@4.9.3') @@ -88,9 +93,6 @@ class Gcc(AutotoolsPackage): def configure_args(self): spec = self.spec prefix = self.spec.prefix - # libjava/configure needs a minor fix to install into spack paths. - filter_file(r"'@.*@'", "'@[[:alnum:]]*@'", 'libjava/configure', - string=True) enabled_languages = set(('c', 'c++', 'fortran', 'java', 'objc')) @@ -112,12 +114,16 @@ class Gcc(AutotoolsPackage): new_header) # Generic options to compile GCC - options = ["--prefix=%s" % prefix, "--libdir=%s/lib64" % prefix, - "--disable-multilib", - "--enable-languages=" + ','.join(enabled_languages), - "--with-mpc=%s" % spec['mpc'].prefix, "--with-mpfr=%s" % - spec['mpfr'].prefix, "--with-gmp=%s" % spec['gmp'].prefix, - "--enable-lto", "--with-quad"] + options = [ + '--libdir={0}'.format(prefix.lib64), + '--disable-multilib', + '--enable-languages={0}'.format(','.join(enabled_languages)), + '--with-mpfr={0}'.format(spec['mpfr'].prefix), + '--with-gmp={0}'.format(spec['gmp'].prefix), + '--enable-lto', + '--with-quad' + ] + # Binutils if spec.satisfies('+binutils'): static_bootstrap_flags = "-static-libstdc++ -static-libgcc" @@ -131,14 +137,18 @@ class Gcc(AutotoolsPackage): "--with-as=%s/bin/as" % spec['binutils'].prefix ] options.extend(binutils_options) - # Isl + + # MPC + if 'mpc' in spec: + options.append('--with-mpc={0}'.format(spec['mpc'].prefix)) + + # ISL if 'isl' in spec: - isl_options = ["--with-isl=%s" % spec['isl'].prefix] - options.extend(isl_options) + options.append('--with-isl={0}'.format(spec['isl'].prefix)) + # macOS if sys.platform == 'darwin': - darwin_options = ["--with-build-config=bootstrap-debug"] - options.extend(darwin_options) + options.append('--with-build-config=bootstrap-debug') return options -- cgit v1.2.3-70-g09d2