spack info : shows the build-system class used

This commit is contained in:
alalazo 2016-10-22 10:39:33 +02:00
parent 482f60d1d3
commit c84123dce5
2 changed files with 17 additions and 2 deletions

View file

@ -48,8 +48,11 @@ def setup_parser(subparser):
def print_text_info(pkg):
"""Print out a plain text description of a package."""
print "Package: ", pkg.name
print "Homepage: ", pkg.homepage
header = "{0}: ".format(pkg.build_system_class)
print header, pkg.name
whitespaces = ''.join([' '] * (len(header) - len("Homepage: ")))
print "Homepage:", whitespaces, pkg.homepage
print
print "Safe versions: "

View file

@ -1674,6 +1674,9 @@ def rpath_args(self):
class Package(PackageBase):
phases = ['install']
# To be used in UI queries that require to know which
# build-system class we are using
build_system_class = 'Package'
# This will be used as a registration decorator in user
# packages, if need be
PackageBase.sanity_check('install')(PackageBase.sanity_check_prefix)
@ -1681,6 +1684,9 @@ class Package(PackageBase):
class EditableMakefile(PackageBase):
phases = ['edit', 'build', 'install']
# To be used in UI queries that require to know which
# build-system class we are using
build_system_class = 'EditableMakefile'
def wdir(self):
return self.stage.source_path
@ -1709,6 +1715,9 @@ def install(self, spec, prefix):
class AutotoolsPackage(PackageBase):
phases = ['autoreconf', 'configure', 'build', 'install']
# To be used in UI queries that require to know which
# build-system class we are using
build_system_class = 'AutotoolsPackage'
def autoreconf(self, spec, prefix):
"""Not needed usually, configure should be already there"""
@ -1750,6 +1759,9 @@ def _run_default_function(self):
class CMakePackage(PackageBase):
phases = ['cmake', 'build', 'install']
# To be used in UI queries that require to know which
# build-system class we are using
build_system_class = 'CMakePackage'
def build_type(self):
return 'RelWithDebInfo'